คำถามติดแท็ก conjugate-gradient

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

3
หลักการที่อยู่เบื้องหลังการบรรจบกันของวิธีการสเปซย่อย Krylov สำหรับการแก้ระบบเชิงเส้นของสมการคืออะไร?
ที่ฉันเข้าใจมันมีสองประเภทหลักของวิธีการวนซ้ำสำหรับการแก้ระบบเชิงเส้นของสมการ: วิธีการหยุดนิ่ง (Jacobi, Gauss-Seidel, SOR, Multigrid) วิธีการของ Krylov Subspace (Conjugate Gradient, GMRES และอื่น ๆ ) ฉันเข้าใจว่าวิธีการที่อยู่กับที่ส่วนใหญ่ทำงานโดยการทำซ้ำไปเรื่อย ๆ (ปรับให้เรียบ) โหมดฟูริเยร์ของข้อผิดพลาด ตามที่ฉันเข้าใจแล้ววิธีการไล่ระดับสีแบบคอนจูเกต (วิธีการสเปซ Krylov) ทำงานโดย "ก้าว" ผ่านชุดทิศทางการค้นหาที่ดีที่สุดจากพลังของเมทริกซ์ที่นำไปใช้กับส่วนที่เหลือหลักการนี้เป็นเรื่องธรรมดาสำหรับวิธีการทั้งหมดของ Krylov หรือไม่? ถ้าไม่เราจะอธิบายหลักการที่อยู่เบื้องหลังการรวมตัวกันของวิธีการย่อย Krylov โดยทั่วไปได้อย่างไรnnn

3
ปัญหาที่การไล่ระดับสีแบบคอนจูเกตนั้นดีกว่า GMRES มาก
ฉันสนใจในกรณีที่การไล่ระดับสีคอนจูเกตทำงานได้ดีกว่าวิธี GMRES โดยทั่วไป CG เป็นตัวเลือกที่ดีกว่าในหลาย ๆ กรณีของ SPD (symmetric-positive-definite) เนื่องจากมันต้องการพื้นที่จัดเก็บน้อยกว่าและต้องอาศัยทฤษฎีตามอัตราการลู่เข้าสำหรับ CG เป็นสองเท่าของ GMRES มีปัญหาใดบ้างหรือไม่ที่มีการปฏิบัติตามอัตราดังกล่าวจริง มีลักษณะของกรณีใดบ้างที่ GMRES มีประสิทธิภาพดีกว่าหรือเทียบเคียงกับ CG สำหรับจำนวน spmvs ที่เหมือนกัน (การกระจายเมทริกซ์เมทริกซ์ - เวกเตอร์)

4
การคำนวณดีเทอร์มิแนนต์ขณะที่แก้โดยใช้ CG
ฉันกำลังแก้สำหรับขนาดใหญ่เบาบางบวกแน่นอนเมทริกซ์ใช้การไล่ระดับสีผัน (CG) วิธีการ มันเป็นไปได้ที่จะคำนวณหาดีเทอร์มีแนนต์ของโดยใช้ข้อมูลที่สร้างขึ้นในระหว่างการแก้ปัญหา?Ax=bAx=bAx=bAAAAAA

2
โคตรลาดและโคตรลาดคอนจูเกต
สำหรับโครงการฉันต้องใช้สองวิธีนี้และเปรียบเทียบวิธีที่พวกเขาทำงานกับฟังก์ชั่นที่แตกต่างกัน ดูเหมือนว่าวิธีการไล่ระดับสีแบบคอนจูเกตนั้นหมายถึงการแก้ระบบสมการเชิงเส้นของ Ax=bAx=b A\mathbf{x} = \mathbf{b} โดยที่AAAคือเมทริกซ์แบบ n - by - n ที่สมมาตร, บวกแน่นอนและเป็นจริง ในทางกลับกันเมื่อฉันอ่านเกี่ยวกับการไล่ระดับสีฉันเห็นตัวอย่างของฟังก์ชัน Rosenbrockซึ่งก็คือ f(x1,x2)=(1−x1)2+100(x2−x21)2f(x1,x2)=(1−x1)2+100(x2−x12)2 f(x_1,x_2) = (1-x_1)^2+100(x_2-x_1^2)^2 อย่างที่ฉันเห็นฉันไม่สามารถแก้ปัญหานี้ด้วยวิธีการไล่ระดับสีแบบคอนจูเกต หรือฉันจะพลาดบางสิ่งบางอย่าง?

2
ความซับซ้อนของกรณีที่เลวร้ายที่สุดของ Conjugate Gradient คืออะไร?
ปล่อยให้สมมาตรและบวกแน่นอน สมมติว่ามันจะใช้เวลาหน่วยงานการคูณเวกเตอร์โดย เป็นที่ทราบกันดีว่าการดำเนินการกับอัลกอริทึม CG บนพร้อมหมายเลขเงื่อนไขต้องการหน่วยของงานA∈Rn×nA∈Rn×nA\in \mathbb{R}^{n\times n}mmmAAAAAAκκ\kappaO(mκ−−√)O(mκ)\mathcal{O} (m\sqrt{\kappa}) ตอนนี้แน่นอนการเป็นคำสั่งนี้เป็นขอบเขตบน และอัลกอริทึม CG สามารถยุติในขั้นตอนที่เป็นศูนย์ด้วยการเดาเริ่มต้นที่โชคดีOO\mathcal{O} เรารู้หรือไม่ว่ามี RHS อยู่และคาดเดาเริ่มต้น (โชคไม่ดี) ที่จะต้องมีขั้นตอนหรือไม่ อีกวิธีหนึ่งคือกรณีที่เลวร้ายที่สุดความซับซ้อนของ CG จริงๆ ?Θ(κ−−√)Θ(κ)\mathcal{\Theta}(\sqrt{\kappa})Θ(mκ−−√)Θ(mκ)\Theta( m \sqrt{\kappa}) คำถามนี้เกิดขึ้นเมื่อฉันพยายามที่จะตรวจสอบว่าประโยชน์ของ preconditioner (ล่าง ) เทียบกับค่าใช้จ่าย (สูงกว่า) หรือไม่ ตอนนี้ฉันกำลังทำงานกับปัญหาของเล่นและต้องการที่จะมีความคิดที่ดีขึ้นก่อนที่ฉันจะใช้ภาษาใด ๆ ในการรวบรวมκκ\kappammm

1
ปรับขนาดขั้นตอนสืบเชื้อสายลาดลาดเมื่อคุณไม่สามารถทำการค้นหาบรรทัด
ฉันมีฟังก์ชั่นวัตถุประสงค์ขึ้นอยู่กับค่าโดยที่\ phi (x, t)คือคำตอบของ PDE ฉันกำลังเพิ่มประสิทธิภาพEโดยสายเลือดลาดในสภาวะเริ่มต้นของ PDE นี้: \ พี (x, t = 0.0) นั่นคือฉันอัปเดต\ phi (x, t = 0.0)แล้วต้องรวม PDE เพื่อคำนวณส่วนที่เหลือของฉัน นั่นหมายความว่าถ้าฉันทำการค้นหาบรรทัดสำหรับขนาดขั้นตอนการไล่ระดับสีไล่ระดับ (เรียกว่า\ alpha ) สำหรับทุกค่าที่เป็นไปได้ของ\ alphaฉันจะต้องรวม PDE ทั้งหมดอีกครั้งEEEϕ(x,t=1.0)φ(x,เสื้อ=1.0)\phi(x, t = 1.0)ϕ(x,t)ϕ(x,t)\phi(x, t)EEEϕ(x,t=0.0)ϕ(x,t=0.0)\phi(x, t = 0.0)ϕ(x,t=0.0)ϕ(x,t=0.0)\phi(x, t = 0.0)αα\alphaαα\alpha ในกรณีของฉันที่จะมีราคาแพง มีตัวเลือกอื่นสำหรับขนาดขั้นบันไดที่มีการไล่ระดับสีที่ปรับได้ ฉันไม่เพียงแค่มองหาโครงร่างหลักการทางคณิตศาสตร์ที่นี่ (แม้ว่าแน่นอนว่าจะดีกว่าถ้ามีอยู่) แต่จะมีความสุขกับสิ่งที่โดยทั่วไปดีกว่าขนาดคงที่ ขอบคุณ!

2
วิธีการลบการเคลื่อนไหวร่างกายแข็งใน Linear Elasticity?
ฉันต้องการที่จะแก้ Ku=bKu=bK u = b ที่ไหน KKKเป็นเมทริกซ์ความแข็งของฉัน อย่างไรก็ตามข้อ จำกัด บางอย่างอาจหายไปดังนั้นการเคลื่อนไหวของร่างกายที่เข้มงวดบางอย่างอาจยังคงปรากฏอยู่ในระบบ (เนื่องจากศูนย์ค่าเฉพาะ) เนื่องจากฉันใช้ CG เพื่อแก้ปัญหาระบบเชิงเส้นนี่จึงไม่เป็นที่ยอมรับเนื่องจากบางครั้ง CG ไม่ได้มาบรรจบกับปัญหากึ่งบวก (แต่บางครั้งฉันอาจจะมาบรรจบกัน) ที่จริงฉันใช้วิธีการกำจัดที่ถูกลงโทษในแง่ที่ว่าฉันกำลังเพิ่มบทลงโทษ α||u||2α||u||2 \alpha ||u||^2เพื่อพลังงานที่ยืดหยุ่น ดังนั้นพลังงานจึงอ่าน W(u):=12uT(K+αI)u−btuW(u):=12uT(K+αI)u−btu\begin{equation} \mathcal W(u) := \frac{1}{2} u^T (K + \alpha I) u - b^t u \end{equation} ที่ไหน αα\alphaนำมาเป็นสัดส่วนกับการเข้าขวางของเมทริกซ์ความแข็ง แต่ที่จริงแล้วนี่มีผลกระทบกับโหมดการเสียรูปบางอย่างที่ฉันต้องการ บางคำถามของฉันคือ: ก) ฉันสามารถเปลี่ยนระบบดั้งเดิมได้หรือไม่ดังนั้นจึงต้องทำให้มันปราศจากความเป็นเอกเทศและแน่นอนในเชิงบวก (เช่นการแปลงพิกัดหรือการแปลงความสอดคล้องหรืออะไรก็ตาม) ความคิดของฉันคือการใช้การแปลงดังกล่าวเพื่อยังคงใช้ CG กับปัญหาการแปลง b) มีวิธีมาตรฐานในการจัดการกับความแปลกประหลาดเหล่านั้นหรือไม่? ขอบคุณมาก …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.