เกณฑ์การหยุดสำหรับตัวแก้เชิงเส้นแบบวนซ้ำที่ใช้กับระบบเกือบเอกพจน์


16

Ax=Aλ0ARn=-Axnn v λ 0 A v = λ 0 vRn/R0<เสื้อโอล.nโวลต์λ0Aโวลต์=λ0โวลต์. สมมติว่าส่วนที่เหลือเริ่มต้นR0มีขนาดใหญ่แล้วมันอาจเกิดขึ้นที่เราหยุดที่Rn/R0<เสื้อโอล.แต่ข้อผิดพลาดxn-xยังคงมีขนาดใหญ่ ตัวบ่งชี้ข้อผิดพลาดที่ดีกว่าคืออะไรในกรณีนี้ คือxn-xn-1ผู้สมัครที่ดี?


3
คุณอาจต้องการคิดถึงนิยามของคำว่า "เกือบเป็นเอกเทศ" เมทริกซ์ผมε (กับε«1และผมเมทริกซ์เอกลักษณ์) มีค่าเฉพาะขนาดเล็กมาก แต่เท่าจากเอกพจน์เป็นเมทริกซ์ใด ๆ ที่อาจจะ
David Ketcheson

1
นอกจากนี้||Rn/R0||ดูเหมือนว่าเครื่องหมายผิด ||Rn||/||R0||เป็นเรื่องปกติมากขึ้นไม่?
Bill Barth

ใช่คุณพูดถูกบิล! ฉันจะแก้ไขข้อผิดพลาดนี้
Hui Zhang

1
เกี่ยวกับ? และอัลกอริทึมของคุณคืออะไร -Ax/
shuhalo

2
ภาคผนวก: ฉันคิดว่าบทความต่อไปนี้ค่อนข้างอยู่ใกล้กับระบบปรับอากาศที่คุณต้องกังวลอย่างน้อยถ้าคุณใช้ CG: Axelson, Kaporin: การประมาณค่าบรรทัดฐานผิดพลาดและการหยุดเกณฑ์ในการทำลาดเอียงแบบผันผันเงื่อนไขร่วมกัน DOI: 10.1002 / nla.244
shuhalo

คำตอบ:


13

โปรดอย่าใช้ความแตกต่างระหว่างการวนซ้ำต่อเนื่องเพื่อกำหนดเกณฑ์การหยุด การวินิจฉัยนี้ซบเซาสำหรับการลู่เข้า การทำซ้ำเมทริกซ์แบบไม่สมมาตรส่วนใหญ่ไม่ใช่แบบโมโนโทนและแม้แต่ GMRES ในเลขคณิตที่แน่นอนที่ไม่มีการรีสตาร์ทอาจซบเซาสำหรับจำนวนการทำซ้ำโดยพลการ (ขึ้นอยู่กับมิติของเมทริกซ์) ก่อนที่จะมาบรรจบกันทันที ดูตัวอย่างในNachtigal เรดดี้และ Trefethen (1993)

วิธีที่ดีกว่าในการกำหนดคอนเวอร์เจนซ์

เรามักจะสนใจในความถูกต้องของวิธีแก้ปัญหาของเรามากกว่าขนาดของส่วนที่เหลือ โดยเฉพาะเราอาจต้องการรับประกันว่าความแตกต่างระหว่างโซลูชันโดยประมาณและโซลูชันที่แน่นอนตามสำหรับผู้ใช้ระบุบางคปรากฎว่าสามารถทำได้โดยการหาเช่นนั้นโดยที่เป็นค่าเอกพจน์ที่เล็กที่สุดของเนื่องจาก x | x n - x | < c c x n | A x n - b | < c ϵ ϵ Axnx

|xn-x|<
xn
|Axn-|<ε
εA

|xn-x|=|A-1A(xn-x)|1ε|Axn-Ax|=1ε|Axn-|<1εε=

โดยที่เราใช้ว่าเป็นค่าเอกพจน์ที่ใหญ่ที่สุดของ (บรรทัดที่สอง) และนั้นแก้ปัญหา (บรรทัดที่สาม) ได้อย่างแน่นอนA - 1 x A x = b1/εA-1xAx=

การประมาณค่าเอกพจน์ที่เล็กที่สุดε

การประมาณค่าที่ถูกต้องแม่นยำของค่าเอกพจน์ที่น้อยที่สุดมักไม่สามารถใช้ได้โดยตรงจากปัญหา แต่สามารถประมาณได้ว่าเป็นผลพลอยได้จากการไล่ระดับสีแบบคอนจูเกตหรือการวนซ้ำ GMRES โปรดทราบว่าแม้ว่าค่าประมาณค่าลักษณะเฉพาะที่ใหญ่ที่สุดและค่าเอกพจน์มักจะค่อนข้างดีหลังจากการทำซ้ำเพียงไม่กี่ครั้งการประมาณค่าที่ถูกต้องของค่า eigen / เอกพจน์ที่เล็กที่สุดมักจะได้รับเมื่อถึงการลู่เข้าเท่านั้น ก่อนการบรรจบกันการประมาณโดยทั่วไปจะมีขนาดใหญ่กว่ามูลค่าที่แท้จริง นี้แสดงให้เห็นว่าคุณจริงต้องแก้สมการก่อนที่คุณจะสามารถกำหนดความอดทนที่ถูกต้องคอดทนลู่อัตโนมัติที่จะใช้เวลาที่ผู้ใช้ให้ความถูกต้องc ϵ c ϵ ϵεεสำหรับการแก้ปัญหาและประมาณการค่าเอกพจน์เล็กที่สุดกับสถานะปัจจุบันของวิธี Krylov อาจจะมาบรรจบกันเร็วเกินไปเพราะการประมาณนั้นใหญ่กว่าค่าที่แท้จริงมากεε

หมายเหตุ

  1. การสนทนาข้างต้นยังทำงานกับถูกแทนที่ด้วยตัวดำเนินการที่กำหนดเงื่อนไขไว้ล่วงหน้าและเงื่อนไขที่เหลือล่วงหน้าหรือด้วยตัวดำเนินการที่ถูกต้องล่วงหน้าและข้อผิดพลาดx) หากเป็นผู้มีเงื่อนไขเบื้องต้นที่ดีผู้ดำเนินการที่มีเงื่อนไขล่วงหน้าจะมีสภาพดี สำหรับการปรับสภาพซ้าย - ซ้ายนี่หมายความว่าสารตกค้างที่เหลืออยู่สามารถทำได้เพียงเล็กน้อย แต่สารตกค้างที่แท้จริงอาจไม่ใช่ สำหรับการปรับสภาพล่วงหน้าให้ถูกต้องทำเล็กง่าย แต่ข้อผิดพลาดที่แท้จริงP - 1 A P - 1 ( A x n - b ) A P - 1 P ( x n - x ) P - 1 | P ( x n - x ) | | x n - x |AP-1AP-1(Axn-)AP-1P(xn-x)P-1|P(xn-x)||xn-x|อาจจะไม่ สิ่งนี้อธิบายได้ว่าทำไมการปรับสภาพซ้ายสุดดีกว่าสำหรับการทำข้อผิดพลาดเล็ก ๆ ในขณะที่การปรับสภาพขวาจะดีกว่าสำหรับการทำสิ่งที่เหลือเล็ก ๆ
  2. ดูคำตอบนี้สำหรับการสนทนาเพิ่มเติมเกี่ยวกับบรรทัดฐานที่ลดลงโดย GMRES และ CG
  3. การประเมินค่าเอกพจน์สุดขั้วสามารถตรวจสอบได้โดยใช้-ksp_monitor_singular_valueกับโปรแกรม PETSc ใด ๆ ดูKSPComputeExtremeSingularValues ​​()เพื่อคำนวณค่าเอกพจน์จากรหัส
  4. เมื่อใช้ GMRES เพื่อประเมินค่าเอกพจน์เป็นสิ่งสำคัญที่ไม่ต้องใช้การเริ่มระบบใหม่ (เช่น-ksp_gmres_restart 1000ใน PETSc)

1
'' ยังทำงานร่วมกับแทนที่โดยผู้ประกอบการ preconditioned '' - แต่มันก็ใช้เฉพาะกับที่เหลือ preconditionedถ้าจะใช้ความรับผิดชอบ กับข้อผิดพลาด preconditionedถ้าถูกนำมาใช้ P -P-1R P - 1 δxA P - 1P-1AP-1δxAP-1
Arnold Neumaier

1
จุดดีฉันแก้ไขคำตอบของฉัน โปรดทราบว่ากรณีที่มีการกำหนดเงื่อนไขล่วงหน้าช่วยให้คุณสามารถควบคุมโดยการคลี่คลายเงื่อนไขล่วงหน้า (ใช้ ) โดยทั่วไปจะขยายโหมดพลังงานต่ำในข้อผิดพลาด P - 1PδxP-1
Jed Brown

6

อีกวิธีหนึ่งในการดูปัญหานี้คือการพิจารณาเครื่องมือจากปัญหาผกผันที่ไม่ต่อเนื่องนั่นคือปัญหาที่เกี่ยวข้องกับการแก้หรือที่มีอาการไม่ดีมาก (เช่นอัตราส่วนระหว่าง ค่าเอกพจน์แรกและสุดท้ายมีขนาดใหญ่)Ax=นาที||Ax-||2Aσ1/σn

ที่นี่เรามีหลายวิธีในการเลือกเกณฑ์การหยุดและสำหรับวิธีการวนซ้ำฉันขอแนะนำเกณฑ์ L-curve เนื่องจากมันเกี่ยวข้องกับปริมาณที่มีอยู่แล้วเท่านั้น (หมายเหตุ: ที่ปรึกษาของฉันเป็นผู้บุกเบิกวิธีการนี้ มัน). ฉันใช้สิ่งนี้กับความสำเร็จในวิธีการวนซ้ำ

แนวคิดคือการตรวจสอบบรรทัดฐานที่เหลือและวิธีแก้ปัญหามาตรฐานโดยที่คือการวนซ้ำของในขณะที่คุณวนซ้ำสิ่งนี้จะเริ่มวาดรูปร่างของ L ในพล็อตล็อกล็อก (rho, eta) และจุดที่มุมของ L นั้นเป็นตัวเลือกที่ดีที่สุดρk=||Axk-||2ηk=||xk||2xkk

สิ่งนี้ช่วยให้คุณสามารถใช้เกณฑ์ที่คุณจับตามองเมื่อคุณผ่านมุม (เช่นดูที่การไล่ระดับสีของ ) จากนั้นเลือกการวนซ้ำที่อยู่ที่มุม(ρk,ηk)

วิธีที่ฉันทำเกี่ยวข้องกับการจัดเก็บซ้ำ 20 ครั้งล่าสุดและหากการไล่ระดับสีมีขนาดใหญ่กว่าขีด จำกัด สำหรับการวนซ้ำ 20 ครั้งฉันรู้ว่าฉันอยู่ในแนวดิ่งของเส้นโค้งและฉันผ่านมุมแล้ว จากนั้นฉันก็ใช้การวนซ้ำครั้งแรกในอาร์เรย์ของฉัน (เช่นการทำซ้ำ 20 ครั้งก่อน) เป็นโซลูชันของฉันas(เข้าสู่ระบบ(ηk)-เข้าสู่ระบบ(ηk-1)เข้าสู่ระบบ(ρk)-เข้าสู่ระบบ(ρk-1))

นอกจากนี้ยังมีวิธีการโดยละเอียดเพิ่มเติมสำหรับการค้นหามุมและวิธีการเหล่านี้ทำงานได้ดีขึ้น แต่ต้องมีการจัดเก็บซ้ำจำนวนมาก เล่นรอบกับมันเล็กน้อย หากคุณอยู่ใน MATLAB คุณสามารถใช้กล่องเครื่องมือ Regularization Tools ซึ่งใช้งานบางอย่างนี้ (โดยเฉพาะฟังก์ชั่น "มุม" ใช้งานได้)

โปรดทราบว่าวิธีการนี้เหมาะอย่างยิ่งสำหรับปัญหาขนาดใหญ่เนื่องจากเวลาในการประมวลผลพิเศษที่เกี่ยวข้องนั้นมีขนาดเล็ก


1
ขอบคุณมาก! ดังนั้นในพล็อต loglog (rho, eta) เราเริ่มต้นจากด้านขวาของเส้นโค้ง L และสิ้นสุดที่จุดสูงสุดของ L ใช่ไหม? ฉันไม่ทราบหลักการที่อยู่เบื้องหลังเกณฑ์นี้ คุณช่วยอธิบายได้ไหมว่าทำไมมันถึงทำตัวเหมือนเส้นโค้ง L และทำไมเราถึงเลือกมุม?
Hui Zhang

ด้วยความยินดี. สำหรับวิธีการวนซ้ำเราเริ่มต้นจากขวาและจบที่ด้านบนเสมอ มันจะทำงานเป็น L เนื่องจากเสียงในปัญหา - ส่วนที่เกิดขึ้นในแนวตั้งที่เป็นเสียงเวกเตอร์ E สำหรับการวิเคราะห์เพิ่มเติมดู Hansen, PC, & O'Leary, DP (1993) การใช้เส้นโค้ง L ในการทำให้เป็นปกติของปัญหาที่ไม่ต่อเนื่อง SIAM Journal on Scientific Computing, 14. โปรดทราบว่าฉันเพิ่งทำการอัพเดทเล็กน้อยกับโพสต์ ||Ax-||2=||อี||2อีอีxaเสื้อ=+อี
OscarB

4
@HuiZhang: ไม่ใช่แอลเสมอหากการกำหนดมาตรฐานไม่ชัดเจนอาจเป็นแอลดับเบิลที่นำไปสู่ผู้สมัครสองคนสำหรับการแก้ปัญหาอันที่มีการแก้ไขขั้นต้นดีกว่าอีกรายที่แก้ไขได้ดีกว่า (และแน่นอนรูปร่างของ ecomplex อาจปรากฏขึ้น)
Arnold Neumaier

L-curve นำไปใช้กับปัญหาที่ไม่ดีซึ่งควรมีวิธีแก้ไขปัญหาเฉพาะหรือไม่? นั่นคือฉันสนใจในปัญหา Ax = b โดยที่ b รู้จักกันในชื่อ "อย่างแน่นอน" และ A เกือบจะเป็นเอกเทศ แต่ก็ยังกลับด้านเทคนิคได้ ดูเหมือนว่าสำหรับฉันถ้าคุณใช้บางอย่างเช่น GMRES บรรทัดฐานของการคาดเดา x ในปัจจุบันของคุณจะไม่เปลี่ยนแปลงมากเกินไปเมื่อเวลาผ่านไปโดยเฉพาะอย่างยิ่งหลังจากการทำซ้ำครั้งแรก สำหรับฉันแล้วดูเหมือนว่าส่วนแนวตั้งของเส้นโค้ง L เกิดขึ้นเนื่องจากไม่มีวิธีแก้ปัญหาที่ไม่เหมือนใครในปัญหาที่ไม่ถูกต้อง คุณลักษณะตามแนวตั้งนี้จะปรากฏในปัญหาที่ไม่มีเงื่อนไขหรือไม่
nukeguy

ณ จุดหนึ่งคุณจะถึงเส้นแนวตั้งดังกล่าวซึ่งโดยทั่วไปแล้วเนื่องจากข้อผิดพลาดเชิงตัวเลขในวิธีการแก้ปัญหาของคุณส่งผลให้ | | Ax-b || ไม่ลดลง อย่างไรก็ตามคุณคิดถูกว่าในปัญหาที่ปราศจากสัญญาณรบกวนเส้นโค้งจะไม่เหมือน L เสมอไปซึ่งหมายความว่าโดยทั่วไปคุณจะมีมุมให้เลือกและเลือกมุมที่ไม่เหมือนกัน ฉันเชื่อว่ากระดาษที่ฉันอ้างถึงในความคิดเห็นของฉันข้างต้นกล่าวถึงสถานการณ์ที่ปราศจากเสียงรบกวนสั้น ๆ
OscarB
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.