Was die bekannten effiziente Algorithmen zur Berechnung einer Determinante einer Matrix mit ganzzahligen Koeffizienten sind , modulo der Ring aus den Resten m . Die Zahl m ist möglicherweise keine Primzahl, sondern zusammengesetzt (Berechnungen werden also im Ring und nicht in einem Feld ausgeführt).
Soweit ich weiß (siehe unten), handelt es sich bei den meisten Algorithmen um Modifikationen der Gaußschen Elimination. Die Frage ist nach der Recheneffizienz dieser Verfahren.
Wenn es einen anderen Ansatz gibt, bin ich auch neugierig.
Danke im Voraus.
Aktualisieren:
Lassen Sie mich die Quelle dieser Frage erläutern. Angenommen, ist eine Primzahl. Also ist Z m ein Feld. In diesem Fall können wir alle Berechnungen mit Zahlen unter m durchführen . Wir haben also eine schöne Obergrenze für alle Operationen mit Zahlen: Addition, Multiplikation und Inversion - alle erforderlichen Operationen, um die Gaußsche Elimination auszuführen.
Andererseits können wir für einige Zahlen keine Inversion durchführen, falls keine Primzahl ist. Wir brauchen also einige Tricks, um die Determinante zu berechnen.
Und jetzt bin ich gespannt, welche Tricks es gibt und ob solche in Büchern und Papieren zu finden sind.
quelle
Antworten:
Wenn Sie die Faktorisierung von , können Sie modulo jedes p e i i separat berechnen und dann die Ergebnisse mit chinesischem Rest kombinieren. Wenn e i = 1 , dann berechne modulo p e i im=pe11⋯penn peii ei=1 peii ist einfach, da dies ein Bereich ist. Für größere können Sie das Hensel-Heben verwenden. ei
quelle
Es gibt einen kombinatorischen Algorithmus von Mahajan und Vinay, der über kommutative Ringe arbeitet: http://cjtcs.cs.uchicago.edu/articles/1997/5/contents.html
quelle
Als dies 1996 geschrieben wurde, gab es keine asymptotisch schnellere Alternative (der Aufsatz erwähnt die frühere Existenz von Algorithmen mit derselben Schranke, aber ich weiß nicht, welche oder ob sie probabilistisch sind).
quelle