preconditioner สำหรับวิธีการปราศจากเมทริกซ์เพื่อแก้ Ax = b


9

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

ฉันกำลังมองหา Petsc ซึ่งให้ส่วนต่อประสานสำหรับตัวดำเนินการเชิงเส้นแบบปราศจากเมทริกซ์ แต่สิ่งที่ฉันไม่เข้าใจจริง ๆ แล้วเป็นวิธีการคำนวณล่วงหน้าโดย petc หรือไม่? หรือฉันควรจัดให้มีเงื่อนไขเบื้องต้นของฉันเอง? ถ้าเป็นเช่นนั้นจะมีเครื่องมือหรือผู้รับในการสร้างตัวสร้างเงื่อนไขล่วงหน้าจากตัวดำเนินการเชิงเส้นแบบปราศจากเมทริกซ์หรือไม่?

ข้อมูลเพิ่มเติมเกี่ยวกับโอเปอเรเตอร์ของฉัน: มันไม่สมมาตร, ไม่เป็นแนวทแยงมุม, แต่ครอบงำด้วย sidebands ไม่กี่อัน (แต่มันไม่ใช่แถบสีในแนวทแยง)

คำตอบ:


7

คุณจะต้องม้วนตัวสร้างเงื่อนไขของคุณเอง ถ้าคุณรู้ว่าเมทริกซ์มันไม่น่าจะเป็นเรื่องยากอย่างยิ่งที่จะใช้บางสิ่งบางอย่างอย่างเช่น SSOR preconditioner หากคุณรู้อย่างอื่นเกี่ยวกับปัญหาตัวอย่างเช่นมันมาจาก PDE ซึ่งวิธีแก้ปัญหาสามารถประมาณค่าได้ดีบน coarser mesh คุณสามารถพิจารณาสร้าง preconditioners โดยการ จำกัด ปัญหาไปยัง coarser mesh การแก้ปัญหาและขยาย ทางออกกลับไปสู่ต้นฉบับ ข้อ จำกัด และการยืดสามารถนำมาใช้เป็นการดำเนินงานที่ปราศจากเมทริกซ์

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