ความซับซ้อนของพลังการคำนวณเมทริกซ์


14

ฉันสนใจในการคำนวณ 'พลังของ TH n × nเมทริกซ์ สมมติว่าเรามีขั้นตอนวิธีการคูณเมทริกซ์ซึ่งทำงานในO ( M ( n ) )เวลา จากนั้นหนึ่งสามารถคำนวณA nในเวลาO ( M ( n ) log ( n ) )ได้อย่างง่ายดาย เป็นไปได้หรือไม่ที่จะแก้ปัญหานี้โดยใช้เวลาน้อยลงnn×nAO(M(n))AnO(M(n)log(n))

โดยทั่วไปรายการเมทริกซ์สามารถมาจาก semiring แต่คุณสามารถใช้โครงสร้างเพิ่มเติมได้หากมันช่วยได้

หมายเหตุ: ฉันเข้าใจว่าในการคำนวณทั่วไปในเวลาo ( M ( n ) log ( m ) )จะให้อัลกอริทึมo ( log m )สำหรับการยกกำลัง แต่ปัญหาที่น่าสนใจจำนวนหนึ่งลดลงเป็นกรณีพิเศษของการยกกำลังเมทริกซ์โดยที่ m = O ( n )และฉันไม่สามารถพิสูจน์ได้เหมือนกันเกี่ยวกับปัญหาที่ง่ายกว่านี้Amo(M(n)log(m))o(logm)O(n)


รายการของเมทริกซ์คืออะไร? นัมเบอร์?
Kaveh

1
โดยทั่วไปแล้วรายการสามารถมาจาก semiring แต่คุณสามารถสมมติโครงสร้างเพิ่มเติมถ้ามันช่วย
Shitikanth

ฉันไม่สามารถลดขนาดจากการคูณเป็นกำลังสองจากวิธีที่เสนอข้างต้น (เช่นการใช้ ) อย่างไรก็ตามการใช้( 0 A B 0 ) 2 ใช้งานได้ แต่นี้จะช่วยให้เพียงΩ ( M ( n ) )ในการคำนวณn (A±B)2(0AB0)2Ω(M(n))An
Shitikanth

คำตอบ:


11

หากเมทริกซ์จะdiagonalizableแล้วการอำนาจ th สามารถทำได้ในเวลา O ( D ( n ) + n log n ) ที่D ( n )เป็นเวลาที่จะ diagonalizen

O(D(n)+nlogn)
D(n)A

เพียงกรอกรายละเอียดให้ครบถ้วนถ้ามีเส้นทแยงมุมDดังนั้น A n = ( P - 1 D P ) n = P - 1 D n PA=P1DPD

An=(P1DP)n=P1DnP

และสามารถคำนวณได้โดยเพียงแค่นำแต่ละส่วนของเส้นทแยงมุม (แต่ละค่าลักษณะเฉพาะของA ) ไปยังพลังที่nDnAn


6
O(n3)O(n2.3727log(m))Am

1
(1) เวลาที่คุณอ้างถึงไม่ใช่โดย Coppersmith-Winograd (อย่างที่คุณรู้) (2) อัลกอริธึมทั้งหมดของรูปแบบนั้นใช้ได้กับวงแหวนเท่านั้น มันไม่ทำงานสำหรับเซมินารีทั่วไป (ตามที่คุณอนุญาตในคำถามของคุณ)
Ryan Williams

5

n×nAA=UΣUTΣO(n3)Am=UΣmUTO(nlogm)U×Σm×UTO(n2.3727)O(n3+nlogm)

O(n2.3727+nlogm)o(M(n)log(m))o(logn)


O(n2.3727)O(n2.3727log(m))Amm=O(n)

1
A=UΣUVU

1
nmn=1O(M(1)logmAm

2
logm

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