Penentu matriks Vandermonde umum

10

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 n×n rank penuh Moore matriks modulo suatu bilangan bulat?

Can Moore penentu dikurangi dari O(n3) menggunakan teknik FFT ke O(nlogan) untuk beberapa aR+{0} ?

Apakah kompleksitas modul Moore det integer dan Vandermonde det sama? Kompleksitas penentu Vandermonde adalah O(nlog2n) (Halaman 644 dalam Buku Pegangan Ilmu Komputer Teoritis: Algoritma dan kompleksitas Oleh Jan Leeuwen)

Posting mirip dengan yang sekarang: Modul determinan m

T ....
sumber
Dapatkah penentu Moore bahkan dapat dihitung dalam waktu O (n ^ 3) (pada integer RAM)?
Jeffε
1
@ Jɛ ff E Itu sebabnya saya sebutkan modulo acak NN .
T ....
Omong-omong, dan saya hanya ingin tahu, apakah ada aplikasi yang dikenal yang akan mendapat manfaat dari algoritma "super cepat" seperti itu?
Juan Bermejo Vega
@J FFE, apakah Anda kebetulan tahu jika komputasi eksponensial modular ganda lebih N di BPP untuk sepele N ?. Karena itu masalah untuk menghitung koefisien matriks. εNN
Juan Bermejo Vega

Jawaban:

4

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)

Jeff Burdges
sumber
Hai Jeff: Referensi mana yang Anda rujuk untuk rumus O (n ^ 2). Saya pikir Vandermonde det dapat dihitung dalam O (nlogn) tetapi saya tidak dapat menemukan referensi. Jadi haruskah Moore det juga berada di O (nlogn)?
T ....
Ya, saya seharusnya mengatakan O (n) jelas, benar-benar O (n log n) untuk n besar.
Jeff Burdges
Hai Jeff: Apakah Anda punya referensi?
T ....
7
@JeffBurdges: Jika waktu berjalan adalah O (n log n) "untuk n besar", maka menurut definisi, waktu berjalan adalah O (n log n), bukan O (n).
Jeffε
O(n)Θ(n2)
3

ZmmaqemodmO(log(mn)M(logm))

aqiaqi(modφ(m))(modm)
m

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.mO(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 .mmZm

Catatan *: algoritma yang lebih cepat untuk perkalian integer memungkinkan Anda mengganti dengan .log2mM(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×nMABL(M)=AMMBL(M)=MAMB

L(M)=k=1rgkhkT

, 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>0o(min{m,n})MdetMO(nlog2n)gkhk

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.

Juan Bermejo Vega
sumber
Saya dapat membuat matriks saya hidup di bidang char . Namun, ukuran huruf untuk aplikasi yang saya maksudkan akan besar. Jadi adalah dari bentuk untuk beberapa yang cukup besar . 3m3kk
T ....
Tidak apa-apa, karena Anda dapat menghitung fungsi total dari :)3k
Juan Bermejo Vega
baik itu tidak menyederhanakan kerumitan, saya akan mengatakan karena bidangnya sangat sangat besar.
T ....
Itu memang menyederhanakan masalah yang saya sebutkan dengan eksponensial ganda. Karena , Anda dapat menggunakan teorema Euler untuk menggandakan eksponensial : pertama, hitung , lalu . Anda dapat melakukan ini dalam waktu . Dengan menggunakan algoritma multiplikasi sekolah, , dan Anda akan mendapatkan biaya akhir "netto" mana yang efisien. φ(3k)=3k3k1aqimodmb=qimodφ(3k)abmod3kO(log(n3k)M(klog3))M(n)=n2O(nωk2log23(logn+klog3))
Juan Bermejo Vega
Bisakah kita mengganti dengan ? Itu adalah penghematan biaya saya penasaran (mungkin dari struktur matriks). Dengan , saya tidak mendapatkan apa pun untuk tujuan saya. ω1+ϵω2
T ....