Kompleksitas kekuatan matriks komputasi


14

Saya tertarik dalam menghitung n 'th kekuatan dari matriks . Misalkan kita memiliki algoritma untuk perkalian matriks yang berjalan dalam waktu . Kemudian, orang dapat dengan mudah menghitung dalam waktu. Apakah mungkin untuk menyelesaikan masalah ini dalam kompleksitas waktu yang lebih rendah?n×nSEBUAHHAI(M.(n))SEBUAHnHAI(M.(n)catatan⁡(n))

Entri matriks dapat, secara umum, berasal dari semiring tetapi Anda dapat mengambil struktur tambahan jika itu membantu.

Catatan: Saya mengerti bahwa dalam komputasi umum dalam waktu akan memberikan algoritma untuk eksponensial. Tetapi, sejumlah masalah menarik berkurang ke kasus khusus dari matriks eksponensial di mana m = , dan saya tidak dapat membuktikan hal yang sama tentang masalah yang lebih sederhana ini.SEBUAHmHai(M.(n)catatan⁡(m))Hai(catatan⁡m)HAI(n)


apa saja entri dari matriks? Bilangan bulat?
— Kaveh

1
Entri dapat, secara umum, berasal dari semiring tetapi Anda dapat mengambil struktur tambahan jika itu membantu.
— Shitikanth

Saya tidak bisa mendapatkan pengurangan dari multiplasi menjadi kuadrat dari metode yang diusulkan di atas (yaitu menggunakan ). Namun, menggunakan ( 0 A B 0 ) 2 berfungsi. Namun, ini hanya memberikan Ω ( M ( n ) )(SEBUAH±B)2(0SEBUAHB0)2Ω(M.(n)) pada komputasi . SEBUAHn
— Shitikanth

Jawaban:


11

Jika matriks dapat didiagonalisasi maka pengambilan daya ke- dapat dilakukan dalam waktu O ( D ( n ) + n logn di mana D ( n ) adalah waktu untuk diagonalize A .

HAI(D(n)+ncatatan⁡n)
D(n)SEBUAH

Untuk melengkapi detailnya, jika dengan D diagonal , maka A n = ( P - 1 D P ) n = P - 1 D n PSEBUAH=P-1DPD

SEBUAHn=(P-1DP)n=P-1DnP

dan dapat dihitung dengan hanya mengambil setiap elemen diagonal (masing-masing nilai eigen A ) ke kekuatan ke- n .DnSEBUAHn


6
Bahkan jika matriks dapat didiagonalisasi, algoritma yang paling dikenal untuk komposisi eigend mengambil waktu. Dengan menggunakan algoritma Coppersmith-Winograd, kami sudah memiliki algoritma O ( n 2.3727 log ( m ) ) untuk komputasi A. m .HAI(n3)HAI(n2.3727catatan⁡(m))SEBUAHm
— Shitikanth

1
(1) Batas waktu yang Anda kutip bukan oleh Coppersmith-Winograd (seperti yang mungkin Anda ketahui). (2) Semua algoritma dari bentuk itu hanya berfungsi untuk cincin; mereka tidak berfungsi untuk semiring umum (seperti yang Anda izinkan dalam pertanyaan Anda).
— Ryan Williams

5

Satu jalan keluar yang baik adalah Singular Value Decomposition SVD . Diberikan matriks A nyata dari peringkat penuh , SVD membaginya menjadi A = U Σ U T di mana Σ adalah matriks diagonal, dalam waktu O ( n 3 ) . Dengan sifat-sifat SVD, A m = U Σ m U T , sehingga hanya matriks diagonal yang perlu di-eksponensial, dan ini dapat dilakukan dalam O ( n log m )n×nSEBUAHSEBUAH=UΣUTΣHAI(n3)SEBUAHm=UΣmUTHAI(ncatatan⁡m)waktu. Melakukan perkalian akhir membutuhkan O ( n 2.3727 ) , jadi kami memiliki semua operasi O ( n 3 + n log m ) . U×Σm×UTHAI(n2.3727)HAI(n3+ncatatan⁡m)

Perbarui setelah komentar Intinya adalah bahwa begitu SVD ditemukan, daya apa pun hanya membutuhkan waktu untuk dihitung dengan algoritma CW Anda sendiri. Tapi ini bukan pertanyaan Anda. Jika benar-benar ada algoritma o ( M ( n ) log ( m ) ) , itu akan segera dikonversi menjadi algoritma o ( log n ) untuk bilangan bulat. Saya curiga tidak ada yang seperti itu.HAI(n2.3727+ncatatan⁡m)Hai(M.(n)catatan⁡(m))Hai(catatan⁡n)


Karena algoritma Coppersmith-Winograd menemukan produk dari dua matriks dalam waktu , kami sudah memiliki algoritma O ( n 2.3727 log ( m ) ) untuk menghitung A m . Saya tertarik mengetahui apakah ini dapat diperbaiki tanpa memerlukan algoritma multiplikasi matriks yang lebih baik, terutama untuk m = O ( n ) . HAI(n2.3727)HAI(n2.3727catatan⁡(m))SEBUAHmm=HAI(n)
— Shitikanth

1
SEBUAH=UΣU⊤V≠U⊤

1
nmn=1HAI(M.(1)catatan⁡mSEBUAHm

2
@Shitikanth lihat ccrwest.org/gordon/jalg.pdf untuk survei algoritma eksponensial cepat. Secara umum, tidak mungkin untuk menggunakan lebih sedikit dari multiplikasi . catatan⁡m
— Joe

1
Ini tidak jelas dari pertanyaan Anda, seperti yang dinyatakan.
— PKG
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.