รหัส Multigrid เกี่ยวกับพีชคณิต


9

ฉันต้องการทราบรายละเอียดเพิ่มเติมเกี่ยวกับการใช้งานพีชคณิต Multigrid วิธี (AMG) ฉันได้อ่าน "การสอนแบบ Multigrid" ซึ่งค่อนข้างดีและอธิบายรายละเอียดทั้งหมดของการแก้ไขตัวดำเนินการกริดหยาบและการเลือกกริดหยาบสำหรับ AMG อย่างไรก็ตามฉันคิดว่าไม่มีอะไรที่เหมือนกับการเล่นและอ่านรหัส

ดังนั้นฉันอยากจะถามว่าใครรู้ AMG "โค้ดตัวอย่าง" แบบคลาสสิกใด ๆ เช่นรหัส FORTRAN ทางเรขาคณิตแบบ Multigrid ที่มีในตอนท้ายของ "วิธีการแบบ Multigrid" (SIAM) โดย SF McCormick มันค่อนข้างยากที่จะได้รหัสที่มีคุณภาพและการผลิตสูงเช่น BoomerAMG เพื่อเรียนรู้เพิ่มเติมเกี่ยวกับวิธีการ


คุณสนใจAMG แบบคลาสสิกเป็นพิเศษหรือไม่? ถ้าเป็นเช่นนั้นโปรดระบุสิ่งนี้ในคำถาม
Jed Brown

คำตอบ:


10

BoomerAMG เป็นส่วนหนึ่งของแพคเกจHypreซึ่งง่ายต่อการได้รับ รหัสที่ซับซ้อนมากน้อยถ้าคุณกำลังเริ่มออกมาดูที่วิธีการเหล่านี้อาจจะมีPyAMG


ใช่ฉันได้ดู PyAMG ซึ่งเป็นโค้ดที่ดีมาก แต่มันมีทุกอย่างเกี่ยวกับการห่อโค้ด C / C ++ ใน Python มันใช้วิธีการ AMG ที่แตกต่างนอกเหนือจาก "classic" และอื่น ๆ ฉันกำลังมองหาสิ่งที่ง่ายกว่าที่ผู้คนใช้สำหรับการสอน
Bernardo MR

4
น่าเสียดายที่ประสบการณ์ทั่วไปเกี่ยวกับการใช้และพยายามมีส่วนร่วมกับรหัส AMG คือหากคุณไม่มีตัวเลือกมากมายคุณจะไม่สามารถแก้ไขปัญหาใด ๆ ที่กำลังเข้าใกล้ปัญหาที่น่าสนใจ ดังนั้นแพ็คเกจ AMG ทั่วไปของคุณจะมีตัวเลือกจำนวนมากสำหรับการประมาณค่าความเชื่อมโยงการสร้างผู้สร้างและการปรับให้เรียบซึ่งยากที่จะแยกวิเคราะห์โดยการอ่านรหัส ที่ถูกกล่าวว่า AMG แบบคลาสสิกนั้นตายง่ายและการใช้งานด้วยตัวเองหรือให้นักเรียนลองทำเอง (ขึ้นอยู่กับระดับความสามารถของพวกเขา) อาจเป็นหนทางไป
Peter Brune

2

ฉันขอแนะนำAlfio Borizi ของการแนะนำวิธีพีชคณิตมัลติigrid มีตัวอย่างฟอร์แทรน 77 รหัสในภาคผนวก A


ฉันคิดว่าเขากำลังถามเกี่ยวกับการใช้งานไม่ใช่วรรณกรรมมากกว่า
Jack Poulson

1
@JackPoulson: มีการนำไปใช้ในภาคผนวก
เปาโล

2
ขออภัยฉันไม่สามารถอ่านเช้านี้ได้ upvoted
Jack Poulson

1
@ พอล: ฉันอาจจะผิด แต่ฉันคิดว่านี่เป็นรหัส multigrid ทางเรขาคณิตสำหรับปัญหาปัวซอง (ซึ่งใช้ได้กับกรณีที่ไม่เป็นเชิงเส้นด้วย)
Bernardo MR

@ BernardoM.R: ฉันเพิ่งพบไฟล์ postscript นี้ ... มันมีตัวอย่างที่เป็นรูปธรรมมากมายสำหรับตัวดำเนินการยืดและ จำกัด สำหรับปัญหาของแบบจำลอง แม้ว่ามันจะไม่ได้มีรหัสที่สมบูรณ์ แต่ก็อาจมีประโยชน์สำหรับคุณ
เปาโล

1

นอกจากนี้ยังมีแพ็คเกจ ML ที่เป็นส่วนหนึ่งของ Trilinos ชื่อเสียงของมันนั้นดีพอ ๆ กับ BoomerAMG / hypre

แพ็คเกจ Trilinos ใหม่สำหรับ AMG เรียกว่า MueLu ฉันเชื่อว่าและน่าจะวางจำหน่ายในรุ่นที่ใหม่กว่า

ทั้งหมดนี้เป็นโอเพ่นซอร์ส


1
MueLu ยังไม่ได้รับการปล่อยตัวและครั้งสุดท้ายที่ฉันได้พูดคุยกับเขาเรย์ไม่ได้คาดหวังว่าจะมีการเปิดเผยต่อสาธารณะอีกปีหรือมากกว่านั้น โปรดทราบว่า ML และ MueLu (เท่าที่ฉันเคยได้ยินสิ่งที่อยู่ในนั้น) จะขึ้นอยู่กับการรวมที่ราบรื่นซึ่งค่อนข้างเป็นอัลกอริทึมที่แตกต่างจาก AMG แบบคลาสสิก (ซึ่งเป็นพื้นฐานของ BoomerAMG)
Jed Brown

1

ฉันทำงานเกี่ยวกับการดำเนินการนี้มาระยะหนึ่งแล้ว มันคือ Python / Numpy / Scipy มันไม่ใช่มัลติพีชคณิตเกี่ยวกับพีชคณิต - คุณต้องจัดหาโอเปอเรเตอร์ของคุณเอง แต่ถ้าเป็นการดำเนินการด้านการศึกษาที่คุณสนใจฉันยินดีต้อนรับคำขอดึงเพื่อเพิ่มความสามารถดังกล่าว

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