Die Moore-Matrix ähnelt der Vandermonde-Matrix, hat jedoch eine leicht modifizierte Definition. http://en.wikipedia.org/wiki/Moore_matrix
Was ist die Komplexität der Berechnung der Determinante einer gegebenen vollen Rang-Moore-Matrix modulo einer ganzen Zahl?
Kann die Moore-Determinante mit FFT-Techniken von auf für einige reduziert werden? ?O ( n log a n ) a ∈ R + ∪ { 0 }
Ist die Komplexität von Moore det modulo eine ganze Zahl und Vandermonde det gleich? Die Komplexität der Vandermonde-Determinante ist (Seite 644 im Handbuch der Theoretischen Informatik: Algorithmen und Komplexität Von Jan Leeuwen)
Beitrag ähnlich dem aktuellen: Determinant modulo m
Antworten:
Im Allgemeinen gibt es einen theoretischen Zeitalgorithmus zum der LU-Zerlegung einer beliebigen Matrix unter Verwendung des Coppersmith-Winograd-Algorithmus , der dann offensichtlich die Determinante ergibt (Hinzufügen der -Zeit). Es gibt jedoch ein Problem, dass der Coppersmith-Winograd-Algorithmus in der Praxis nicht als verwendbar angesehen wird. Afaik, die Leute benutzen meistens den Zeit-Strassen-Algorithmus. Verwendet Boost UBLASs lu_factorize dies nicht?O ( n ) O ( n 2,807 )O(n2.376) O(n) O(n2.807)
In Ihrem Fall sollte die Moore-Matrix erhebliche Optimierungen zulassen, da grundsätzlich jede Gaußsche Eliminierungsprozedur wie die LU-Zerlegung abstrakt durchgeführt werden kann. In der Tat finden Sie eine nette -Formel zur Berechnung der Moore-Determinante , auf die in Wikipedia verwiesen wird. Dies beweist man vermutlich, indem man einfach die LU-Zerlegung im Allgemeinen berechnet .O(n)
quelle
Es ist wichtig, dass in der von Ihnen angegebenen Definition die Matrix in einem endlichen Feld lebt, z. B. wobei eine Primzahl ist. Auf diese Weise können Sie den Satz von Euler verwenden , um die Doppelexponentiale zu berechnen , die in der Matrix in der Zeit . Andernfalls scheint es schwierig zu sein, die Matrixkoeffizienten zu berechnen, ohne zu faktorisieren . mZm m aqemodm O(log(mn)M(logm))
Wenn eine Primzahl ist oder effizient faktorisiert werden kann, wird die Komplexität im ungünstigsten Fall von der Anzahl der Schritte dominiert, die Sie für die Matrixmultiplikation benötigen . Zum Beispiel würde der Smith-Normalform-Ansatz, den ich im Partnerbeitrag erwähnt habe, die Determinante in der Zeit berechnen, wenn Sie "slow" verwenden. Multiplikationsalgorithmen . kann als 2.373 gewählt werden.m O(nω) O(nωlog2mlog(mn)) ∗ ω
In Moore gegen Vandermonde kommt es zu einer Verlangsamung, da Sie die Koeffizienten der Matrix doppelt potenzieren müssen. Wenn Sie faktorisieren können, ist diese Verlangsamung auf nur polylogarithmisch . Wenn nicht, erhalten Sie mit dem vorgestellten Algorithmus eine Cook-Reduktion auf Double-Modular-Exponentiation für .m m Zm
Hinweis *: Mit schnelleren Algorithmen für die Ganzzahlmultiplikation können Sie durch ersetzen .log2m M(logmloglogm)
Update : über die Möglichkeit, .O(nlogan)
Ich habe keine eindeutige Antwort darauf, aber ich habe einige Informationen gefunden, die Ihre Suche möglicherweise verschärfen.
Algorithmen für strukturierte Matrizen, die Größen wie Determinanten in der Zeit berechnen, werden in der Literatur als "superschnell" bezeichnet. Alle bekannten "superschnellen" Algorithmen für strukturierte Matrizen (Vandermonde, Toeplitz, Hankel) scheinen auf einer gemeinsamen Eigenschaft dieser Matrizen zu beruhen, die als niedriger "Verschiebungsrang" bekannt ist. Konferenz über das erste Kapitel dieses Buches (Open-Access-Seiten) oder in diesem Artikel [ACM] , [PDF] .O(nlogan)
Nach dem, was ich gelesen habe, bei gegebener Moore-Matrix , wenn Sie die Matrizen , so finden konnten, dass die neue Matrix (oder alternativ ) hat die folgende Strukturm×n M A B L(M)=AM−MB L(M)=M−AMB
Wenn der Rang klein ist (entweder konstant oder durch begrenzt ), können Sie vorhandene Techniken anwenden (siehe Kapitel 5 des Buches, open- Zugriffsseiten), um zu triangulieren und daher mit berechnen . Oben bezeichnen die , Vektoren. Wenn Sie das obige Buch nicht finden, um das Ganze zu lesen, enthält dieser Artikel auch viele Informationen zu diesen Methoden.r>0 o(min{m,n}) M detM O(nlog2n) gk hk
Leider konnte ich keine Struktur mit niedrigem Verschiebungsrang für die Moore-Matrix finden (Vandermonde hat). Die Hauptkomplikation scheint sich hier aus der "nichtlinearen" Natur des Doppelexponentials zu ergeben. Wenn es hilft, werden die Fälle für Vandermonde, Cauchy, Toeplitz, Hankel in dem Buch herausgearbeitet.
quelle