มีสองประเด็นแยกกันที่นี่
- วิธีการใช้งานที่มีประสิทธิภาพสำหรับแก้ในการสั่งซื้อเพื่อนำไปใช้ข1 / 2ขA x = bA1 / 2ข
- วิธีการคำนวณดีเทอร์มิแนนต์
คำตอบสั้น ๆ คือ 1) ใช้การประมาณฟังก์ชั่นเมทริกซ์เหตุผลและ 2) คุณไม่ แต่คุณไม่จำเป็นต้องทำอะไรเลย ฉันแก้ไขปัญหาเหล่านี้ทั้งสองด้านล่าง
การประมาณรากที่สองของเมทริกซ์
แนวคิดนี้คือการแปลงการประมาณฟังก์ชัน rational สำหรับฟังก์ชัน scalar เป็นการประมาณฟังก์ชัน rational สำหรับฟังก์ชัน matrix
เรารู้ว่ามีฟังก์ชั่นเหตุผลที่สามารถประมาณฟังก์ชันสแควร์รูทได้ดีมาก
บวกb_iเพื่อให้ได้ความแม่นยำสูงในช่วงเวลาคุณจำเป็นต้องใช้ในซีรีส์ ในการรับน้ำหนักที่เหมาะสม ( ) และเสา ( ) เพียงแค่ค้นหาฟังก์ชั่นที่มีเหตุผลประมาณออนไลน์หรือในหนังสือbฉัน[m,M]O(บันทึกM
x--√≈ r ( x ) : = a1x + b1+ a2x + b2+ ⋯ + aยังไม่มีข้อความx + bยังไม่มีข้อความ,
ขผม[ m , M]ai-biO ( บันทึกMม.)aผม- ขผม
ตอนนี้ลองใช้ฟังก์ชั่นเหตุผลนี้กับเมทริกซ์ของคุณ:
r ( A ) = a1( A + b1ผม)- 1+ a2( A + b2ผม)- 1+ ⋯ + aยังไม่มีข้อความ( A + bยังไม่มีข้อความผม)- 1.
เนื่องจากความสมดุลของเรามี
ที่คือการสลายตัวมูลค่าเอกพจน์ (SVD) ของ ดังนั้นคุณภาพของการประมาณเมทริกซ์เหตุผลจะเทียบเท่ากับคุณภาพของการประมาณฟังก์ชั่นเหตุผลที่ตำแหน่งของค่าลักษณะเฉพาะ| | 1 / 2 - R ( ) | | 2A
|| 1 / 2- r ( A ) | |2= | | ยู( Σ1/ 2- r ( Σ ) ) U* * * *||2,=สูงสุดผม|σผม--√- r ( σผม) |
A = UΣ คุณ* * * *A
แสดงถึงจำนวนเงื่อนไขของโดยเราสามารถนำไปใช้กับความอดทนที่ต้องการโดยดำเนินการกราฟที่ปรับเปลี่ยนในเชิงบวก Laplacian ของรูปแบบ
κ 1 / 2ขO ( บันทึกκ ) ( + ขฉัน) x = BAκA1 / 2ขO ( บันทึกκ )
(A+bI)x=b.
วิธีแก้ปัญหาเหล่านี้สามารถทำได้ด้วยตัวทำละลาย Laplacian กราฟที่คุณชื่นชอบ - ฉันชอบเทคนิคหลายประเภท แต่หนึ่งในกระดาษที่คุณอ้างถึงควรจะใช้ได้เช่นกัน ค่าพิเศษเพียงช่วยให้การรวมกันของตัวแก้bI
สำหรับบทความที่ดีเยี่ยมเกี่ยวกับเรื่องนี้รวมถึงเทคนิคการวิเคราะห์ที่ซับซ้อนทั่วไปที่ใช้กับเมทริกซ์แบบไม่สมมาตรดูการคำนวณ ,และฟังก์ชันเมทริกซ์ที่เกี่ยวข้องโดยอินทิกรัลรูปร่างล็อก( )Aαlog(A)โดย Hale, Higham และ Trefethen (2008) )
กำหนด "การคำนวณ"
ตัวกำหนดนั้นยากต่อการคำนวณ เท่าที่ฉันรู้วิธีที่ดีที่สุดคือการคำนวณการสลายตัว Schur โดยใช้อัลกอริทึม QR จากนั้นอ่านค่าลักษณะเฉพาะจากเส้นทแยงมุมของเมทริกซ์รูปสามเหลี่ยมบน ใช้เวลาโดยที่คือจำนวนโหนดในกราฟ U O ( n 3 ) nA=QUQ∗UO(n3)n
อย่างไรก็ตามการคำนวณดีเทอร์มิแนนต์เป็นปัญหาที่ไม่สามารถควบคุมได้โดยธรรมชาติดังนั้นหากคุณเคยอ่านกระดาษที่อาศัยการคำนวณดีเทอร์มิแนนต์ของเมทริกซ์ขนาดใหญ่คุณควรจะสงสัยอย่างมากเกี่ยวกับวิธีนี้
โชคดีที่คุณอาจไม่ต้องการปัจจัย ตัวอย่างเช่น,
เราสามารถดูเป็นการอัปเดตข้อมูลประจำตัวระดับต่ำ
ซึ่งเป็นตัวเลขที่มีประสิทธิภาพ rank, , ของการอัปเดตระดับต่ำคือการวัดในท้องถิ่นว่าการแจกแจงที่แท้จริงแบบไม่ Gaussian นั้นเป็นอย่างไร; โดยทั่วไปแล้วจะต่ำกว่าระดับเมทริกซ์ทั้งหมด อันที่จริงถ้ามีขนาดใหญ่การกระจายตัวที่แท้จริงนั้นไม่ใช่แบบเกาส์เซียนท้องถิ่นดังนั้นจึงควรตั้งคำถามกับกลยุทธ์ทั้งหมดของการพยายามลองตัวอย่างการกระจายตัวนี้โดยใช้การประมาณแบบเกาส์ท้องถิ่นA−1x0Axp
A−1x0Axp=I+QDQ∗,
rr
ปัจจัยอันดับต่ำและสามารถพบได้ด้วยการสุ่ม SVDหรือ Lanczos โดยใช้เมทริกซ์
ถึงเวกเตอร์ที่ต่างกันแต่ละแอปพลิเคชันที่ต้องใช้หนึ่งกราฟ วิธีการแก้ปัญหา Laplacian ดังนั้นการทำงานโดยรวมสำหรับการได้รับปัจจัยอันดับต่ำเหล่านี้คือE))QD
A−1x0Axp−I
O(r)O(rmax(n,E))
ทราบว่าอัตราส่วนดีเทอร์มิแนนต์คือ
เดชอุดม( - 1 x 0 x P ) = det ( ฉัน+ Q D Q * ) = ประสบการณ์( R Σฉัน= 1บันทึกd ฉัน )D=diag(d1,d2,…,dr)
det(A−1x0Axp)=det(I+QDQ∗)=exp(∑i=1rlogdi).
เทคนิคการคำนวณการปันส่วนดีเทอร์มิแนนต์ต่ำเหล่านี้สามารถพบได้ในวิธี Stochastic Newton MCMC สำหรับปัญหาผกผันทางสถิติขนาดใหญ่ที่มีการประยุกต์ใช้กับการผกผันของแผ่นดินไหวโดย Martin, et al. (2012) ในบทความนี้นำไปใช้กับปัญหาต่อเนื่องดังนั้น "กราฟ" เป็นตารางในพื้นที่ 3 มิติและกราฟ Laplacian เป็นเมทริกซ์ Laplacian จริง อย่างไรก็ตามเทคนิคทั้งหมดนำไปใช้กับ Laplacians กราฟทั่วไป อาจมีกระดาษอื่น ๆ ที่ใช้เทคนิคนี้กับกราฟทั่วไปในตอนนี้ (ส่วนขยายนั้นเล็กน้อยและโดยทั่วไปคือสิ่งที่ฉันเพิ่งเขียน)