ความซับซ้อนของการหา Eigendecomposition ของเมทริกซ์


40

คำถามของฉันง่าย:

ที่เลวร้ายที่สุดกรณีที่เวลาการทำงานของอัลกอริทึมที่รู้จักกันดีที่สุดสำหรับการคำนวณคืออะไรeigendecompositionของn×nเมทริกซ์?

eigendecomposition ลดการคูณเมทริกซ์หรือเป็นอัลกอริทึมที่รู้จักกันดีO(n3) (ผ่านSVD ) ในกรณีที่เลวร้ายที่สุด?

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

แก้ไข : ให้บางส่วนของคำตอบดังต่อไปนี้ให้ฉันปรับคำถาม: ฉันมีความสุขกับ -approximation การประมาณนั้นอาจเป็นแบบหลายแบบเพิ่มแบบเข้าทางหรือแบบใดก็ตามที่คุณต้องการ ฉันสนใจถ้ามีอัลกอริธึมที่รู้จักซึ่งพึ่งพาnได้ดีกว่าO ( p o l y ( 1 / ϵ ) n 3 ) ?ϵnO(poly(1/ϵ)n3)

แก้ไข 2 : ดูคำถามที่เกี่ยวข้องนี้บนเมทริกซ์สมมาตร


คุณเคยดูการลดการผกผันของเมทริกซ์เป็นการคูณเมทริกซ์ในตำราเรียนอัลกอริทึม CLRS หรือไม่? ฉันจะเริ่มต้นด้วยการดูความคิดเหล่านั้นเพื่อดูว่าพวกมันขยายตัวไปสู่การสลายตัวของไอเก็นหรือไม่
Warren Schudy

ใช่ - พวกเขาดูเหมือนจะขยายตัวเพื่อค้นหาการสลายตัวของ LU แต่ฉันไม่ทราบวิธีที่จะทำให้การสลายตัวของไอจีนินทำงานได้
เลฟเรซิน

คุณรู้หรือไม่ว่าO(n3)เป็นอัลกอริทึมที่รู้จักกันดีที่สุดสำหรับการคำนวณ SVD หรือไม่?
Robin Kothari

1
O(min(mn2,m2n))n×n

Alright ฉันไม่รู้เรื่องนี้มากนัก แต่บางทีการคำนวณ SVD อาจลดลงเป็น eigendecomposition เนื่องจากถ้าคุณสามารถ eigendecompose AA * และ A * A คุณจะได้เมทริกซ์ขวาและซ้ายสำหรับ SVD
Robin Kothari

คำตอบ:


18

Ryan ตอบคำถามคล้ายกันใน mathoverflow นี่คือลิงค์: mathoverflow-answer

โดยทั่วไปคุณสามารถลดการคำนวณค่าลักษณะเฉพาะเพื่อการคูณเมทริกซ์โดยการคำนวณตัวกำหนดเชิงสัญลักษณ์ นี่จะทำให้เวลาทำงานของ O ( ) เพื่อรับค่าบิตของค่าลักษณะเฉพาะ ที่ดีที่สุดรันไทม์ที่รู้จักกันในปัจจุบันคือ O ( ) สำหรับการประมาณภายในข}nω+1mmn3+n2log2nlogb2b

การอ้างอิงของ Ryan คือ `` Victor Y. Pan, Zhao Q. Chen: ความซับซ้อนของ Matrix Eigenproblem STOC 1999: 507-516 ''

(ฉันเชื่อว่ายังมีการอภิปรายเกี่ยวกับความสัมพันธ์ระหว่างความซับซ้อนของค่าลักษณะเฉพาะและการคูณเมทริกซ์ใน Aho, Hopcroft และหนังสือ Ullman รุ่นเก่า `` การออกแบบและวิเคราะห์อัลกอริทึมคอมพิวเตอร์ '' อย่างไรก็ตามฉันไม่มีหนังสือใน ข้างหน้าฉันและฉันไม่สามารถให้หมายเลขหน้าที่แน่นอนแก่คุณ)


13

การค้นหาค่าลักษณะเฉพาะนั้นเป็นกระบวนการวนซ้ำ: การค้นหาค่าลักษณะเฉพาะนั้นเทียบเท่ากับการค้นหารากของพหุนาม ยิ่งไปกว่านั้นทฤษฎีของ Abel – Ruffini กล่าวว่าโดยทั่วไปแล้วคุณไม่สามารถแสดงรากของพหุนามโดยพลการในรูปแบบปิดแบบง่าย ๆ (เช่นกับอนุมูลเช่นสูตรสมการกำลังสอง) ดังนั้นคุณจึงไม่สามารถคาดหวังในการคำนวณค่าลักษณะเฉพาะ "อย่างแน่นอน"

ซึ่งหมายความว่าอัลกอริทึมการสลายตัวทางสเปกตรัมจะต้องประมาณ เวลาทำงานของอัลกอริทึมทั่วไปจะต้องขึ้นอยู่กับความถูกต้องที่ต้องการ มันไม่สามารถพึ่งพามิตินี้ได้

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

ดูที่ http://en.wikipedia.org/wiki/List_of_numerical_analysis_topics#Eigenvalue_algorithms


ขอบคุณสำหรับคำตอบของคุณ - ฉันจะต้องใช้เวลาในการย่อย! แต่ถ้าใครใช้การคูณเมทริกซ์ - เวกเตอร์การพึ่งพา n อาจจะดีกว่า n ^ 3
เลฟเรซิน

6

ฉันจะให้คำตอบเพียงบางส่วนที่เกี่ยวข้องกับค่าลักษณะเฉพาะของเมทริกซ์

ดังที่ได้กล่าวไปแล้วก่อนหน้านี้มีวิธีการวนซ้ำหลายวิธีในการค้นหาค่าลักษณะเฉพาะของเมทริกซ์ (เช่นการทำซ้ำพลัง) แต่โดยทั่วไปการหาค่าลักษณะเฉพาะลดการค้นพบรากของพหุนามลักษณะ การค้นหาพหุนามลักษณะสามารถทำได้ในโดยที่เป็นค่าใช้จ่ายของการคูณบิตและคือขนาดบิตของรายการสูงสุดโดย a สัญลักษณ์การคำนวณโดยใช้ปัจจัยBAREISS ของอัลกอริทึม ดูหนังสือของ Yap เกี่ยวกับ"ความรู้พื้นฐานของพีชคณิตขั้นตอนวิธี"โดยเฉพาะChap 10 "ระบบเชิงเส้น"O(n3MB[n(logn+L)])MB(s)sL

เมื่อพบพหุนามลักษณะแล้วเราสามารถหารากได้ในระดับความแม่นยำที่ต้องการโดยใช้การแยกช่วงเวลา ดูหนังสือของ Yap, Chap 6 "Roots of Polynomials"สำหรับรายละเอียด ฉันลืมเวลาทำงานที่แน่นอน แต่พหุนามในระดับพหุนามลักษณะและตัวเลขของความแม่นยำที่ต้องการ

ฉันสงสัยว่าการคำนวณ eigenvector ถึงความแม่นยำระดับใดก็เป็นพหุนาม แต่ฉันไม่เห็นอัลกอริธึมตรงไปตรงมา แน่นอนว่ามีกระเป๋ามาตรฐานของกลอุบายที่ได้กล่าวถึงก่อนหน้านี้ แต่เท่าที่ฉันรู้ว่าไม่มีใครรับประกันเวลาวิ่งพหุนามเพื่อความแม่นยำที่ต้องการ


น่าสนใจ แต่สิ่งนี้ดูแย่ยิ่งกว่า n ^ 3 เรารู้ว่านี่เป็นสิ่งที่ดีที่สุดหรือไม่?
Lev Reyzin

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

คุณกำลังบอกว่าถ้าฉันไม่สนใจปัญหาความมั่นคงเชิงตัวเลขเราสามารถทำให้มันเป็น O (n ^ 2.376) ได้ไหม?
Lev Reyzin

5

คุณสามารถตรวจสอบกระดาษใหม่โดย Commandur และ Kale ซึ่งให้อัลกอริทึม combinatorial สำหรับ Max-Cut ดูเหมือนว่า (จากการอ่านคร่าวๆ) ว่าอัลกอริทึมของพวกเขาอยู่บนพื้นฐานของการหาค่าไอเกนนิคเตอร์เชิง combinatorially ที่สอดคล้องกับค่าสูงสุดของค่าเฉพาะแล้วใช้อัลกอรึทึมของ Luca Trevisan เมื่อพวกมันมีค่าไอคิว

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


1

นี่เป็นคำถามเก่า แต่วรรณกรรมที่สำคัญบางอย่างดูเหมือนจะไม่ได้รับ

มีอัลกอริทึมที่เรามีการสนับสนุนทางทฤษฎีที่แข็งแกร่งขึ้น ตัวอย่างเช่นมีการทำซ้ำขึ้นอยู่กับฟังก์ชั่นการเข้าสู่ระบบเมทริกซ์ดูตัวอย่าง"Fast พีชคณิตเชิงเส้นมีเสถียรภาพ" โดย Demmel, Dumitriu และโฮลต์ซ ในกระดาษนั้นมันก็แสดงให้เห็นว่าปัญหา eigenvalue จะสามารถแก้ไขได้ในเวลาที่เป็นสัญลักษณ์ของการคูณเมทริกซ์และเป็นจำนวนใด ๆ 0(Oω+η)ωη>0

ใช่มีกระดาษ Pan + Chen + Zheng ที่แนะนำการประกอบพหุนามลักษณะและการคำนวณใน BigFloat เพราะคุณสูญเสียบิตของความแม่นยำในตอนท้าย แต่ไม่มีคนจำนวนมากที่คิดว่านี่เป็นแนวทางปฏิบัติ

ฉันยังพูดถึงว่าอัลกอริทึมที่ใช้กันอย่างแพร่หลายการทำซ้ำฟรานซิส QR ไม่มีหลักฐานของการบรรจบกันสำหรับเมทริกซ์ทั่วไป หนังสือโดย Kressner กล่าวถึงตัวอย่างหลาย ๆ อย่าง


0

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

นี่เป็นอีกข้อมูลอ้างอิง - พีชคณิตเชิงเส้นเร็วมีเสถียรภาพ http://www.netlib.org/lapack/lawnspdf/lawn186.pdf


3
ขอบคุณสำหรับตัวชี้ แต่ทำการค้นหาหนังสือใน google หนังสือฉันไม่พบการลดลงของการคูณเมทริกซ์ คุณมีตัวชี้ไปยังการอ้างอิงหรืออัลกอริทึมที่เป็นรูปธรรมหรือไม่? และอัลกอริทึม SVD ของพวกเขาดูเหมือนจะขึ้นอยู่กับจำนวนเงื่อนไขของเมทริกซ์ซึ่งไม่ใช่การวิเคราะห์กรณีที่เลวร้ายที่สุด เกี่ยวกับปัญหาความมั่นคงเชิงตัวเลข ฯลฯ สมมติว่ากรณีอุดมคติที่การคูณและดิวิชั่นทั้งหมดใช้เวลาหน่วยและสร้างคำตอบที่แน่นอน
Lev Reyzin
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.