Matriks Moore mirip dengan matriks Vandermonde tetapi memiliki definisi yang sedikit dimodifikasi. http://en.wikipedia.org/wiki/Moore_matrix
Apa kompleksitas komputasi determinan dari yang diberikan rank penuh Moore matriks modulo suatu bilangan bulat?
Can Moore penentu dikurangi dari menggunakan teknik FFT ke untuk beberapa ?
Apakah kompleksitas modul Moore det integer dan Vandermonde det sama? Kompleksitas penentu Vandermonde adalah (Halaman 644 dalam Buku Pegangan Ilmu Komputer Teoritis: Algoritma dan kompleksitas Oleh Jan Leeuwen)
Posting mirip dengan yang sekarang: Modul determinan m
Jawaban:
Secara umum, ada algoritma teoretis waktu untuk menemukan dekomposisi LU dari matriks arbitrer menggunakan algoritma Coppersmith-Winograd , yang kemudian jelas menghasilkan determinan (menambahkan waktu O ( n ) waktu). Namun ada masalah bahwa algoritma Coppersmith-Winograd tidak dianggap dapat digunakan dalam praktik. Afaik, kebanyakan orang menggunakan algoritma Strassen waktu O ( n 2,807 ) . Tidakkah Meningkatkan Bo_factorize UBLAS menggunakan ini?O(n2.376) O(n) O(n2.807)
Dalam kasus Anda, matriks Moore harus mengakui optimasi yang cukup karena pada dasarnya setiap prosedur seperti eliminasi Gaussian seperti dekomposisi LU dapat dilakukan secara abstrak. Memang, Anda akan menemukan formula untuk menghitung determinan Moore yang direferensikan oleh wikipedia , yang mungkin terbukti dengan hanya mengerjakan dekomposisi LU secara umum.O(n)
sumber
Jika adalah prima atau dapat difaktorkan secara efisien, kompleksitas kasus terburuk didominasi oleh jumlah langkah yang Anda butuhkan untuk perkalian matriks . Misalnya, pendekatan bentuk normal Smith yang saya sebutkan di posting mitra akan menghitung penentu dalam waktu jika Anda menggunakan "lambat" algoritma multiplikasi . dapat dipilih menjadi 2.373.m O(nω) O(nωlog2mlog(mn)) ∗ ω
Anda mendapatkan slow-down di Moore vs Vandermonde karena Anda harus melipatgandakan eksponen koefisien dari matriks. Ketika Anda dapat factorise ini lambat-down hanya polylogarithmic pada . Jika tidak, algoritme yang disajikan memberi Anda pengurangan Cook menjadi Double-Modular-Exponentiation pada .m m Zm
Catatan *: algoritma yang lebih cepat untuk perkalian integer memungkinkan Anda mengganti dengan .log2m M(logmloglogm)
Pembaruan : tentang kemungkinan mencapai .O(nlogan)
Saya tidak punya jawaban pasti untuk ini, tetapi saya menemukan beberapa informasi yang dapat memperketat pencarian Anda.
Algoritma untuk matriks terstruktur yang menghitung jumlah seperti penentu dalam waktu disebut "superfast" dalam literatur. Semua algoritma "superfast" yang dikenal untuk matriks terstruktur (Vandermonde, Toeplitz, Hankel) tampaknya mengandalkan properti umum dari matriks ini yang dikenal sebagai "peringkat perpindahan" rendah. Berikan diskusi pada bab pertama buku ini (halaman akses terbuka), atau dalam artikel ini [ACM] , [PDF] .O(nlogan)
Dari apa yang saya baca, diberikan Moore matriks , jika Anda dapat menemukan matriks , sedemikian rupa sehingga matriks baru (atau sebagai alternatif ) memiliki struktur sebagai berikutm×n M A B L(M)=AM−MB L(M)=M−AMB
, dan peringkat kecil (baik konstan atau dibatasi oleh ), maka Anda dapat menerapkan teknik yang ada (periksa bab 5 buku ini, buka- mengakses halaman) untuk membuat segitiga dan, karenanya, menghitung , menggunakan . Di atas, , menunjukkan vektor. Jika Anda tidak dapat menemukan buku di atas untuk membaca semuanya, artikel ini juga memiliki banyak informasi tentang metode ini.r>0 o(min{m,n}) M detM O(nlog2n) gk hk
Sayangnya, saya belum dapat menemukan struktur peringkat-perpindahan rendah untuk matriks Moore (Vandermonde miliki). Komplikasi utama di sini tampaknya muncul dari sifat "non-linear" dari eksponensial ganda. Jika itu membantu, kasus-kasus untuk Vandermonde, Cauchy, Toeplitz, Hankel dikerjakan dalam buku ini.
sumber