การกำหนดเงื่อนไข krylov ด้วยวิธี krylov อื่น


13

ในวิธีเช่น gmres หรือ bicgstab มันน่าดึงดูดใจที่จะใช้อีกวิธี krylov เป็น preconditioner หลังจากทั้งหมดพวกเขาจะใช้งานง่ายในวิธีที่ปราศจากเมทริกซ์และในสภาพแวดล้อมแบบคู่ขนาน ตัวอย่างเช่นหนึ่ง coul ใช้การวนซ้ำสองครั้ง (สมมติว่า ~ 5) ของ bigcstab ที่ไม่มีเงื่อนไขในฐานะ precontioner สำหรับ gmres หรือการรวมกันของวิธี krylov อื่น ๆ ฉันไม่พบการอ้างอิงถึงวิธีการดังกล่าวในครอกดังนั้นฉันคาดหวังว่านี่เป็นเพราะมันไม่ได้มีประสิทธิภาพมาก ฉันต้องการที่จะเข้าใจว่าทำไมมันไม่มีประสิทธิภาพ มีกรณีที่เป็นตัวเลือกที่ดีหรือไม่?

ในการวิจัยของฉันฉันสนใจเกี่ยวกับวิธีการแก้ปัญหาของรูปไข่ 3 มิติในสภาพแวดล้อมแบบขนาน (mpi)


3
Krylov-space เป็นวิธีการไม่เชิงเส้น ดังนั้นจึงไม่สามารถใช้เป็นเครื่องปรับสภาพล่วงหน้าในวิธีการที่คาดว่าจะเป็นผู้ดำเนินการเชิงเส้น คุณสามารถใช้มันใน FGMRES แต่ฉันไม่เห็นว่าทำไมพวกเขาควรปรับปรุงคลื่นความถี่
Guido Kanschat

คำตอบ:


14

ที่น่าสนใจว่าคำถามนี้มาเมื่อวานนี้ตั้งแต่ฉันเพิ่งเสร็จสิ้นการดำเนินการเมื่อวานนี้ที่ทำ

พื้นหลังของฉัน

เพียงเพื่อเริ่มต้นให้ฉันรู้ว่าในขณะที่พื้นหลังการศึกษาของฉันมาจากการคำนวณทางวิทยาศาสตร์งานทั้งหมดที่ฉันได้ทำมาตั้งแต่เรียนจบรวมถึงปริญญาเอกปัจจุบันของฉัน งานได้รับในแม่เหล็กไฟฟ้าคอมพิวเตอร์ ดังนั้นฉันเดาว่าภูมิหลังของเราค่อนข้างคล้ายกันเนื่องจากคุณดูเหมือนจะมองฟิสิกส์ (ตามโปรไฟล์ของคุณ)

FGMRES

ก่อนอื่นสิ่งที่คุณกำลังมองหาในขณะที่ Guido Kanschat ได้กล่าวถึงแล้วในความคิดเห็นที่เรียกว่ายืดหยุ่น GMRES หรือ FGMRES การอ้างอิงรวมถึง pseudocode นั้นอยู่ใน [1] ในขณะที่บางครั้งฉันพบว่าเอกสาร SIAM ที่อ่านยากตัวเลข [1] (และงานอื่น ๆ ของ Saad ส่วนใหญ่รวมถึง [B1] ที่ยอดเยี่ยมซึ่งเห็นได้ชัดว่าถูกกฎหมายให้บริการออนไลน์ฟรี) นั้นแตกต่างกัน กระดาษเป็นเรื่องที่น่าอ่านอ่านอย่างชัดเจนและมีตัวอย่างที่ดีและคำแนะนำสำหรับการใช้งาน

FGMRES นั้นใช้งานง่ายโดยเฉพาะอย่างยิ่งถ้าคุณมี GMRES ที่ถูกต้องตามเงื่อนไขการทำงานอยู่แล้ว จดคำสำคัญที่นี่ - หากคุณมี GMRES ที่กำหนดเงื่อนไขไว้ล่วงหน้าเช่นคุณใช้เพื่อแก้ MAx = Mb คุณต้องทำการแก้ไขเล็กน้อย เปรียบเทียบ [B1, อัลกอริทึม 9.4 บนหน้า 282] ถึง [B1, อัลกอริทึม 9.5, pg 284] คุณสามารถค้นหา FGMRES ได้ใน [B1, อัลกอริทึม 9.6, pg 287] แต่ฉันอยากจะแนะนำให้คุณอ่าน [1] เพราะมันสั้นเขียนได้ดีและยังมีรายละเอียดที่น่าสนใจมากมาย

มันทำอะไร

FGMRES ช่วยให้คุณสามารถเปลี่ยนเงื่อนไขสำหรับการวนซ้ำทุกครั้งหากคุณต้องการ หนึ่งในแอพพลิเคชั่นสำหรับสิ่งนี้คือคุณสามารถใช้ตัวควบคุมล่วงหน้าที่ทำงานได้ดีเมื่อคุณอยู่ห่างไกลจากโซลูชัน [2] ซึ่งฉันไม่ได้อ่านอย่างละเอียดดูเหมือนจะพูดถึงบางสิ่งที่คล้ายกับสิ่งนี้

อย่างไรก็ตามแอปพลิเคชั่นที่น่าสนใจที่สุดในกรณีของฉันคือคุณสามารถใช้ GMRES (เงื่อนไข) เป็นเงื่อนไขเบื้องต้นสำหรับ FGMRES ของคุณ นี่คือเหตุผลที่อยู่เบื้องหลังชื่อทั่วไปของ FGMRES "GMRES ด้านใน" ที่นี่ "outer" หมายถึงตัวแก้ FGMRES ซึ่ง (ในฐานะที่มีเงื่อนไขก่อนหน้า) ใช้ตัวแก้ปัญหา "inner"

ในทางปฏิบัติแล้วสิ่งนี้ดีอย่างไร?

ในกรณีของฉันมันใช้งานได้ดีอย่างแน่นอน ในวงด้านในฉัน "แก้ปัญหา" การกำหนดปัญหาที่ซับซ้อนน้อยลงของปัญหาของฉัน ด้วยตัวของมันเองวิธีนี้ไม่ถูกต้องสำหรับการใช้งานของเรามากเกินไป หมายเหตุ "" รอบ "แก้ปัญหา" - ไม่จำเป็นต้องเรียกใช้ตัวแก้ปัญหาด้านในเพื่อรวมกันเนื่องจากคุณเพียงมองหาการประมาณคร่าวๆ ในกรณีของฉันฉันไปจากการใช้ 151 รอบแต่ละการคิดต้นทุน 64 วินาทีเป็น 72 การวนซ้ำแต่ละการคิดต้นทุน 79 วินาที (ฉันใช้การวนซ้ำ 5 ครั้งใน GMRES ชั้นใน) นั่นคือประหยัดทั้งชั่วโมงโดยไม่สูญเสียความแม่นยำและการเขียนโค้ดเพียงเล็กน้อยเนื่องจากเรามี GMRES ที่ใช้งานได้ซึ่งเราเพิ่งทำซ้ำ

สำหรับแอปพลิเคชันบางอย่างของสิ่งนี้แสดงให้เห็นถึงประสิทธิภาพที่เป็นไปได้ดู [3] (ซึ่งจริงๆแล้วใช้ FGMRES สามระดับดังนั้น FGMRES โดยที่ FGMRES เป็นด้านในโดยมี GMRES เป็นด้านใน) และ [4] ซึ่งอาจเกินไป แอปพลิเคชั่นเฉพาะสำหรับการใช้งานของคุณ แต่มีหลายกรณีทดสอบที่น่าสนใจ

อ้างอิง

[1] Y. Saad“ อัลกอริทึม GMRES จากภายในสู่ภายนอกที่ยืดหยุ่น” SIAM J. Sci Comp., vol. 14 หมายเลข 2, pp. 461–469, มี.ค. 1993. http://www-users.cs.umn.edu/~saad/PDF/umsi-91-279.pdf

[2] D.-Z Ding, R.-S. Chen และ Z. Fan, "SSOR กำหนดเงื่อนไข GMRES แบบยืดหยุ่นจากภายในสำหรับการวิเคราะห์ MLFMM ของการกระเจิงของวัตถุเปิด" ความคืบหน้าในการวิจัยเกี่ยวกับแม่เหล็กไฟฟ้า 89, pp. 339–357, 2009. http://www.jpier.org/PIER/pier89/22.08112601.pdf

[3] TF Eibert,“ ผลการกระเจิงบางอย่างคำนวณโดยเทคนิคผิว - อินทิกรัล - สมการและไฮบริด - องค์ประกอบ - ขอบเขต - อินทิกรัล - เทคนิค, เร่งความเร็วด้วยวิธี multipole รวดเร็วหลายระดับ” IEEE Antennas และ Propagation Magazine, Vol. 49, ไม่มี 2, pp. 61–69, 2007

[4] Ö. Ergül, T. Malas, และ L. Gürel,“ การแก้ปัญหาของคลื่นแม่เหล็กไฟฟ้าขนาดใหญ่โดยใช้แผนการวนรอบนอก - ข้างนอกที่มีอัลกอริธึมแบบ Multipole แบบหลายชั้นปกติและโดยประมาณ,” ความคืบหน้าในการวิจัยเกี่ยวกับแม่เหล็กไฟฟ้า 106, pp. 203–223, 2010 http://www.jpier.org/PIER/pier106/13.10061711.pdf

[B1] วายซาด, วิธีการทำซ้ำสำหรับระบบเชิงเส้นแบบกระจาย SIAM, 2003 http://www-users.cs.umn.edu/~saad/IterMethBook_2ndEd.pdf


8

วิธีการย่อย Krylov ที่ซ้อนกันเช่นนี้อาจทำงานได้ค่อนข้างดีในทางปฏิบัติ มันอาจเป็นที่สนใจสำหรับระบบเชิงเส้นที่ไม่สมมาตรซึ่งการรีสตาร์ท GMRES ซบเซาและ GMRES ที่ไม่ได้รีสตาร์ทนั้นแพงเกินไปหรือใช้หน่วยความจำมากเกินไป บางวรรณกรรม:

  1. GMRESR: ตระกูลของวิธีการ GMRES ที่ซ้อนกัน , van der Vorst, Vuik
  2. วิธีพื้นที่ย่อย Krylov ด้านนอกที่ยืดหยุ่น , Simoncini, Szyld
  3. Saad ซึ่งเป็นอัลกอรึทึมของ GMRES ที่มีเงื่อนไขก่อนกำหนด
  4. ประสบการณ์เพิ่มเติมกับ GMRESR , Vuik
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.