SVD ของเมทริกซ์คำนวณอย่างไรในทางปฏิบัติ


11

เช่น MATLAB จะคำนวณ SVD ของเมทริกซ์ที่กำหนดอย่างไร ผมถือว่าคำตอบอาจจะเกี่ยวข้องกับการคำนวณ eigenvectors A*A'และค่าลักษณะเฉพาะของ หากเป็นกรณีนี้ฉันอยากจะรู้ว่ามันคำนวณได้อย่างไร



4
ที่จริงแล้วไม่เกี่ยวข้องกับการคำนวณค่าลักษณะเฉพาะและค่าของ ! นั่นจะช่วยลดความแม่นยำของผลลัพธ์ได้อย่างมาก AAT
Michael Grant

คำตอบ:


11

AAT

ดู

GH Golub และ C. Reinsch การสลายตัวของค่าเอกฐานและโซลูชันกำลังสองน้อยที่สุด Numerische Mathematik 14: 403-420, 1970

วัสดุนี้มีการกล่าวถึงในตำราเรียนจำนวนมากเกี่ยวกับพีชคณิตเชิงเส้นเชิงตัวเลข


13

นอกเหนือจากกระดาษ Golub-Reinsch (ตอนนี้คลาสสิก) Brian หมายเหตุในคำตอบของเขา (ฉันได้เชื่อมโยงกับรุ่นHandbookของกระดาษ) เช่นเดียวกับกระดาษ (ก่อนหน้านี้ยังคลาสสิก) บรรพบุรุษของ Golub-Kahanมีจำนวน ของการพัฒนาที่สำคัญในการคำนวณ SVD ตั้งแต่นั้นมา ก่อนอื่นฉันต้องสรุปวิธีการทำงานตามปกติ

แนวคิดในการคำนวณ SVD ของเมทริกซ์นั้นคล้ายกับวิธีที่ใช้ในการคำนวณ eigendecomposition ของเมทริกซ์สมมาตร (และดังที่กล่าวไว้ใน OP มีความสัมพันธ์ใกล้ชิดระหว่างพวกเขา) โดยเฉพาะอย่างยิ่งหนึ่งรายได้ในสองขั้นตอน: การแปลงเป็นเมทริกซ์ bidiagonalแล้วค้นหา SVD ของเมทริกซ์ bidiagonal นี่คล้ายกับขั้นตอนแรกของการลดเมทริกซ์สมมาตรให้อยู่ในรูปแบบสามเหลี่ยม

สำหรับการคำนวณ SVD ของเมทริกซ์ bidiagonal การพัฒนาที่น่าสนใจอย่างหนึ่งคือกระดาษโดย Jim Demmel และ Velvel Kahanซึ่งแสดงให้เห็นว่าเราสามารถคำนวณแม้แต่ค่าเอกพจน์เล็ก ๆ ของเมทริกซ์ bidiagonal ที่มีความแม่นยำดีโดยการปรับวิธีการที่เหมาะสม Golub-Reinsch นี้ถูกแล้วตามด้วยอีกครั้ง (?) การค้นพบของdqdอัลกอริทึมซึ่งเป็นลูกหลานของขั้นตอนวิธีการเก่าเชาวน์ความแตกต่างของ Rutishauser (Beresford Parlett ให้การสนทนาที่ดีที่นี่.) หากหน่วยความจำทำหน้าที่นี่เป็นวิธีที่ต้องการใช้ภายในโดย LAPACK นอกเหนือจากนี้มันเป็นไปได้เสมอที่จะได้รับเวอร์ชัน SVD ของการพัฒนาในการแก้ปัญหาของสมมาตร eigenproblems; ตัวอย่างเช่นมีรุ่น SVD ของการหารและพิชิตเช่นเดียวกับรุ่น SVD ของอัลกอริทึม Jacobi เก่า (ซึ่งอาจมีความแม่นยำมากขึ้นในบางสถานการณ์)

สำหรับวิธีการสองวิธีที่ได้รับการปรับปรุงวิธีหนึ่งได้ถูกร่างไว้ในกระดาษของบาร์โลว์ซึ่งต้องการการทำงานมากกว่ากระบวนการเดิมของ Golub และ Reincsh เล็กน้อย แต่ให้ผลการฝึกอบรมที่แม่นยำยิ่งขึ้น


1
@ แจ็คคุณเห็นสิ่งนี้โดยบังเอิญไหม?
JM

น่าแปลกที่ฉันไม่ได้!
Jack Poulson
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.