Genelleştirilmiş bir Vandermonde matrisinin belirleyicisi


10

Moore matrisi Vandermonde matrisine benzer, ancak biraz değiştirilmiş bir tanıma sahiptir. http://en.wikipedia.org/wiki/Moore_matrix

Belirli bir tam rütbeli Moore matris modulo bazı tamsayının determinantını hesaplamanın karmaşıklığı nedir ?n×n

Can Moore azaltılabilir determinanta FFT teknikleri kullanılarak bazıları için ?O ( n log a n ) a R +{ 0 }O(n3)O(nlogan)aR+{0}

Moore det modulo'nun karmaşıklığı bir tamsayı ve Vandermonde det aynı mıdır? Vandermonde determinantının karmaşıklığı (Teori Bilgisayar Bilimi El Kitabı: Algoritmalar ve karmaşıklık Jan Leeuwen tarafından)O(nlog2n)

Geçerli olana benzer yazı: Determinant modulo m


Moore determinantı O (n ^ 3) zamanda (tamsayı RAM'de) bile hesaplanabilir mi?
Jeffε

1
@ Jɛ ff E Bu yüzden rastgele rastgele bahsettim . NN
T ....

Bu arada, ve merak ediyorum, bu tür "süper hızlı" algoritmadan yararlanabilecek bilinen uygulamalar var mı?
Juan Bermejo Vega

@J ffE, önemsiz için üzerinde çift modüler bir üs hesaplamanın BPP'de olup olmadığını biliyor musunuz ? Çünkü bu matrisin katsayılarını hesaplamak için bir problem. N NεNN
Juan Bermejo Vega

Yanıtlar:


4

Genel olarak, -Winograd algoritması kullanılarak keyfi bir matrisin LU ayrışmasını bulmak için teorik bir zaman algoritması vardır , bu daha sonra belirleyici ( zamanı ekleyerek ) verir. Bununla birlikte, Coppersmith-Winograd algoritmasının pratikte kullanılabilir olmadığı düşünülüyor. Afaik, insanlar çoğunlukla zaman Strassen algoritmasını kullanıyor. Boost UBLAS'ın lu_factorize bunu kullanmıyor mu?O ( n ) O ( n 2.807 )O(n2.376)O(n)O(n2.807)

Sizin durumunuzda, Moore matrisi önemli optimizasyonları kabul etmelidir, çünkü temel olarak LU ayrışması gibi herhangi bir Gauss eliminasyonu soyut olarak yapılabilir. Gerçekten de, wikipedia tarafından başvuruda bulunulan Moore determinantını hesaplamak için güzel bir formülü bulacaksınız .O(n)


Merhaba Jeff: O (n ^ 2) formülü için hangi referansı referans alıyorsunuz? Bence Vandermonde det O (nlogn) cinsinden hesaplanabilir ama referans bulamıyorum. Moore det'in O (nlogn) da olması gerekir mi?
T ....

Evet, açıkça O (n) demeliydim, büyük n için gerçekten O (n log n).
Jeff Burdges

Merhaba Jeff: Referansın var mı?
T ....

7
@JeffBurdges: Çalışma süresi büyük n "için O (n log n)" ise, tanım gereği, çalışma süresi O (n) değil O (n log n) olur.
Jeffε

Wikipedia tarafından referans verilen bir formülü göremiyorum . En iyi durumda görünüyor . Θ ( n 2 )O(n)Θ(n2)
Peter Taylor

3

Sağladığınız tanımda , matrisin, asal olduğu diyelim sınırlı bir alanda yaşaması önemlidir . Bu, matrisinde görünen çift ​​üslerini hesaplamak için Euler teoremini kullanmanızı sağlar . Aksi takdirde, çarpanlarına ayırmadan matris katsayılarını hesaplamak bile zor gibi görünüyor . mZmmaqemodmO(log(mn)M(logm))

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

Eğer asal veya verimli faktöring edilebilir en kötü durum karmaşıklığı Eğer matris çarpım için gereken adım sayısı hakimdir . Örneğin , iş ortağı yazısında bahsettiğim Smith normal form yaklaşımı , "yavaş" kullanırsanız içinde belirleyiciyi hesaplar. çarpma algoritmaları . 2.373 olarak seçilebilir.mO(nω)O(nωlog2mlog(mn))ω

Bir olsun yavaşlama Eğer matris katsayılarını çift-exponentiate gerektiğinden Vandermonde vs Moore. Eğer Factorise ne zaman bu yavaşlama sadece polylogarithmic olan . Değilse, sunulan algoritma size Çift Modüler-Üstellemede bir Aşçı azaltımı sağlar .mmZm

Not *: tamsayı çarpımı için daha hızlı algoritmalar ile değiştirmenize izin verir .log2mM(logmloglogm)


Güncelleme : ulaşma olasılığı üzerine .O(nlogan)

Bunun için kesin bir cevabım yok, ancak aramanızı sıkılaştırabilecek bazı bilgiler buldum.

zamanındaki determinantlar gibi miktarları hesaplayan yapılandırılmış matrisler için algoritmalara literatürde "süper hızlı" denir. Yapılandırılmış matrisler için bilinen tüm "süper hızlı" algoritmalar (Vandermonde, Toeplitz, Hankel), bu matrislerin düşük "yer değiştirme sırası" olarak bilinen ortak bir özelliğine dayanıyor gibi görünmektedir. Bu kitabın ilk bölümünde (açık erişim sayfaları) veya bu makalede [ACM] , [PDF] tartışmasını sunun .O(nlogan)

Okuduğum kadarıyla, bir Moore matrisi , , matrislerini bulabildiyseniz , yeni matris (veya alternatif olarak ) aşağıdaki yapıya sahiptirm×nMABL(M)=AMMBL(M)=MAMB

L(M)=k=1rgkhkT

ve rütbesi küçüktür (sabit veya sınırlıdır ), mevcut teknikleri uygulayabilirsiniz (kitabın 5. bölümünü kontrol edin, açık- erişim sayfalarına) ve kullanarak hesaplamak için üçgenini ayarlayın . Yukarıda, , vektörleri gösterir. Her şeyi okumak için yukarıdaki kitabı bulamazsanız, bu makalede ayrıca bu yöntemler hakkında çok fazla bilgi vardır.r>0o(min{m,n})MdetMO(nlog2n)gkhk

Ne yazık ki, Moore matrisi için düşük deplasman dereceli bir yapı bulamadım (Vandermonde var). Buradaki ana komplikasyon, çift üstel olanın "doğrusal olmayan" doğasından kaynaklanıyor gibi görünüyor. Eğer yardımcı olursa, Vandermonde, Cauchy, Toeplitz, Hankel vakaları kitapta işlenir.


Matrisimi char alanında yaşayabilirim . Ancak, benim amaçlanan uygulama için alfabe boyutu büyük olacaktır. Yani yeterince büyük için biçimindedir . 3m3kk
T ....

:) ' nın totient fonksiyonunu hesaplayabildiğiniz için sorun yok3k
Juan Bermejo Vega

bu karmaşıklığı basitleştirmez, alan çok büyük olduğu için söyleyebilirim.
T ....

Çifte üs alma ile bahsettiğim sorunları basitleştirir. Yana , çift exponentiate için Euler teoremi kullanabilir , ilk işlem: , ardından . Bunu . Okul çarpma algoritmasını kullanarak ve son "netto" maliyetini elde edersiniz ki bu verimli. φ(3k)=3k3k1aqimodmb=qimodφ(3k)abmod3kO(log(n3k)M(klog3))M(n)=n2O(nωk2log23(logn+klog3))
Juan Bermejo Vega

Biz değiştirebilir miyim tarafından ? Merak ettiğim bu maliyet tasarrufu (matris yapısından mümkün olabilir). İle , benim amaç için hiçbir şey elde değil. ω1+ϵω2
T ....
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.