แนวคิดหลักที่อยู่เบื้องหลัง Multigrid คือการฉายภาพ ฉันลองคิดดูดังนี้
สมมติว่าฉันต้องการแก้ปัญหา PDE ด้วยความแม่นยำจำนวนมากดังนั้นฉันจึงทำการแยกโดเมน (สมมติว่าใช้วิธี จำกัด ผลต่าง) บนกริดที่มีจำนวนมากและจุดมากมาย ในที่สุดฉันตั้งค่าระบบสมการของฉันและฉันพร้อมที่จะแก้ปัญหา ฉันลองใช้ตัวแก้ซ้ำที่ชื่นชอบ (จาโคบี sea เกาส์การไล่ระดับสีคอนจูเกต ฯลฯ ) ฉันรอมากกว่าหนึ่งวันและรู้ว่าคอมพิวเตอร์ของฉันยังคงพยายามคำนวณคำตอบ !!!
สาเหตุที่วิธีการวนซ้ำเหล่านี้ไม่ทำงานอย่างรวดเร็วเป็นเพราะ (โดยทั่วไป) เมื่อคุณตั้งค่าระบบสมการขนาดใหญ่เช่นนี้เมทริกซ์เองมีค่าลักษณะเฉพาะมากถึง 1 เหตุใดเรื่องนี้จึงเป็นเช่นนั้น เนื่องจากอัตราการลู่เข้าของวิธีการวนซ้ำหลายครั้งนั้นสัมพันธ์กับค่าลักษณะเฉพาะที่ใหญ่ที่สุด (ดูลิงค์ของ Christian Clason ไปยัง Slides Multigrid Tutorial Slug ของ Brigg, ตอนที่ 1, หน้า 27) ดังนั้นยิ่งค่าลักษณะเฉพาะที่ใหญ่ที่สุดคือ 1 ยิ่งวิธีการวนซ้ำช้าลง (หมายเหตุ: สิ่งนี้กำลังทำให้สิ่งต่าง ๆ มีความซับซ้อน แต่ช่วยกระตุ้นความต้องการหลายระดับ)
เห็นได้ชัดว่ามันเร็วกว่าเสมอในการแก้ปัญหาหากมีสิ่งแปลกปลอมน้อยลง (เช่นบนกริดหยาบที่มีกริดพอยท์น้อยลง) แต่ที่สำคัญกว่านั้นวิธีแก้ปัญหา (หรือวิธีแก้ปัญหาโดยประมาณ) บนกริด coarser เป็นจุดเริ่มต้นที่ดีในการแก้ปัญหาบนกริดที่ดีกว่า นี่เป็นแนวคิดหลักที่อยู่เบื้องหลังเมธอด multigrid ส่วนใหญ่ (ถ้าไม่ใช่ทั้งหมด) ทำไมเป็นกรณีนี้ โดยสังหรณ์ใจมันสมเหตุสมผล แต่มีวิธีการทางคณิตศาสตร์อย่างเข้มงวดในการให้เหตุผลนี้
ลองดูที่โหมดฟูริเยร์ของข้อผิดพลาดในวิธีการวนซ้ำ (เพื่อประโยชน์ในการโต้แย้งสมมติว่า Jacobi หรือ Gauss seidel) นำไปใช้กับปัญหากริดเดิม เราจะเห็นว่าภายในการทำซ้ำสองสามครั้งแรกข้อผิดพลาดความถี่สูง (ความผันผวนสูง) ส่วนใหญ่จะถูกลบออก! นี่เป็นสิ่งที่ดี แต่มีข้อผิดพลาดความถี่ต่ำ (สั่นน้อยลง) ที่ยังคงอยู่และไม่หายไปอย่างรวดเร็ว ในความเป็นจริงมันเป็นข้อผิดพลาดความถี่ต่ำที่ป้องกันไม่ให้วิธีการวนซ้ำมาตรฐานมาบรรจบกันอย่างรวดเร็ว
เมื่อเราแก้ปัญหาบนตารางหยาบ (สมมติว่าโดยวิธีการที่กล่าวย้ำเช่น Jacobi หรือเกาส์-Seidel) เราเป็นหลักสามารถลบข้อผิดพลาดความถี่ต่ำมากขึ้นอย่างรวดเร็ว (เช่นในการทำซ้ำน้อยกว่า) ในตารางที่ดี ดังนั้นหากเราแก้ปัญหาของกริดหยาบเรามีทางออกที่ข้อผิดพลาดความถี่ต่ำได้ลดลงอย่างมีนัยสำคัญ ดังนั้นมันจะมีประโยชน์เป็นจุดเริ่มต้นสำหรับวิธีการวนซ้ำบนกริดปลีกย่อย
ในขณะที่มีวิธีหลาย multigrid ที่แตกต่างกันส่วนใหญ่ทำงานโดยการเปลี่ยนแปลงบางอย่างต่อไปนี้:
- เริ่มต้นด้วยปัญหากริดที่ดี
- โครงการบนกริดหยาบ (หรือที่เรียกว่าข้อ จำกัด )
- ประมาณวิธีแก้ปัญหาบนกริดหยาบ (ใช้ตัวแก้อื่น ๆ )
- ฉายโซลูชันกริดแบบหยาบบนกริดปลีกย่อย (หรือที่เรียกว่าการยืด )
- ใช้การฉายภาพจาก 4. เป็นการคาดเดาเริ่มต้นแก้ปัญหากริดที่ละเอียดด้วยวิธีการวนซ้ำ
สำหรับฉันส่วนที่ยากที่สุดของวิธี multigrid คือการประมาณระหว่างกริด บทเรียนที่ Briggs แนะนำโดย @ChristianClason จัดการเรื่องนี้ได้ดีกว่าที่ฉันทำได้