ปัญหาที่การไล่ระดับสีแบบคอนจูเกตนั้นดีกว่า GMRES มาก


17

ฉันสนใจในกรณีที่การไล่ระดับสีคอนจูเกตทำงานได้ดีกว่าวิธี GMRES

โดยทั่วไป CG เป็นตัวเลือกที่ดีกว่าในหลาย ๆ กรณีของ SPD (symmetric-positive-definite) เนื่องจากมันต้องการพื้นที่จัดเก็บน้อยกว่าและต้องอาศัยทฤษฎีตามอัตราการลู่เข้าสำหรับ CG เป็นสองเท่าของ GMRES มีปัญหาใดบ้างหรือไม่ที่มีการปฏิบัติตามอัตราดังกล่าวจริง มีลักษณะของกรณีใดบ้างที่ GMRES มีประสิทธิภาพดีกว่าหรือเทียบเคียงกับ CG สำหรับจำนวน spmvs ที่เหมือนกัน (การกระจายเมทริกซ์เมทริกซ์ - เวกเตอร์)

คำตอบ:


8

สิ่งหนึ่งที่ CG มีความโปรดปรานก็คือมันไม่ได้ลดบรรทัดฐานแบบแยกส่วนล.2สำหรับพหุนามที่เหลืออยู่ (สิ่งที่ GMRES ทำ) มันลดบรรทัดฐานที่เหนี่ยวนำให้เกิดเมทริกซ์แทนและบ่อยครั้งที่บรรทัดฐานที่เหนี่ยวนำเมทริกซ์นี้จบลงด้วยความใกล้ชิดกับบรรทัดฐานพลังงานสำหรับการแยกแยะปัญหาทางกายภาพและบ่อยครั้งที่นี่เป็นบรรทัดฐานที่สมเหตุสมผลมากกว่าในการวัดข้อผิดพลาด จากฟิสิกส์

คุณสามารถบรรลุผลเช่นนี้กับ GMRES ได้เช่นกันหากดำเนินการตัวประกอบแบบ Cholesky ของเมทริกซ์มวลไม่แพงเกินไปคุณสามารถบังคับให้ผลิตภัณฑ์ภายในเป็นพลังงานภายในผลิตภัณฑ์ที่คุณต้องการ

จากนั้นกรณีที่เราควรคาดหวังว่า CG จะดำเนินการแตกต่างจาก GMRES อย่างมากแล้วก็คือเมื่อค่าคงที่ที่บอกเป็นนัยในการเทียบเท่าปกตินั้นแตกต่างกันมาก เรื่องนี้อาจเป็นจริงตัวอย่างเช่นในลำดับสูง - วิธี Galerkin ที่แยกออกมาใช้ในบรรทัดฐานล.2 GMRES ปฏิบัติต่อเสรีภาพทุกองศาเท่ากันเมื่ออยู่ในความเป็นจริงพหุนามเรเดียน gradients คมชัดอยู่ใกล้กับเขตแดน (เพราะฉะนั้นการรวมกลุ่มโหนด) และ ค่าคงตัวเชิงบรรทัดฐานระหว่างค่าคงที่นั้นและบอกว่าค่าคงที่ของต่อเนื่องที่L2กำหนดโดยเมทริกซ์มวลนั้นมีขนาดใหญ่มาก


ต้องการยกตัวอย่างที่นี่ด้วยวิธีการเรียงลำดับสูงและประวัติการบรรจบกันของ CG, GMRES และ GMRES + เคล็ดลับ Cholesky .. แต่น่าเสียดายที่รหัสเดียวที่ฉันมีในมือสำหรับปัญหาอันดับสองคือ DG ของความหลากหลายที่ไม่สมมาตร .. ดังนั้น CG จึงไม่ ใช้งานได้จริงชอบที่จะเห็นสิ่งนี้ในการดำเนินการ
Reid.Atcheson

3
ฉันคิดว่าคำตอบของคุณได้รับสิ่งที่สำคัญ แต่ฉันหวังว่าคุณจะชี้แจง โดยเฉพาะอย่างยิ่งคำถามนี้เป็นคำถามพีชคณิตเชิงเส้นที่บริสุทธิ์และคำตอบของคุณพูดถึงบรรทัดฐานทางกายภาพและเมทริกซ์มวลและอื่น ๆ จาก PDE เชิงตัวเลข เราสามารถพูดบางอย่างแม่นยำเกี่ยวกับวิธีลดบรรทัดฐานที่แตกต่างกันภายในพื้นที่ Krylov เดียวกันนำไปสู่ ​​iterates ที่แตกต่างกันได้อย่างไร
Andrew T. Barker

นอกเหนือจากตัวอย่างที่เป็นตัวเลขฉันไม่คิดว่ายังมีการศึกษาเชิงทฤษฎีอย่างระมัดระวังอธิบายว่าบรรทัดฐานที่แตกต่างกันให้คำตอบที่แตกต่างกันอย่างมีนัยสำคัญอย่างไร ปัญหาที่ฉันคิดว่าเป็นผลหมุนรอบ asymptotics และสำหรับระบบเชิงเส้นคงที่ผลลัพธ์ทางทฤษฎีจะเป็นปัจจัยคงที่โมดูโลเหมือนกัน หากมีการศึกษาเชิงทฤษฎีอยู่ที่นั่นฉันชอบที่จะเห็นพวกเขา แต่หลังจากถามผู้เชี่ยวชาญพีชคณิตเชิงเส้นเชิงตัวเลขในแผนกของฉันดูเหมือนว่ายังไม่มีการวิเคราะห์เชิงทฤษฎีที่แม่นยำแสดงให้เห็นว่าเกิดอะไรขึ้นกับบรรทัดฐานที่แตกต่างกัน
Reid.Atcheson

4

ฉันสงสัยว่าโดยทั่วไปมีความแตกต่างไม่มากระหว่าง GMRES และ CG สำหรับเมทริกซ์ SPD

สมมติว่าเราจะแก้x = Bกับสมมาตรบวกแน่นอนและคาดเดาเริ่มต้นx 0 = 0และสร้าง iterates กับ CG และ GMRES เรียกพวกเขาx kและx กรัม k ทั้งสองวิธีที่กล่าวย้ำจะสร้างx kจากที่เดียวกัน Krylov พื้นที่K k = { B , , 2, ... } พวกเขาจะทำในวิธีที่แตกต่างกันเล็กน้อยAx=bAx0=0xkcxkgxkKk={b,Ab,A2b,}

ekc=xxkcA

(Aอีk,อีk)=(A(x-xk),x-xk)=นาทีYK(A(x-Y),x-Y).

GMRES ย่อขนาดเหลือแทนและทำเช่นนั้นในบรรทัดฐาน2 ที่ไม่ต่อเนื่องดังนั้น ( r k , r k ) = ( b - A x g k , b - A x g k ) = นาทีY K ( - Y , - Y ) ตอนนี้ใช้สมการข้อผิดพลาดอีk = R k ( R k , R k ) = ( อีกรัมk , อีกรัมk ) = ( 2 อีกรัมk , อีกรัมk ) 2 A ARk=-Axkก.2

(Rk,Rk)=(-Axkก.,-Axkก.)=นาทีYK(-AY,-AY).
Aอีk=Rkเรายังสามารถเขียน GMRES เพื่อย่อให้เล็กที่สุด start ที่ฉันต้องการ จะเน้นว่านี้ถือเป็นเพียงการ SPD เมทริกซ์ จากนั้นเรามี CG เพื่อลดข้อผิดพลาดเกี่ยวกับ norm และ GMRES ลดข้อผิดพลาดที่เกี่ยวข้องกับnormหากเราต้องการให้พวกเขาประพฤติแตกต่างกันมากโดยสังเขปเราจะต้องมีฏที่ว่าทั้งสองบรรทัดฐานนั้นแตกต่างกันมาก แต่สำหรับเมจิบรรทัดฐานเหล่านี้จะทำงานค่อนข้างใกล้เคียงกัน
(Rk,Rk)=(Aอีkก.,Aอีkก.)=(A2อีkก.,อีkก.)
AAA2AA

ที่จะได้รับที่เฉพาะเจาะจงมากยิ่งขึ้นในการทำซ้ำครั้งแรกกับพื้นที่ Krylovทั้ง CG และ GMRES จะสร้างประมาณของแบบฟอร์มข CG จะเลือก และ GMRES จะเลือก start ถ้าเป็นเส้นทแยงมุมที่มีรายการและดังนั้นเป็นคนแรก ขั้นตอน CG นั้นใหญ่เป็นสองเท่าของขั้นตอน GMRES อาจเป็นไปได้ว่าคุณสามารถสร้างและK1={}x1=α

α=(,)(A,)
α=(A,)(A2,).
A(ε,1,1,1,...)=(1,1,0,0,0,...)ε0A เพื่อให้ปัจจัยความแตกต่างสองอย่างนี้ดำเนินต่อไปตลอดการทำซ้ำ แต่ฉันสงสัยว่ามันแย่กว่านั้นอีก

2
ให้) จากนั้น| b| ==(1,ε,0,0,...) ,bTAb=||=1+εและbTA2b=ϵTA=2εTA2=ε1+ε2αบรรษัทภิบาล=ε-1+12~ε-1αGMRES=21+ε2~2ε-1

3

สิ่งหนึ่งคือ GMRES ไม่เคยถูกใช้งานทุกที่ที่ CG สามารถนำไปใช้ได้ ฉันไม่คิดว่ามันสมเหตุสมผลที่จะเปรียบเทียบทั้งสองนี้ สำหรับเมทริกซ์ SPD CG เป็นผู้ชนะแน่นอนเนื่องจากความต้องการพื้นที่จัดเก็บและเหตุผลที่คุณกล่าวถึงข้างต้น คำถามที่น่าสนใจคือการหาส่วนเสริม CG ที่ใช้กับปัญหาที่ไม่สามารถใช้ CG ได้ มีวิธีการเช่น BiCG-stab ที่ไม่ต้องการหน่วยความจำเพิ่มขึ้นแบบเส้นตรงเช่น GMRES แต่คอนเวอร์เจนซ์นั้นไม่ดีเท่ากับ GMRES (บางครั้งถึงกับ GMRES ที่เริ่มใหม่)


2
มีแผนการ IDR ที่เชื่อมช่องว่างระหว่าง GMRES และ BiCG ในแง่ของการประหยัดหน่วยความจำความเสถียรและการบรรจบกัน: ta.twi.tudelft.nl/nw/users/gijzen/IDR.html ฉันไม่แน่ใจว่าฉันยอมรับ GMRES ไม่ควรใช้ถ้า CG สามารถทำได้ หากคุณสามารถสร้างเมทริกซ์แบบ cholesky ของเมทริกซ์ที่ทำให้เกิดบรรทัดฐานพลังงานของคุณคุณสามารถป้อนเข้าไปในการคำนวณแบบสมมาตร Lanczos และได้รับการแก้ปัญหาการเกิดซ้ำระยะสามที่จะทำหน้าที่คล้าย CG แน่นอนว่า CG เป็นตัวเลือกที่ง่ายกว่า แต่ตัวเลือกนั้นมีให้ใช้งาน :)
Reid.Atcheson

2
หากคุณใช้ Krylov ที่นุ่มนวลกว่าเช่นนั้น GMRES นั้นน่าจะดีกว่าเพราะมันใช้บรรทัดฐานที่อ่อนแอกว่าซึ่งกำหนดเป้าหมายค่าลักษณะเฉพาะขนาดใหญ่ซึ่งมีแนวโน้มที่จะมีความถี่สูงกว่า
Jed Brown
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.