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

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

2
ความผันผวนในปัญหาการกระจัดกระจายปฏิกิริยาแปลกประหลาดกับองค์ประกอบ จำกัด
เมื่อ FEM-discretizing และการแก้ปัญหาการแพร่ปฏิกิริยาเช่น ด้วย 0 < ε « 1 (ก่อกวนเอกพจน์) การแก้ปัญหาของปัญหาที่เกิดขึ้นต่อเนื่องมักจะแสดงชั้นแกว่งใกล้กับเขตแดน ด้วย Ω = ( 0 , 1 ) , ε = 10 - 5และเชิงเส้นองค์ประกอบ จำกัด , การแก้ปัญหายูเอชดูเหมือน−εΔu+u=1 on Ωu=0 on ∂Ω−εΔu+u=1 on Ωu=0 on ∂Ω - \varepsilon \Delta u + u = 1 \text{ on } \Omega\\ u = …

1
การใช้วิธี Runge-Kutta กับลำดับที่สองของ ODE
ฉันจะเปลี่ยนวิธีการของออยเลอร์โดยลำดับที่ 4 ของ Runge-Kutta เพื่อตัดสินว่าการเคลื่อนที่ของฤดูใบไม้ร่วงฟรีนั้นมีขนาดไม่คงที่ (เช่นการลดลงอิสระจาก 10,000 กม. เหนือพื้นดิน) อย่างไร จนถึงตอนนี้ฉันเขียนการรวมอย่างง่ายโดยวิธีออยเลอร์: while() { v += getMagnitude(x) * dt; x += v * dt; time += dt; } ตัวแปร x หมายถึงตำแหน่งปัจจุบัน, v หมายถึงความเร็ว, getMagnitude (x) จะส่งกลับค่าความเร่งบนตำแหน่ง x ฉันพยายามใช้ RK4: while() { v += rk4(x, dt) * dt; // rk4() instead of …

1
สเกลค่าคงที่สำหรับอัลกอริธึมการค้นหาบรรทัดและภูมิภาคที่เชื่อถือได้
ในหนังสือของ Nocedal & Wright เกี่ยวกับการเพิ่มประสิทธิภาพเชิงตัวเลขมีคำสั่งในหัวข้อ 2.2 (หน้า 27) "โดยทั่วไปการพูดง่ายกว่าที่จะรักษาระดับความไม่แปรเปลี่ยนของอัลกอริธึมการค้นหาบรรทัด ในส่วนเดียวกันพวกเขาพูดคุยเกี่ยวกับการมีตัวแปรใหม่ที่เป็นรุ่นดั้งเดิมของตัวแปรดั้งเดิมซึ่งสามารถช่วยในการค้นหาทั้งสองและภูมิภาคที่เชื่อถือได้ อีกวิธีคือการปรับสภาพล่วงหน้า สำหรับวิธีการภูมิภาคที่เชื่อถือได้นั้นการปรับสภาพล่วงหน้านั้นเทียบเท่ากับการมีภูมิภาคที่เชื่อถือได้รูปไข่และทำให้เกิดความแปรปรวนของสเกล อย่างไรก็ตามสัญชาตญาณที่คล้ายกันไม่ชัดเจนสำหรับการกำหนดเงื่อนไขสำหรับการค้นหาบรรทัด การค้นหาบรรทัดเหมาะกว่าสำหรับขนาด invariance อย่างไร มีข้อควรพิจารณาในทางปฏิบัติบ้างไหม? นอกจากนี้ฉันมีคำถามเกี่ยวกับเงื่อนไขเบื้องต้นสำหรับวิธีภูมิภาคที่เชื่อถือได้ สำหรับปัญหาที่มีเงื่อนไขไม่ดีนักเงื่อนไขที่ดีจะลดจำนวนการทำซ้ำรอบนอกของนิวตันและการทำซ้ำ CG ภายในหรือเฉพาะหลังเท่านั้น? เนื่องจากภูมิภาคที่ไว้วางใจนั้นเป็นรูปวงรีในพื้นที่ดั้งเดิมผู้มีเงื่อนไขเบื้องต้นที่ดีควรนำไปสู่รูปวงรีที่จะเข้ากับภูมิทัศน์ได้ดีขึ้น ฉันรู้สึกว่านี่อาจลดจำนวนการทำซ้ำรอบนอกของนิวตันโดยบังคับให้อัลกอริทึมไปยังทิศทางที่ดีขึ้น ถูกต้องหรือไม่

1
วิธีการเชิงตัวเลขสำหรับการแปลงอินทิกรัลอินทิกรัลเปลี่ยน?
ฉันพยายามแปลงการแปลงอินทิกรัลให้เป็นตัวเลข F(y)=∫∞0yexp[−12(y2+x2)]I0(xy)f(x)dxF(y)=∫0∞yexp⁡[−12(y2+x2)]I0(xy)f(x)dxF(y) = \int_{0}^{\infty} y\exp{\left[-\frac{1}{2}(y^2 + x^2)\right]} I_0\left(xy\right)f(x)\;\mathrm{d}x ดังนั้นสำหรับฉันต้องประมาณf ( x ) โดยที่:F(y)F(y)F(y)f(x)f(x)f(x) และ F ( y )เป็นจริงและเป็นบวกf(x)f(x)f(x)F(y)F(y)F(y)(คือการแจกแจงความน่าจะเป็นแบบต่อเนื่อง) เป็นจริงและเป็นบวกx , yx,yx,y(เป็นขนาด) ฉันมีวิธีการบังคับยุ่งและดุร้ายมากสำหรับการทำสิ่งนี้ในนาที: ฉันกำหนดและเส้นโค้งมากกว่าชุดของจุดค่าของจุดขบที่มี 'เดา' จากการสุ่มแบบซึ่งอัตราผลตอบแทนที่คาดการณ์F ( Y ) อัลกอริทึมทางพันธุกรรมพื้นฐานที่ฉันเขียนช่วยลดความแตกต่างระหว่างอาร์เรย์F ( y )ที่คาดการณ์และวัดได้ จากนั้นฉันใช้f ( x )ซึ่งอัลกอริทึมมาบรรจบกันเป็นคำตอบสำหรับการผกผันฉ( x )f(x)f(x)F( y)F(y)F(y)F( y)F(y)F(y)ฉ( x )f(x)f(x) วิธีการนี้ใช้งานได้ดีสำหรับกรณีง่าย ๆ บางอย่าง แต่มันก็ทำให้ฉันรู้สึกยุ่งและไม่แข็งแรงเป็นพิเศษ ใครสามารถให้แนวทางแก่ฉันในการแก้ไขปัญหานี้ได้ดีขึ้น? ขอบคุณสำหรับเวลาและความช่วยเหลือของคุณ! [x โพสต์ที่วิทยาการคอมพิวเตอร์]

3
ค่าสัมประสิทธิ์ไม่คงที่ควรได้รับการปฏิบัติด้วยวิธีการ จำกัด ลำดับแรกของปริมาณลม
เริ่มต้นด้วยสมการการผกผันในรูปแบบการอนุรักษ์ ยูเสื้อ= ( a ( x ) u )xยูเสื้อ=(a(x)ยู)x u_t = (a(x)u)_x ที่( x )คือความเร็วซึ่งขึ้นอยู่กับพื้นที่และยูเป็นความเข้มข้นของสายพันธุ์ที่เป็นป่าสงวนa ( x )a(x)a(x)ยูยูu การแยกแยะฟลักซ์ (โดยที่ฟลักซ์)ฉ= a ( x ) uฉ=a(x)ยูf=a(x)uถูกกำหนดที่ขอบของเซลล์ระหว่างจุดตาข่าย) ให้, ยูเสื้อ= 1ชั่วโมง( ฉj - 12- ฉj + 12)ยูเสื้อ=1ชั่วโมง(ฉJ-12-ฉJ+12) u_t = \frac{1}{h}\left( f_{j-{\frac{1}{2}}} - f_{j+{\frac{1}{2}}} \right) การใช้ลำดับแรกที่อยู่เหนือลมเราประมาณค่าฟลักซ์เป็น fj−12=a(xj−12)uj−1fj+12=a(xj+12)ujfj−12=a(xj−12)uj−1fj+12=a(xj+12)uj f_{j-{\frac{1}{2}}} = a(x_{j-\frac{1}{2}})u_{j-1} \\ f_{j+{\frac{1}{2}}} = a(x_{j+\frac{1}{2}})u_{j} …

1
การแก้ระบบสมการเชิงตัวเลขอย่างยากลำบาก
ฉันมีระบบสมการไม่เชิงเส้นที่ฉันต้องการแก้ตัวเลข:nnn f = ( f 1 , … , f n )f(x)=af(x)=a\mathbf{f}(\mathbf{x})=\mathbf{a} f=(f1,…,fn)x=(x1,…,xn)f=(f1,…,fn)x=(x1,…,xn)\mathbf{f}=(f_1,\dots,f_n)\quad\mathbf{x}=(x_1,\dots,x_n) ระบบนี้มีคุณสมบัติหลายประการที่ทำให้จัดการได้ยากเป็นพิเศษ ฉันกำลังมองหาแนวคิดเกี่ยวกับวิธีจัดการกับระบบได้อย่างมีประสิทธิภาพยิ่งขึ้น ทำไมระบบจึงยาก ฟังก์ชั่นคล้ายกับอันนี้ (แต่แน่นอนในหลายมิติ): พวกเขามีที่ราบสูงราบคั่นด้วยบริเวณที่มีการเปลี่ยนแปลงที่ราบรื่น ใน 2D คุณสามารถจินตนาการถึงสิ่งนี้ในหนึ่ง :fifif_i โดยทั่วไปแล้วแต่ละจะมีที่ราบสองแห่งคั่นด้วยการเปลี่ยนแปลงอย่างราบรื่นรอบ ๆไฮเปอร์เพลนfifif_in−1n−1n-1 ฟังก์ชั่นเช่นนี้ยากที่จะจัดการกับวิธีการของนิวตันเนื่องจากอนุพันธ์นั้นมีประสิทธิภาพเป็นศูนย์บนที่ราบสูง ในหลายมิติฉันไม่สามารถหาภูมิภาคที่ไม่มีfifif_iมีที่ราบสูงได้ง่ายถ้าฉันสามารถแก้ปัญหาได้ วิธีการแบ่งออกเป็นสองส่วนทำงานได้ดีสำหรับแต่มันไม่ได้พูดถึงทั่วไปในหลายมิติn=1n=1n=1 ฟังก์ชั่นคำนวณได้ช้ามาก ฉันกำลังมองหาวิธีการที่จะได้รับการประมาณค่าที่เหมาะสมของรูทในการทำซ้ำน้อยที่สุด ฟังก์ชันคำนวณโดยใช้วิธีมอนติคาร์โล ซึ่งหมายความว่าทุกครั้งที่มีการคำนวณฉันจะได้รับค่าสุ่มแตกต่างกันเล็กน้อย ตราสารอนุพันธ์นั้นประเมินได้ยาก เมื่อเราเข้าใกล้รูตมากพอเสียงก็จะเริ่มดังขึ้นและจำเป็นต้องใช้ค่าเฉลี่ยเพื่อเพิ่มความแม่นยำ จะเป็นการดีที่มันควรจะเป็นไปได้ที่จะพูดคุยวิธีการที่จะเทียบเท่าสุ่มประมาณรุ่น (เช่นนิวตัน→ร็อบบินส์มอนโร) ระบบมีมิติสูง สามารถมีขนาดใหญ่เท่ากับ 10-20 เมื่อวิธีที่มีประสิทธิภาพน่าจะเป็นดังต่อไปนี้: ลองติดตามรูปทรงที่กำหนดโดยและและดูว่าพวกมันตัดกันที่ไหน ยังไม่ชัดเจนว่านี่จะพูดคุยกับมิติที่สูงอย่างไรnnnn=2n=2n=2f1(x1,x2)=0f1(x1,x2)=0f_1(x_1,x_2) = 0f2(x1,x2)=0f2(x1,x2)=0f_2(x_1,x_2)=0 มีอะไรอีกบ้างที่ฉันรู้เกี่ยวกับระบบ? มีรากเดียวอย่างแม่นยำ (จากผลลัพธ์ทางทฤษฎี) ฉันรู้คุณค่าของบนที่ราบ (สมมุติว่ามันคือ 0 …

2
เกี่ยวกับการประมาณที่เร็วขึ้นของบันทึก (x)
ฉันได้เขียนโค้ดมาระยะหนึ่งแล้วซึ่งพยายามคำนวณโดยไม่ต้องใช้ฟังก์ชั่นห้องสมุด เมื่อวานนี้ฉันกำลังตรวจสอบรหัสเดิมและฉันพยายามทำให้เร็วที่สุดเท่าที่จะทำได้ (และถูกต้อง) นี่คือความพยายามของฉัน:l o g( x )log(x)log(x) const double ee = exp(1); double series_ln_taylor(double n){ /* n = e^a * b, where a is an non-negative integer */ double lgVal = 0, term, now; int i, flag = 1; if ( n <= 0 ) return 1e-300; if ( …

2
การเพิ่มมาตรฐานเพื่อทำให้ SVD มีความเสถียรเท่าไร
ฉันใช้ SVD ของ Intel MKL ( dgesvdผ่าน SciPy) และสังเกตว่าผลลัพธ์จะแตกต่างกันอย่างมากเมื่อฉันเปลี่ยนความแม่นยำระหว่างfloat32และfloat64เมื่อเมทริกซ์ของฉันมีเงื่อนไขไม่ดี / ไม่เต็มอันดับ มีแนวทางเกี่ยวกับจำนวนขั้นต่ำของการทำให้เป็นมาตรฐานที่ฉันควรเพิ่มเพื่อให้ผลลัพธ์ที่ไม่ไวต่อการเปลี่ยนแปลงfloat32-> float64หรือไม่? โดยเฉพาะการทำ A = UDVTA=UDVTA=UDV^{T}ฉันเห็นว่า L∞L∞L_\infty บรรทัดฐานของ VTXVTXV^{T}Xย้ายประมาณ 1 เมื่อฉันเปลี่ยนความแม่นยำของระหว่างและfloat32float64L2L2L_2 บรรทัดฐานของ AAA คือ 10510510^5 และมีค่าลักษณะเฉพาะประมาณ 200 ศูนย์จากทั้งหมด 784 กำลังทำ SVD λ ฉัน+ AλI+A\lambda I + A กับ λ =10- 3λ=10−3\lambda=10^{-3} ทำให้ความแตกต่างหายไป

2
การวิเคราะห์ความมั่นคงของ Von Neumann บอกอะไรเราเกี่ยวกับสมการผลต่าง จำกัด เชิงเส้น
ฉันกำลังอ่านกระดาษ[1]ซึ่งพวกเขาแก้สมการไม่เชิงเส้นต่อไปนี้ โดยใช้วิธีผลต่างอันตะ พวกเขายังวิเคราะห์เสถียรภาพของโครงร่างโดยใช้การวิเคราะห์เสถียรภาพของ Von Neumann อย่างไรก็ตามตามที่ผู้เขียนตระหนักถึงสิ่งนี้สามารถใช้ได้กับ PDE เชิงเส้นเท่านั้น ดังนั้นผู้เขียนทำงานรอบนี้ด้วย "แช่แข็ง" ระยะที่ไม่ใช่เชิงเส้นคือพวกเขาแทนที่ระยะยาวกับที่คือ "ถือว่าเป็นตัวแทนของค่าคงที่ในประเทศของ ."ยูเสื้อ+ยูx+ uยูx-ยูx x t= 0ut+ux+uux−uxxt=0\begin{equation} u_t + u_x + uu_x - u_{xxt} = 0 \end{equation}ยูยูxuuxuu_xยูยูxUuxUu_xยูUUยูuu ดังนั้นคำถามของฉันคือสองเท่า: 1: วิธีการตีความวิธีนี้และทำไมมัน (ไม่) ทำงานอย่างไร 2: เราสามารถแทนที่คำว่าด้วยคำว่าโดยที่ถูก "พิจารณาว่าเป็นตัวแทนค่าคงที่ในท้องถิ่นของ "ยูยูxuuxuu_xยูยูxuUxuU_xยูxUxU_xยูxuxu_x อ้างอิง Eilbeck, JC และ GR McGuire "การศึกษาเชิงตัวเลขของสมการคลื่นยาวแบบปกติ I: วิธีเชิงตัวเลข" วารสารฟิสิกส์เชิงคำนวณ 19.1 (1975): 43-57

1
ซ้ำ "แก้" สำหรับ
ฉันไม่สามารถจินตนาการได้ว่าฉันเป็นคนแรกที่คิดเกี่ยวกับปัญหาต่อไปนี้ดังนั้นฉันจะพอใจกับการอ้างอิง สมมติว่าคุณมีผลบวกแน่นอนแบบสมมาตร Σ∈Rn×nΣ∈Rn×n\Sigma \in \mathbb{R}^{n \times n}. nnn มีขนาดใหญ่มากดังนั้นการถือครอง ΣΣ\Sigmaในความทรงจำเป็นไปไม่ได้ อย่างไรก็ตามคุณสามารถประเมินได้ΣxΣx\Sigma xสำหรับใด ๆ x∈Rnx∈Rnx \in \mathbb{R}^{n}. ให้ไว้บ้างx∈Rnx∈Rnx \in \mathbb{R}^{n}คุณต้องการที่จะหา xtΣ−1xxtΣ−1xx^t\Sigma^{-1}x. ทางออกแรกที่นึกถึงคือการหา Σ−1xΣ−1x\Sigma^{-1}xใช้ (พูด) การไล่ระดับสีผันคำกริยา อย่างไรก็ตามดูเหมือนว่าจะค่อนข้างสิ้นเปลือง - คุณต้องหาสเกลาร์และในกระบวนการที่คุณพบเวกเตอร์ขนาดมหึมาRnRn\mathbb{R}^{n}. มันดูเหมือนจะสมเหตุสมผลมากกว่าที่จะหาวิธีคำนวณสเกลาร์โดยตรง (เช่นโดยไม่ผ่านΣ−1xΣ−1x\Sigma^{-1}x) ฉันกำลังมองหาวิธีการประเภทนี้

1
อัลกอริทึมในการคำนวณเลขชี้กำลังของเมทริกซ์ Hessenberg
ฉันสนใจในการคำนวณโซลูชันของระบบ lage ของ ODE โดยใช้วิธี krylov เช่นเดียวกับใน [1] วิธีการดังกล่าวเกี่ยวข้องกับฟังก์ชั่นที่เกี่ยวข้องกับการชี้แจง (ที่เรียกว่าφφ\varphi-ฟังก์ชั่น). มันประกอบด้วยการคำนวณการกระทำของฟังก์ชั่นเมทริกซ์โดยการสร้างพื้นที่ย่อย Krylov โดยใช้การวนซ้ำของ Arnoldi และฉายฟังก์ชันในพื้นที่ย่อยนี้ สิ่งนี้ช่วยลดปัญหาในการคำนวณเลขชี้กำลังของเมทริกซ์ Hessenberg ที่เล็กกว่ามาก ฉันรู้ว่ามีหลายอัลกอริทึมในการคำนวณเลขชี้กำลัง (ดู [2] [3] และการอ้างอิงในนั้น) ฉันสงสัยว่ามีอัลกอริทึมพิเศษในการคำนวณเลขยกกำลังที่สามารถใช้ประโยชน์จากข้อเท็จจริงที่ว่าเมทริกซ์คือเฮสเซนเบิร์กหรือไม่? [1] Sidje, RB (1998) Expokit: ชุดซอฟต์แวร์สำหรับประมวลผลเลขชี้กำลังเมทริกซ์ ธุรกรรม ACM เกี่ยวกับซอฟต์แวร์ทางคณิตศาสตร์ (TOMS), 24 (1), 130-156 [2] Moler, C. , & Van Loan, C. (1978) เก้าวิธีที่น่าสงสัยในการคำนวณเลขชี้กำลังของเมทริกซ์ รีวิว SIAM, 20 …

2
ช่วยในการตัดสินใจระหว่างการแก้ไขลูกบาศก์และกำลังสองในการค้นหาบรรทัด
ฉันกำลังค้นหาสายเป็นส่วนหนึ่งของอัลกอรึทึมของ BFGS เสมือน ในขั้นตอนเดียวของการค้นหาบรรทัดฉันใช้การแก้ไขลูกบาศก์เพื่อเลื่อนเข้าใกล้กับเครื่องมือลดขนาด ปล่อย f:R→R,f∈C1ฉ:R→R,ฉ∈ค1f : R \rightarrow R, f \in C^1เป็นหน้าที่ของดอกเบี้ย ฉันต้องการหาx∗x* * * *x^* ดังนั้น f′(x∗)≈0ฉ'(x* * * *)≈0f'(x^*) \approx 0. ปล่อย f(xk)ฉ(xk)f(x_k), f′(xk)ฉ'(xk)f'(x_k), f(xk+1)f(xk+1)f(x_{k+1}) และ f′(xk+1)f′(xk+1)f'(x_{k+1})เป็นที่รู้จัก ยังถือว่า0≤xk&lt;x∗&lt;xk+10≤xk&lt;x∗&lt;xk+10\le x_k<x^*<x_{k+1}. ฉันพอดีกับพหุนามลูกบาศก์Q(x)=ax3+bx2+cx+dQ(x)=ax3+bx2+cx+dQ(x)=ax^3+bx^2+cx+d ดังนั้น Q(0)=f(xk)Q(0)=f(xk)Q(0)=f(x_k), Q′(0)=f′(xk)Q′(0)=f′(xk)Q'(0)=f'(x_k), Q(xk+1−xk)=f(xk+1)Q(xk+1−xk)=f(xk+1)Q(x_{k+1}-x_{k})=f(x_{k+1}) และ Q′(xk+1−xk)=f′(xk+1)Q′(xk+1−xk)=f′(xk+1)Q'(x_{k+1}-x_{k})=f'(x_{k+1}). ฉันแก้สมการกำลังสอง: (1):Q′(x∗−xk)=0(1):Q′(x∗−xk)=0(1): Q'(x^*-x_k) = 0 สำหรับฉันขอ x∗x∗x^* ใช้โซลูชั่นแบบปิด การทำงานด้านบนในกรณีส่วนใหญ่ยกเว้นเมื่อใด f(x)=O(x2)f(x)=O(x2)f(x)=\mathcal{O}(x^2) เป็นโซลูชันแบบปิดสำหรับ …

3
วิธีไฟไนต์เอลิเมนต์และวิธีไฟไนต์เอลิเมนต์แบบขยาย (FEM กับ XFEM)
อะไรคือความแตกต่างที่สำคัญระหว่าง FEM และ XFEM เมื่อใดที่เรา (ไม่) ใช้ XFEM แทนการใช้ FEM และในทางกลับกัน กล่าวอีกนัยหนึ่งเมื่อฉันพบปัญหาใหม่ฉันจะรู้ได้อย่างไรว่าจะใช้หนึ่งในนั้น
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.