คำถามติดแท็ก accuracy

17
มีตัวแก้ปัญหาการเขียนโปรแกรมแบบไม่เชิงเส้นคุณภาพสูงสำหรับ Python หรือไม่?
ฉันมีปัญหาการเพิ่มประสิทธิภาพทั่วโลกที่ไม่ท้าทายเพื่อแก้ปัญหา ปัจจุบันผมใช้กล่องเครื่องมือเพิ่มประสิทธิภาพของ MATLAB (โดยเฉพาะfmincon()กับอัลกอริทึม = 'sqp') ซึ่งมีประสิทธิภาพมาก อย่างไรก็ตามรหัสของฉันส่วนใหญ่อยู่ใน Python และฉันก็ชอบที่จะเพิ่มประสิทธิภาพใน Python ด้วยเช่นกัน มีตัวแก้ NLP ที่มีการผูก Python ที่สามารถแข่งขันได้fmincon()หรือไม่ มันจะต้อง สามารถรับมือกับความไม่เสมอภาคและความไม่เท่าเทียมกันได้ ไม่ต้องการให้ผู้ใช้จัดหายาโคบ ไม่เป็นไรหากไม่รับประกันว่าจะมีประสิทธิภาพระดับโลก ( fmincon()ไม่) fmincon()ฉันกำลังมองหาบางสิ่งบางอย่างที่ทนทานลู่ไปยังท้องถิ่นที่เหมาะสมแม้สำหรับความท้าทายปัญหาและแม้ว่ามันจะช้ากว่าเล็กน้อย ฉันได้พยายามแก้หลายที่ให้บริการผ่าน OpenOpt และพบว่าพวกเขาจะด้อยกว่าของ fmincon/sqpMATLAB เพียงเพื่อเน้นฉันมีสูตรเวิ้งว้างและแก้ปัญหาที่ดี เป้าหมายของฉันคือการเปลี่ยนภาษาเพื่อให้เวิร์กโฟลว์มีความคล่องตัวมากขึ้น เจฟฟ์ชี้ให้เห็นว่าคุณลักษณะบางอย่างของปัญหาอาจเกี่ยวข้องกัน พวกเขาคือ: 10-400 ตัวแปรการตัดสินใจ 4-100 ข้อ จำกัด ความเท่าเทียมกันของพหุนาม (ดีกรีพหุนามมีช่วงตั้งแต่ 1 ถึงประมาณ 8) จำนวนข้อ จำกัด ของความไม่เท่าเทียมกันที่มีเหตุผลเท่ากับจำนวนตัวแปรการตัดสินใจประมาณสองเท่า ฟังก์ชั่นวัตถุประสงค์เป็นหนึ่งในตัวแปรการตัดสินใจ ชาวจาโคเบียนแห่งข้อ จำกัด ความเท่าเทียมมีความหนาแน่นสูงเช่นเดียวกับชาวจาโคเบียนแห่งข้อ จำกัด …

5
มีซอฟต์แวร์ที่สามารถสร้างรูทีนจุด C ที่แม่นยำและเป็นตัวเลขโดยอัตโนมัติจากสูตรสัญลักษณ์หรือไม่?
ได้รับฟังก์ชั่นจริงของตัวแปรจริงมีซอฟต์แวร์ที่สามารถสร้างโค้ดที่มีความแม่นยำเชิงตัวเลขเพื่อคำนวณฟังก์ชั่นของอินพุตทั้งหมดบนเครื่องที่มีการคำนวณทางคณิตศาสตร์ IEEE 754 หรือไม่? ตัวอย่างเช่นถ้าฟังก์ชันจริงที่ต้องประเมินคือ: ซอฟต์แวร์จะพิจารณาการยกเลิกอย่างรุนแรงและอาจค้นหาตารางผลลัพธ์สำหรับชุดอินพุตบางชุดเพื่อหลีกเลี่ยงการสูญเสียความแม่นยำในการคำนวณ อีกทางหนึ่งมีซอฟต์แวร์ที่สามารถสร้างรูทีนการค้นหาตามตารางที่บริสุทธิ์เพื่อคำนวณฟังก์ชันที่กำหนดให้มีความแม่นยำสูงหรือไม่?

4
วิธีการสั่งซื้อขั้นสูงมีประโยชน์เมื่อใดสำหรับการจำลองพลศาสตร์ของไหลเชิงคำนวณ
วิธีการเชิงตัวเลขจำนวนมากสำหรับ CFD สามารถขยายไปยังลำดับที่สูงได้ตามอำเภอใจ (ตัวอย่างเช่นวิธี Galerkin ที่ไม่ต่อเนื่อง, วิธี WENO, ความแตกต่างของสเปกตรัม ฯลฯ ) ฉันจะเลือกลำดับความถูกต้องที่เหมาะสมสำหรับปัญหาที่กำหนดได้อย่างไร

2
ตัวอย่างที่ใช้ได้จริงว่าทำไมมันไม่ดีที่จะกลับเมทริกซ์
ฉันทราบเกี่ยวกับการแปลงเมทริกซ์เพื่อแก้ปัญหาระบบเชิงเส้นไม่ใช่ความคิดที่ดีเนื่องจากมันไม่ถูกต้องและมีประสิทธิภาพเท่ากับการแก้ไขระบบโดยตรงหรือใช้การสลาย LU, Cholesky หรือ QR อย่างไรก็ตามฉันไม่สามารถตรวจสอบสิ่งนี้ด้วยตัวอย่างที่ใช้งานได้จริง ฉันได้ลองใช้รหัสนี้ (ใน MATLAB) M = 500; A = rand(M,M); A = real(expm(1i*(A+A.'))); b = rand(M,1); x1 = A\b; x2 = inv(A)*b; disp(norm(b-A*x1)) disp(norm(b-A*x2)) และค่าคงที่จะเป็นแบบเดียวกันเสมอ (10 ^ -13) มีคนให้ตัวอย่างที่เป็นประโยชน์ซึ่ง inv (A) * b ไม่ถูกต้องน้อยกว่า A \ b หรือไม่ ------ อัปเดตคำถาม ------ ขอบคุณสำหรับคำตอบ อย่างไรก็ตามสมมติว่าเราต้องแก้คูณnnnระบบAx=bAx=bAx = bโดยที่AAAมักเป็นเมทริกซ์เดียวกันเสมอ …

1
มีวิธีที่ปรับปรุงใหม่ในการคำนวณ
ห้องสมุดคณิตศาสตร์ส่วนใหญ่มีฟังก์ชันลอการิทึมหลายรุ่น เวลาส่วนใหญ่เราถือว่าพวกเขาสมบูรณ์แบบ แต่จริงๆแล้วพวกเขาค่อนข้างมากแค่เสนอตัวเลขที่แน่นอน สำหรับบางฟังก์ชั่นจะมีตัวแปรที่มีความเสถียรมากกว่า ยกตัวอย่างเช่น Fortran, R, Java และ C ทั้งสองมีMath.log1pสำหรับคอมพิวเตอร์log(1.0+x)(ซึ่งข้อเสนอที่มีความแม่นยำที่สูงขึ้นสำหรับค่าเล็ก ๆ ของ x) expm1และคู่ ที่นี่ปัญหาตัวเลขเกิดขึ้นจากการสูญเสียความแม่นยำ - หากxมีขนาดเล็กจริง ๆ1.0 + xสูญเสียตัวเลขเพื่อรักษา 1 ที่จุดเริ่มต้น ฉันได้เห็นฟังก์ชั่นดังกล่าวเพื่อเพิ่มความแม่นยำในหลายสถานการณ์ สิ่งนี้ดูเหมือนจะค่อนข้างบ่อยเมื่อใดก็ตามที่คุณใช้งานฟังก์ชั่นการกระจาย (Gamma, Beta, Poisson ฯลฯ ) ด้วยความแม่นยำตัวเลขสูง logGammaยกตัวอย่างเช่นฟังก์ชันแกมมาดูเหมือนว่าจะใช้เวลาส่วนใหญ่ใช้เป็น โดยทั่วไปการไปที่ "logspace" สามารถปรับปรุงความแม่นยำได้อย่างมากดังนั้น R น่าจะมีสถานะ "logspace" ในฟังก์ชั่นส่วนใหญ่ อีกตัวอย่างหนึ่งใน R มีอยู่log1mexpสำหรับlog(1 - exp(p)): http://cran.r-project.org/web/packages/Rmpfr/vignettes/log1mexp-note.pdf ฉันเล่นกับมาตรการเอนโทรปีและข้อมูลทางทฤษฎี ศัพท์ที่พบบ่อยมากมี p * -log(p) …

2
คุณจะปรับปรุงความแม่นยำของวิธีผลต่างอันตะ จำกัด สำหรับการค้นหาระบบอีเจนเนติกของ ODE เชิงเส้นเอกพจน์
ฉันพยายามที่จะแก้สมการของประเภท: ( - ∂2∂x2- ฉ( x ) ) ψ(x)=λψ(x)(−∂2∂x2−f(x))ψ(x)=λψ(x) \left( -\tfrac{\partial^2}{\partial x^2} - f\left(x\right) \right) \psi(x) = \lambda \psi(x) ที่ไหนมีเสาง่ายที่0สำหรับที่เล็กที่สุดNเวกเตอร์ลักษณะเฉพาะ เงื่อนไขขอบเขตคือ: ψ ( 0 ) = 0และψ ( R ) = 0และฉันก็แค่มองไปที่ฟังก์ชั่นในช่วง( 0 , R ]ฉ( x )f(x)f(x)000ยังไม่มีข้อความNNψ ( 0 ) = 0ψ(0)=0\psi(0) = 0ψ(R)=0ψ(R)=0\psi(R)=0(0,R](0,R](0,R] อย่างไรก็ตามถ้าฉันทำวิธีที่แตกต่างกันอย่างง่าย ๆ , เว้นระยะเท่ากัน, ค่าลักษณะเฉพาะที่เล็กที่สุดนั้นไม่ถูกต้องมาก, …

4
การใช้ความแม่นยำสองเท่าอย่างรวดเร็วและแม่นยำของฟังก์ชันแกมมาที่ไม่สมบูรณ์
อะไรคือวิธีที่ทันสมัยในการใช้งานฟังก์ชั่นพิเศษที่มีความแม่นยำสองเท่า ฉันต้องการอินทิกรัลต่อไปนี้: สำหรับและซึ่งสามารถเขียนได้ในรูปของฟังก์ชันแกมม่าที่ไม่สมบูรณ์ต่ำกว่า นี่คือการใช้ Fortran และ C ของฉัน:เมตร=0,1,2, . . t>0Fม.( t ) = ∫10ยู2 มอี- ทียู2dคุณ= γ( m + 12, t )2 ตันm + 12Fm(t)=∫01u2me−tu2du=γ(m+12,t)2tm+12 F_m(t) = \int_0^1 u^{2m} e^{-tu^2} d u = {\gamma(m+{1\over 2}, t)\over 2 t^{m+{1\over 2}}} ม. = 0 , 1 , 2 , . .m=0,1,2,...m=0, …

2
จำเป็นต้องใช้ 8 Gauss สำหรับองค์ประกอบลำดับเลขฐานสิบหกอันดับที่สองหรือไม่?
เป็นไปได้ไหมที่จะได้ความแม่นยำอันดับสองสำหรับองค์ประกอบ hexahedral finite ที่มีคะแนน Gauss น้อยกว่า 8 คะแนนโดยไม่แนะนำโหมด unphysical? จุด Gauss กลางจุดเดียวเปิดตัวโหมดการตัดแบบไม่ต่อเนื่องและการจัดแบบสมมาตรมาตรฐานของ 8 Gauss points นั้นมีราคาแพงเมื่อเปรียบเทียบกับการแยกส่วนแบบ tetrahedral แก้ไข : มีคนถามถึงสมการ สมการที่ฉันสนใจคือความยืดหยุ่นแบบไม่เชิงเส้นไม่ว่าจะเป็นแบบไดนามิกหรือแบบ quasistatic สมการ quasistatic คือ ∇⋅P(∇ϕ)=0∇⋅P(∇ϕ)=0\nabla \cdot P\left(\nabla \phi \right) = 0 ϕ:Ω→R3ϕ:Ω→R3\phi : \Omega \to \mathbf{R}^3Ω⊂R3Ω⊂R3\Omega \subset \mathbf{R}^3P:R3×3→R3×3P:R3×3→R3×3P : \mathbf{R}^{3 \times 3} \to \mathbf{R}^{3 \times 3}P(F)=μ(F−F−T)+λF−TlogdetFP(F)=μ(F−F−T)+λF−Tlog⁡detF P(F) = \mu …

2
การรวมตัวเลขกับการหารที่เป็นไปได้โดย 'ศูนย์'
ฉันกำลังพยายามที่จะรวม ∫10เสื้อ2 n + 2ประสบการณ์(αR0เสื้อ) dเสื้อ∫01t2n+2exp⁡(αr0t)dt\int^1_0 t^{2n+2}\exp\left({\frac{\alpha r_0}{t}}\right)dt ซึ่งเป็นการเปลี่ยนแปลงอย่างง่ายของ ∫∞1x2 nประสบการณ์( - αR0x ) dx∫1∞x2nexp⁡(−αr0x)dx\int^{\infty}_1 x^{2n}\exp(-\alpha r_0 x)dx การใช้ t =1xt=1xt = \frac1{x}เพราะเป็นการยากที่จะประมาณอินทิกรัลที่ไม่เหมาะสมเป็นตัวเลข อย่างไรก็ตามสิ่งนี้นำไปสู่ปัญหาในการประเมินอินทิเกรตใหม่และใกล้ศูนย์ มันจะง่ายมากที่จะได้จำนวนที่เหมาะสมของโหนดการสร้างพื้นที่สี่เหลี่ยมจัตุรัสที่เห็นเนื่องจากช่วงเวลาเป็นเพียงความยาว 1 (ดังนั้นการเปรียบเทียบdเสื้อdtdt สามารถทำให้เล็กมาก) แต่สิ่งที่ควรพิจารณาในการบูรณาการใกล้ศูนย์? ในบางระดับฉันคิดว่ามันง่าย ∫1εเสื้อ2 n + 2ประสบการณ์(αR0เสื้อ) dเสื้อ∫ϵ1t2n+2exp⁡(αr0t)dt\int^1_\epsilon t^{2n+2}\exp({\frac{\alpha r_0} {t}})dt เป็นความคิดที่ดีที่ εϵ\epsilonมีจำนวนน้อย อย่างไรก็ตามฉันควรเลือกหมายเลขใด มันควรเป็น epsilon หรือไม่? การหารด้วยเครื่อง epsilon เป็นจำนวนเชิงปริมาณที่ดีหรือไม่? นอกจากนี้หากการแบ่งเครื่องของฉัน epsilon (หรือใกล้เคียง) …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.