คำถามนี้เปิดมาเป็นเวลานาน แต่ฉันคิดว่ามันสมควรที่จะได้รับคำตอบ
ปัญหาพื้นฐานที่มีการใช้ Krylov-space solver บนบล็อกแต่ละตัวเป็นปัจจัยพื้นฐานภายในคือพวกมันไม่ใช่ตัวดำเนินการเชิงเส้น เพื่อให้เข้าใจสิ่งนี้เราจะแสดงโดยเวกเตอร์ที่คุณได้รับเป็นวิธีแก้ปัญหาด้วยการรัน Krylov space methodบนระบบเชิงเส้นสำหรับการวนซ้ำส่วนใหญ่หรือจนกว่าจะมีความอดทนถึงใช้ preconditioner1} ในคำอื่น ๆ ที่คุณสามารถคิดเป็นผู้ประกอบการที่ทำหน้าที่ในขx~=K(A,P,τ,N;b)KAx=bNτP≈A−1Kb
ตอนนี้ทราบว่าเป็นตัวดำเนินการเชิงเส้น: มันจะต้องมีการแก้ไขอย่างแน่นอนนั่นคือซึ่งเป็นเส้นตรงในขในหลายกรณีการทำงานวิธีการพื้นที่ Krylov สำหรับตรงหนึ่งย้ำเริ่มต้นจากศูนย์เวกเตอร์นี้ยังมีผู้ประกอบการเชิงเส้นนำไปใช้กับขแต่เนื่องจากลำดับของเวกเตอร์ Krylov ขึ้นอยู่กับส่วนที่เหลือเริ่มต้น , ตัวดำเนินการโดยทั่วไปไม่ใช่ ผู้ประกอบการเชิงเส้นสำหรับ จำกัดและ\K(A,P,0,∞;⋅)Ax=bK(A,P,0,∞;b)=A−1bbbr(0)=b−Ax(0)K(A,P,τ,N;⋅)Nτ
สิ่งนี้หมายความว่าถ้าคุณใช้เป็นส่วนหนึ่งของ preconditioner สำหรับระบบเชิงเส้นที่เป็นหนึ่งบล็อกคุณจะจบลงด้วย preconditioner ที่ไม่ทำหน้าที่เป็น ผู้ประกอบการเชิงเส้นK(A,P,τ,N;⋅)A
ตรงกันข้ามกับวิธีอื่น ๆ ที่ใช้ในการกำหนดเงื่อนไขล่วงหน้าตัวอย่างเช่นขั้นตอน SSOR หนึ่งขั้นตอนเป็นการดำเนินการเชิงเส้นบนเวกเตอร์ที่คุณใช้เช่นเดียวกับวิธีอื่นทั้งหมดที่ใช้ขั้นตอนเดียวของการทำซ้ำจุดคงที่
ปัญหาพื้นฐานในขณะนี้คือวิธีการพื้นที่ Krylov ส่วนใหญ่ต้องการให้ผู้กำหนดเงื่อนไขเป็นตัวดำเนินการเชิงเส้น พวกมันจะไม่มาบรรจบกันถ้าผู้สร้างเงื่อนไขไม่ใช่เชิงเส้นอธิบายการสังเกตของคุณ ในทางกลับกันมีวิธีการพื้นที่ Krylov บางรูปแบบซึ่งมักจะนำหน้าด้วยคำว่า "ยืดหยุ่น" เช่น F-GMRES ใน "ยืดหยุ่น GMRES" - ซึ่งทำงานรอบนี้และสามารถจัดการกับสิ่งที่จำเป็นต้องมีก่อนได้ ผู้ประกอบการ ตัวแปรที่ยืดหยุ่นเหล่านี้ของวิธีการดั้งเดิมจะยังคงมาบรรจบกันและมักจะเป็นวิธีที่ทรงพลังเมื่อรวมกับปัจจัยพื้นฐานที่ดี (แต่ไม่เชิงเส้น)