คำถามติดแท็ก numerical-analysis

การสร้างและวิเคราะห์อัลกอริธึมเพื่อคำนวณวิธีแก้ปัญหาแบบไม่ต่อเนื่องโดยประมาณของปัญหาต่อเนื่อง ตัวอย่างที่ยอมรับได้คือการประมาณของอนุพันธ์ผ่านผลต่างของผลหาร

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

3
สถานะของศิลปะในวิธีการ ODE แบบขนานคืออะไร
ฉันกำลังค้นหาวิธีการแบบขนานสำหรับการรวม ODE มีวรรณกรรมทั้งเก่าและใหม่มากมายที่อธิบายถึงแนวทางที่หลากหลาย แต่ฉันไม่พบบทความสำรวจหรือภาพรวมล่าสุดที่อธิบายหัวข้อโดยทั่วไป มีหนังสือของ Burrage [1] แต่เกือบ 20 ปีแล้วดังนั้นจึงไม่ครอบคลุมความคิดที่ทันสมัยกว่าเช่นอัลกอริทึมการเปรียบเทียบ [1] K. Burrage, วิธีขนานและลำดับสำหรับสมการเชิงอนุพันธ์สามัญ, Clarendon Press, Oxford, 1995

3
อะไรคือสิ่งที่ล้ำสมัยที่สุดในการคำนวณแบบอินทิกรัลแบบผันผวนสูง?
อะไรคือสิ่งที่ล้ำสมัยในการประมาณอินทิกรัลของการแกว่งสูงทั้งในมิติเดียวและมิติที่สูงกว่าเพื่อความแม่นยำตามอำเภอใจ?

3
ระยะทางแบบยุคลิดใน Octave
ฉันอยากรู้ว่ามีวิธีที่รวดเร็วในการคำนวณระยะทางแบบยุคลิดของเวกเตอร์สองตัวใน Octave หรือไม่ ดูเหมือนว่าไม่มีฟังก์ชั่นพิเศษสำหรับสิ่งนั้นดังนั้นฉันควรใช้สูตรด้วยsqrtหรือไม่

1
การประเมินข้อผิดพลาด 'a priori' และ 'posteriori' แตกต่างกันอย่างไรในการวิเคราะห์เชิงตัวเลข
ฉันได้เรียนรู้เกี่ยวกับวิธีไฟไนต์เอลิเมนต์ (เช่นเดียวกับวิธีการเชิงตัวเลขอื่น ๆ เล็กน้อย) แต่ฉันไม่รู้ว่าคำจำกัดความของข้อผิดพลาดและความแตกต่างระหว่างสองข้อนี้เป็นอย่างไร

1
คุณจะแก้จุดบกพร่องรหัสตัวเลขสิ่งที่อาจเป็นแหล่งที่มาของข้อผิดพลาดการแกว่งนี้
ความเงียบสงบของความเข้าใจอย่างลึกซึ้งจะได้รับประสบการณ์ในแบบฟอร์มฉันแค่สงสัยว่าถ้าใครเคยเห็นบางสิ่งบางอย่างที่คล้ายกันนี้มาก่อน เนื้อเรื่องแสดงสภาพเริ่มต้น (สีเขียว) สำหรับสมการการแพร่ - การแพร่กระจายแล้วสารละลายที่การวนซ้ำ 200 (สีน้ำเงิน) และอีกครั้งที่การทำซ้ำ 400 (สีแดง) คำตอบของสมการการแพร่ - การแพร่กระจายระเบิดขึ้นหลังจากการทำซ้ำสองสามครั้ง จำนวนPéclet และสภาพ CFL เป็นที่พอใจ, C ≈ 0.0015ดังนั้นสมการควรจะมีเสถียรภาพ ฉันคาดว่าฉันมีข้อผิดพลาดในรหัสตัวเลขμ ≈ 0.07μ≈0.07\mu\approx0.07ค≈ 0.0015ค≈0.0015C\approx 0.0015 พื้นหลัง. discretisation คือความแตกต่างที่สำคัญสำหรับทั้งเงื่อนไข advection และ diffusion ฉันเชื่อว่านี่เป็นคำสั่งแรกของการพาและคำสั่งที่สองสำหรับการแพร่ ฉันใช้สิ่งนี้โดยใช้วิธีไฟไนต์วอลลุ่ม (เป็นครั้งแรก) ซึ่งค่าสัมประสิทธิ์ (สัมประสิทธิ์ความเร็วและการแพร่) ที่เซลล์ใบหน้าพบได้โดยการประมาณค่าเชิงเส้นจากค่าเฉลี่ยของเซลล์ ฉันใช้เงื่อนไขขอบเขตของ Robin กับพื้นผิวซ้ายและขวาและตั้งค่าฟลักซ์ที่ขอบเขตเป็นศูนย์ คุณจะดีบักรหัสตัวเลขอย่างไร มีใครบางคนเคยทำอะไรแบบนี้มาก่อนจะเป็นที่ไหนดีที่จะเริ่มมองหา? ปรับปรุง นี่คือบันทึกย่อสไตล์ "หนังสือห้องปฏิบัติการ" ส่วนตัวของฉันเกี่ยวกับการใช้ระเบียบวิธีไฟไนต์วอลลุ่มสำหรับสมการการแพร่ - การแพร่, http://danieljfarrell.github.io/FVM/ …

1
เงื่อนไขขอบเขตควรใช้อย่างไรเมื่อใช้วิธีไฟไนต์วอลโวลุ่ม?
จากคำถามก่อนหน้านี้ฉันพยายามใช้เงื่อนไขขอบเขตกับตาข่ายปริมาณ จำกัด ที่ไม่สม่ำเสมอนี้ ฉันต้องการใช้เงื่อนไขขอบเขตประเภทโรบินกับ lhs ของโดเมน ( x=xL)x=xL)x=x_L)เช่นนั้น σL=(dux+au)∣∣∣x=xLσL=(dux+au)|x=xL \sigma_L = \left( d u_x + a u \right) \bigg|_{x=x_L} โดยที่เป็นค่าขอบเขต a , dคือสัมประสิทธิ์ที่กำหนดบนขอบเขต, การพาและการแพร่ตามลำดับ; คุณx = ∂ คุณσLσL\sigma_La,da,da, d , คืออนุพันธ์ของu ที่ประเมินที่ขอบเขตและuคือตัวแปรที่เรากำลังแก้ux=∂u∂xux=∂u∂xu_x = \frac{\partial u}{\partial x}uuuuuu แนวทางที่เป็นไปได้ ฉันสามารถนึกถึงสองวิธีในการใช้เงื่อนไขขอบเขตนี้บนตาข่ายปริมาณ จำกัด ข้างต้น: วิธีเซลล์ผี เขียนเป็นความแตกต่างอัน จำกัด รวมถึงเซลล์ผี σ L = d u 1 …

3
การแข่งขันการเขียนโปรแกรมทางวิทยาศาสตร์
ฉันมักจะแข่งขันกันอย่างต่อเนื่องในชื่อ "การแข่งขันการเขียนโปรแกรม" ซึ่งคุณแก้ปัญหาอัลกอริทึมที่ยากกับรหัสของคุณเองและทักษะการแก้ปัญหาในช่วงเวลา จำกัด สำหรับตัวอย่างอ้างอิงของสิ่งที่อาจมีหน้าตาให้ค้นหาการแข่งขันเช่น Google Code Jam หรือ ACM-ICPC (ถ้าคุณรู้ว่าการแข่งขันการเขียนโปรแกรมคืออะไรคุณสามารถข้ามย่อหน้าต่อไปนี้) ในการแข่งขันเหล่านี้คุณสามารถแข่งขันเป็นรายบุคคลหรือเป็นทีมได้ที่ไซต์จริงหรือออนไลน์และเป้าหมายคือการแก้ปัญหาให้ได้มากที่สุดก่อนการแข่งขันจะสิ้นสุดลง ปัญหาแต่ละข้อเกี่ยวข้องกับข้อ จำกัด บางอย่างที่โซลูชันของคุณต้องปฏิบัติตามเช่นเวลาใช้งานหน่วยความจำที่ใช้ ฯลฯ ปัญหานั้นอาจมีตั้งแต่ "วิธีแก้ปัญหาที่ชัดเจน" ถึง "ต้องการความรู้ที่ดี เป้าหมายหลักคือความสนุก แต่บางครั้งความสำเร็จอาจนำไปสู่รางวัลเงินสดเกียรติยศและบางทีแม้กระทั่งการสัมภาษณ์กับนายหน้าของ บริษัท ชั้นนำอย่าง Google (ถ้าคุณข้ามย่อหน้าข้างต้นหยุดข้ามเพราะคำถามของฉันมาที่นี่) ผ่านการแข่งขันการเขียนโปรแกรมฉันสามารถพัฒนาความสนใจของแท้สำหรับอัลกอริทึมวิทยาการคอมพิวเตอร์โดยทั่วไปและความหมายโดยรวมของความหมายเมื่อมันมาถึงการเขียนโปรแกรมและพัฒนาทักษะการแก้ปัญหาของฉัน ฉันต้องการทำเช่นนั้นในการคำนวณทางวิทยาศาสตร์เช่นกัน คำถาม: มีการแข่งขันใด ๆ ในหลอดเลือดดำเดียวกันกับชนิดอัลกอริธึมล้วนๆหรือไม่ แต่เน้นที่การวิเคราะห์เชิงตัวเลขการปรับให้เหมาะสมและอื่น ๆ หรือไม่? ฉันลองใช้ Google แล้ว แต่หาไม่เจอในแวบแรก ... ภาคผนวก:ฉันได้รับคำแนะนำให้ตรวจสอบ Project Euler แต่นั่นไม่ใช่สิ่งที่ฉันกำลังมองหา สิ่งที่ฉันต้องการคือเวทีที่จะฝึกการใช้ตัวเลขที่ "สกปรก" มากกว่าเช่นการสร้างสรรค์ด้วยวิธีการแก้ปัญหาของ pde การแก้ปัญหาการหาค่าเหมาะที่สุดและอื่น ๆ …

1
ทำให้งงพูดเกี่ยวกับภูมิภาคความมั่นคงของวิธี Runge-Kutta ลำดับที่ห้า
ฉันเจอข้อความที่น่าสงสัยในกระดาษ PJ van der Houwen การพัฒนาวิธี Runge-Kutta สำหรับสมการเชิงอนุพันธ์บางส่วน, Appl Num คณิตศาสตร์. 20: 261, 1996 บนบรรทัด 8ff ในหน้า 264, van der Houwen เขียน: "สำหรับพหุนามเทย์เลอร์นี่ก็หมายความว่าช่วงเวลาความมั่นคงในจินตนาการว่างเปล่าสำหรับ "p=1,2,5,6,9,10,⋯p=1,2,5,6,9,10,⋯p = 1, 2, 5, 6, 9, 10, \cdots โดยที่พหุนามเทย์เลอร์อ้างถึงพหุนามความเสถียร (การขยายส่วนปลายของประมาณ ) ของวิธี Runge-Kutta และ p คือลำดับ (ดูหน้า 263) ฉันคิดว่าฉันเข้าใจผิดบางอย่างเพราะวิธี Runge-Kutta ลำดับที่ห้าไม่มีช่วงเวลาของเสถียรภาพในจินตนาการที่ว่างเปล่าเท่าที่ฉันรู้ จากสิ่งที่ฉันจำได้ขีด จำกัด จินตภาพนั้นประมาณ 3.4 หรือมากกว่านั้นexp(x)exp⁡(x)\exp(x)x=0x=0x=0 …

3
การคำนวณที่มีประสิทธิภาพของเมทริกซ์ผกผันสแควร์รูท
ปัญหาที่พบบ่อยในสถิติคือการคำนวณค่าผกผันสแควร์รูทของเมทริกซ์แน่นอนบวกที่เป็นสมมาตร อะไรจะเป็นวิธีที่มีประสิทธิภาพสูงสุดในการคำนวณสิ่งนี้? ฉันเจอวรรณกรรมบางเล่ม (ซึ่งฉันยังไม่ได้อ่าน) และมีรหัส R เล็กน้อยที่นี่ซึ่งฉันจะทำซ้ำที่นี่เพื่อความสะดวก # function to compute the inverse square root of a matrix fnMatSqrtInverse = function(mA) { ei = eigen(mA) d = ei$values d = (d+abs(d))/2 d2 = 1/sqrt(d) d2[d == 0] = 0 return(ei$vectors %*% diag(d2) %*% t(ei$vectors)) } d = (d+abs(d))/2ผมไม่แน่ใจว่าทั้งหมดผมเข้าใจบรรทัด มีวิธีที่มีประสิทธิภาพมากกว่าในการคำนวณเมทริกซ์ผกผันสแควร์รูทหรือไม่? การวิจัยeigenการเรียกฟังก์ชัน …

2
เป็นไปได้ไหมที่จะแก้ปัญหา PDE ที่ไม่ใช่เชิงเส้นโดยไม่ต้องใช้การวนซ้ำของ Newton-Raphson?
ฉันพยายามที่จะเข้าใจผลลัพธ์บางอย่างและจะขอบคุณความคิดเห็นทั่วไปเกี่ยวกับการแก้ปัญหาที่ไม่ใช่เชิงเส้น สมการของฟิชเชอร์ (PDE แบบไม่เชิงเส้นการกระจาย) ยูเสื้อ= dยูx x+ βu ( 1 - u ) = F( u )ยูเสื้อ=dยูxx+βยู(1-ยู)=F(ยู) u_t = du_{xx} + \beta u (1 - u) = F(u) ในรูปแบบ discretised ยู'J= L u + βยูJ( 1 - คุณJ) = F( u )ยูJ'=Lยู+βยูJ(1-ยูJ)=F(ยู) u_j^{\prime} = \boldsymbol{L}\boldsymbol{u} + \beta u_j (1 - …

4
วิธี ODE ที่เหมาะสมที่สุดสำหรับการประเมิน RHS จำนวนคงที่
ในทางปฏิบัติรันไทม์ของการแก้ IVP คือ มักจะครอบงำโดยระยะเวลาของการประเมินทางด้านขวามือ (RHS) เดอะฉให้เราสมมติว่าการดำเนินการอื่น ๆ ทั้งหมดนั้นทันที (เช่นไม่มีค่าใช้จ่ายในการคำนวณ) หากรันไทม์โดยรวมสำหรับการแก้ IVP ถูก จำกัด แล้วนี้จะเทียบเท่ากับการ จำกัด จำนวนของการประเมินผลของบาง{N}x ( t 0 ) = x 0 f f N ∈ Nx˙(t)=f(t,x(t)) for t∈[t0,t1]x˙(t)=f(t,x(t)) for t∈[t0,t1] \dot{x}(t) = f(t, x(t)) \quad \text{ for } t \in [t_0, t_1] x(t0)=x0x(t0)=x0 x(t_0) = x_0 ffffffN∈NN∈NN \in …

1
วิธีการหลีกเลี่ยงการยกเลิกหายนะในฟังก์ชั่นหลาม?
ฉันมีปัญหาในการใช้ฟังก์ชันเป็นตัวเลข มันทนทุกข์ทรมานจากความจริงที่ว่าที่ค่าอินพุตขนาดใหญ่ผลที่ได้คือจำนวนมากครั้งจำนวนมากขนาดเล็ก ฉันไม่แน่ใจว่าการยกเลิกภัยพิบัติเป็นคำที่ถูกต้องหรือไม่ดังนั้นโปรดแก้ไขให้ถูกต้องถ้าเป็นเช่นนั้น หลักฐานของสิ่งที่ผิดพลาด: ฉันจะหลีกเลี่ยงการแกว่งและการกำหนด 0.0 สำหรับอินพุตขนาดใหญ่ 6 ได้อย่างไร นี่คือหน้าที่ของฉัน: import numpy as np def func(x): t = np.exp(-np.pi*x) return 1/t*(1-np.sqrt(1-t**2))

2
ทางเลือกในการวิเคราะห์เสถียรภาพของ von neumann สำหรับวิธีผลต่างอันตะ จำกัด
ผมทำงานเกี่ยวกับการแก้คู่หนึ่งมิติporoelasticityสมการ (โมเดลของ Biot) ให้เป็น: ∂−(λ+2μ)∂2u∂x2+∂p∂x=0−(λ+2μ)∂2u∂x2+∂p∂x=0-(\lambda+ 2\mu) \frac{\partial^2 u}{\partial x^2} + \frac{\partial p}{\partial x} = 0 ∂∂เสื้อ[ γp + ∂ยู∂x] - κη[ ∂2พี∂x2] =q( x , t )∂∂t[γp+∂u∂x]−κη[∂2p∂x2]=q(x,t)\frac{\partial}{\partial t} \left[ \gamma p + \frac{\partial u}{\partial x}\right] -\frac{\kappa}{\eta}\left[\frac{\partial^2 p}{\partial x^2}\right] =q(x,t) บนโดเมนและด้วยเงื่อนไขขอบเขต: Ω = ( 0 , 1 )Ω=(0,1)\Omega=(0,1) p = 0 …

2
การรวมเชิงตัวเลขในตัวแปรหลายตัว
ให้และf ( → x ) : [ 0 , 1 ] n → Cเป็นฟังก์ชันในตัวแปรเหล่านี้x⃗ = ( x1, x2, … , xn) ∈ [ 0 , 1 ]nx→=(x1,x2,…,xn)∈[0,1]n\vec{x} = (x_1, x_2, \dots, x_n) \in [0,1]^nf(x⃗ ):[0,1]n→Cf(x→):[0,1]n→Cf(\vec{x}): [0,1]^n \to \mathbb{C} มีรูปแบบแบบเรียกซ้ำสำหรับอินทิกรัลแบบวนซ้ำนี้หรือไม่? ∫[0,1]n∏dxif(x⃗ )∫[0,1]n∏dxif(x→)\int_{[0,1]^n} \prod dx_i \;f(\vec{x}) ถ้าและฉันแบ่ง[ 0 , 1 ]ออกเป็น 100 …

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.