การเปลี่ยนแปลงมุมฉากดีกว่าการกำจัดแบบเกาส์เซียนเมื่อไหร่?


22

ดังที่เราทราบวิธีการเปลี่ยนมุมฉาก (การหมุนของ Givens และการสะท้อนกลับของเจ้าของ) สำหรับระบบของสมการเชิงเส้นนั้นมีราคาแพงกว่าการกำจัดแบบเกาส์เซียน แต่ในทางทฤษฎีมีคุณสมบัติเสถียรภาพที่ดีกว่าในแง่ที่ว่าพวกเขาไม่ได้เปลี่ยน แม้ว่าฉันจะรู้เพียงตัวอย่างทางวิชาการของเมทริกซ์ที่ถูกทำลายโดยการกำจัดแบบเกาส์ด้วยการหมุนบางส่วน และมีความเห็นทั่วไปว่าเป็นไปได้ยากที่จะพบกับพฤติกรรมแบบนี้ในทางปฏิบัติ (ดูบันทึกการบรรยายนี้ [pdf] )

ดังนั้นเราจะหาคำตอบของหัวข้อได้จากที่ไหน? การใช้งานแบบขนาน? ปรับปรุง? ..

คำตอบ:


24

ความถูกต้อง

Trefethen and Schreiber เขียนบทความยอดเยี่ยมความเสถียรแบบกรณีเฉลี่ยของการกำจัดแบบเกาส์เซียนซึ่งพูดถึงด้านความแม่นยำของคำถามของคุณ นี่คือข้อสรุปบางประการ:

  1. "สำหรับ QR ตีนเป็ดมีหรือไม่มีระบบคอลัมน์องค์ประกอบสูงสุดเฉลี่ยของเมทริกซ์ที่เหลือคือในขณะที่สำหรับ Gaussian กำจัดมันเป็นO ( n ) . การเปรียบเทียบนี้แสดงให้เห็นว่าเสียนกำจัดไม่เสถียรอย่างอ่อนโยน แต่ ความไม่แน่นอนนั้นจะสามารถตรวจพบได้สำหรับปัญหาเมทริกซ์ที่มีขนาดใหญ่มากซึ่งถูกแก้ไขในความแม่นยำต่ำสำหรับปัญหาในทางปฏิบัติส่วนใหญ่การกำจัดแบบเกาส์เซียนนั้นมีความเสถียรสูงโดยเฉลี่ย "(เหมืองเน้น)O(n1/2)O(n)

  2. "หลังจากสองสามขั้นตอนแรกของการกำจัดแบบเกาส์เซียนองค์ประกอบเมทริกซ์ที่เหลือจะกระจายไปตามปกติโดยประมาณไม่ว่าพวกมันจะเริ่มต้นด้วยวิธีแบบนั้นก็ตาม"

มีกระดาษอีกมากที่ฉันไม่สามารถจับได้ที่นี่รวมถึงการอภิปรายเกี่ยวกับเมทริกซ์ที่แย่ที่สุดที่คุณพูดถึงดังนั้นฉันขอแนะนำอย่างยิ่งให้คุณอ่าน

ประสิทธิภาพ

สำหรับการฝึกอบรมจริงตาราง LU กับระบบบางส่วนต้องใช้ประมาณ flops ในขณะที่เจ้าของบ้านตาม QR ต้องใช้ประมาณ4 / 3 n 3 flops ดังนั้นสำหรับเมทริกซ์จตุรัสที่มีขนาดใหญ่พอสมควรการแยกตัวประกอบคิวอาร์จะมีราคาแพงกว่าการแยกตัวประกอบ LU เพียงสองเท่า2/3n34/3n3

สำหรับเมทริกซ์ที่n , LU กับระบบบางส่วนต้องใช้n 2 - n 3 / 3 flops เทียบกับ QR ของ2 เมตรn 2 - 2 n 3 / 3 (ซึ่งยังคงเป็นสองเท่าของ LU ตีนเป็ด) แต่มันเป็นเรื่องธรรมดาที่น่าแปลกใจสำหรับการใช้งานในการผลิตเมทริกซ์ผอมสูงมาก ( » n ) และ Demmel et al, มีกระดาษที่ดีการแยกตัวประกอบการสื่อสารแบบขนานและ QR ตามลำดับm×nmnmn2n3/32mn22n3/3mnซึ่ง (ในหัวข้อที่ 4) พูดถึงอัลกอริทึมที่ชาญฉลาดซึ่งต้องการเพียงข้อความที่จะส่งเมื่อใช้ตัวประมวลผลpกับข้อความn บันทึกpของวิธีการดั้งเดิม ค่าใช้จ่ายคือการดำเนินการ flops พิเศษO ( n 3 log p )แต่สำหรับn ที่มีขนาดเล็กมากสิ่งนี้มักเป็นที่ต้องการของค่าเวลาแฝงในการส่งข้อความเพิ่มเติมlogppnlogpO(n3logp)n


10

ฉันประหลาดใจที่ไม่มีใครพูดถึงปัญหากำลังสองน้อยที่สุดเชิงเส้นซึ่งเกิดขึ้นบ่อยครั้งในการคำนวณทางวิทยาศาสตร์ หากคุณต้องการใช้การกำจัดแบบเกาส์เซียนคุณต้องจัดทำและแก้สมการปกติซึ่งมีลักษณะดังนี้:

ATAx=ATb,

โดยที่คือเมทริกซ์ของจุดข้อมูลที่สอดคล้องกับการสังเกตตัวแปรอิสระxเป็นเวกเตอร์ของพารามิเตอร์ที่จะพบและbAxbเป็นเวกเตอร์ของจุดข้อมูลที่สอดคล้องกับการสังเกตของตัวแปรตาม

เมื่อแจ็คพอลสันชี้ให้เห็นบ่อยๆจำนวนเงื่อนไขของคือจตุรัสของจำนวนเงื่อนไขของAดังนั้นสมการปกติจึงสามารถทำให้เกิดความหายนะได้ ในกรณีดังกล่าวแม้ว่าวิธีการตาม QR และ SVD จะช้ากว่า แต่ก็ให้ผลลัพธ์ที่แม่นยำมากขึ้นATAA


2
upvoted แต่ QR จริงควรจะอยู่ในหุ้นที่มี LU ถ้าคุณพิจารณาที่ไม่จำเป็นการดำเนินงานที่จำเป็นในรูปแบบH (QR เพียง แต่ต้องใช้2 / 3 n 3มากขึ้นกว่า flops LU) วิธีการแบบ SVD ยังคงช้ากว่านี้ (ผู้ใช้สามารถคิดค่าใช้จ่ายประมาณ6 n 3 ) n3AHA2/3n36n3
Jack Poulson

1
นอกเหนือจากความเสถียรที่รับประกันโดยการใช้การเปลี่ยนมุมฉากข้อดีที่สำคัญของ SVD คือการสลายตัวให้การตรวจสอบสภาพของตัวเองเนื่องจากอัตราส่วนของค่าที่ใหญ่ที่สุดต่อค่าเอกพจน์ที่น้อยที่สุดคือจำนวนเงื่อนไขที่แม่นยำ (2 บรรทัดฐาน) สำหรับการย่อยสลายอื่น ๆ การใช้ตัวประมาณสภาพ (เช่น Hager-Higham) คือแม้ว่าจะไม่แพงเท่าการย่อยสลายที่เหมาะสม แต่ค่อนข้าง "ติดอยู่"
JM

1
@JackPoulson คุณเพิ่งมีความอยากรู้อยากเห็นคุณมีการอ้างอิงสำหรับ flop count สำหรับ SVD หรือไม่? จากสิ่งที่ฉันสามารถบอกได้จากการค้นหาอย่างรวดเร็วใน Golub & Van Loan (หน้า 254 รุ่นที่ 3) ค่าคงที่จะสูงขึ้นสำหรับการใช้ SVD ในการแก้ปัญหากำลังสองน้อยที่สุด แต่ฉันอาจเข้าใจผิด ขอบคุณล่วงหน้า.
OscarB

1
@OscarB: มันเป็นตัวเลขคร่าวๆที่อยู่ด้านบนของหัวของฉันซึ่งต่ำกว่าการสร้าง SVD แบบเต็ม (เพราะเราสามารถหลีกเลี่ยงค่าใช้จ่ายในการเปลี่ยนรูปแบบด้านหลังได้) การทำงานเป็นสิ่งจำเป็นสำหรับการลดลงในรูปแบบ bidiagonal (พูด, = F B G H ) ปริมาณของการทำงานบางอย่างบอกว่าCเป็นสิ่งจำเป็นสำหรับ SVD bidiagonal ( B = U Σ V H ) แล้วx : = ( G ( V ( i n v ( Σ )) ( U H8/3n3A=FBGHCB=UΣVHซึ่งควรจะต้องมี O ( n 2 )การทำงาน ดังนั้นมันเป็นเรื่องของการที่ Cขนาดใหญ่เป็น ... ถ้า MRRR เคยทำงานที่นี่มันจะเป็น O ( n 2 )แต่จนกว่าจะถึงลูกบาศก์และขึ้นอยู่กับปัญหา x:=(G(V(inv(Σ)(UH(FHb)))))O(n2)CO(n2)
Jack Poulson

1
@JM โปรดทราบว่าหมายเลขเงื่อนไขของปัญหากำลังสองน้อยที่สุดไม่ใช่หมายเลขเงื่อนไข "คลาสสิค" ของเมทริกซ์; มันเป็นปริมาณที่ซับซ้อนมากขึ้น σ1σn
Federico Poloni

3

คุณวัดประสิทธิภาพอย่างไร ความเร็ว? ความถูกต้อง? ความมั่นคง? การทดสอบอย่างรวดเร็วใน Matlab ให้สิ่งต่อไปนี้:

>> N = 100;
>> A = randn(N); b = randn(N,1);
>> tic, for k=1:10000, [L,U,p] = lu(A,'vector'); x = U\(L\b(p)); end; norm(A*x-b), toc
ans =
   1.4303e-13
Elapsed time is 2.232487 seconds.
>> tic, for k=1:10000, [Q,R] = qr(A); x = R\(Q'*b); end; norm(A*x-b), toc             
ans =
   5.0311e-14
Elapsed time is 7.563242 seconds.

ดังนั้นการแก้ระบบเดียวที่มีการสลายตัวของ LU นั้นเร็วกว่าการแก้ด้วย QR-decomposition ประมาณสามเท่าด้วยค่าความแม่นยำครึ่งทศนิยมครึ่ง (ตัวอย่างนี้!)


บุญใด ๆ ที่คุณแนะนำยินดีต้อนรับ
faleichik

3

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

พิจารณาพื้นที่ของเมทริกซ์ทั้งหมด วิธีการเหล่านี้ใช้ได้ดีเกือบทุกที่ นั่นคือ 99.999 ... % ของเมทริกซ์ทั้งหมดที่สามารถสร้างได้จะไม่มีปัญหากับวิธีการที่ไม่เสถียร มีเพียงเมทริกซ์น้อยมากที่ GE และอื่น ๆ จะมีปัญหา

ปัญหาที่นักวิจัยสนใจนั้นมักจะอยู่ในช่วงเวลาเล็กน้อย

เราไม่ได้สร้างเมทริกซ์แบบสุ่ม เราสร้างเมทริกซ์ที่มีคุณสมบัติพิเศษมากซึ่งสอดคล้องกับระบบที่พิเศษและไม่สุ่ม เมทริกซ์เหล่านี้มักจะไม่มีเงื่อนไข

คุณสามารถพิจารณาพื้นที่เชิงเส้นของเมทริกซ์ทั้งหมดได้ สเปซย่อยของปริมาตร / การวัดไม่มีศูนย์ของเมทริกซ์เอกพจน์จะตัดผ่านช่องว่างนี้ ปัญหามากมายที่เราสร้างขึ้นนั้นมีการทำคลัสเตอร์รอบ ๆ พื้นที่ย่อยนี้ พวกเขาจะไม่กระจายแบบสุ่ม

เป็นตัวอย่างให้พิจารณาสมการความร้อนหรือการกระจายตัว ระบบเหล่านี้มีแนวโน้มที่จะลบข้อมูลออกจากระบบ (สถานะเริ่มต้นทั้งหมดเข้าสู่สถานะสุดท้ายเดียว) และเนื่องจากเมทริกซ์ผลลัพธ์ที่อธิบายสมการเหล่านี้มีเอกพจน์มหาศาล กระบวนการนี้ไม่น่าเป็นไปได้มากในสถานการณ์ที่สุ่ม แต่แพร่หลายในระบบทางกายภาพ


2
หากระบบเชิงเส้นเริ่มมีอาการไม่ดีไม่ว่าคุณจะใช้วิธีใด: การแยกย่อยของ LU และ QR จะให้ผลลัพธ์ที่ไม่ถูกต้อง QR สามารถชนะได้เฉพาะในกรณีที่กระบวนการกำจัด Gaussian "spoils" เป็น matrix ที่ดี ปัญหาหลักคือกรณีของพฤติกรรมดังกล่าวไม่เป็นที่รู้จัก
faleichik

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

@ พอล: ในอีกทางหนึ่งการกำจัดแบบเกาส์หนาแน่นนั้นเป็นที่ที่ใช้เวลาส่วนใหญ่ในวิธีการหลายแนวหน้าสำหรับเมทริกซ์แบบไม่สมมาตรแบบเบาบาง
Jack Poulson

6
@ พอลมันไม่เป็นความจริงเลยว่า "การใช้งานส่วนใหญ่จะสร้างเมทริกซ์ที่โดดเด่นของ SPD / แนวทแยงมุม" ใช่แล้วมักจะมีโครงสร้างที่หาประโยชน์ได้ในบางประเภท แต่ปัญหาที่ไม่สมมาตรและไม่มีกำหนดเป็นเรื่องธรรมดามาก
Jed Brown

4
"ในห้าสิบปีของการคำนวณไม่มีปัญหาเมทริกซ์ที่กระตุ้นความไม่แน่นอนของการระเบิดได้เกิดขึ้นภายใต้สถานการณ์ธรรมชาติ" - LN Trefethen และ D. Bauพวกเขาให้การวิเคราะห์ความน่าจะเป็นที่น่าสนใจในหนังสือของพวกเขา
JM
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.