Wie kann man Potenzen von Quadratmatrizen berechnen?


16

Nehmen wir an, wir erhalten eine Matrix und lassen m N 0 . Wie schnell können wir die Kraft berechnen A m dieser Matrix?ARN×NmN0Am

Das zweitbeste im Vergleich zur Berechnung von Produkten ist die Verwendung einer schnellen Exponentation, die O ( log m ) -Matrixprodukte erfordert .mO(logm)

Für diagonalisierbare Matrizen kann die Eigenwertzerlegung verwendet werden. Es ist eine natürliche Verallgemeinerung, Jordan-Zersetzung, die unter Pertubation instabil ist und daher nicht zählt (afaik).

Kann die Matrixexponentiation im allgemeinen Fall beschleunigt werden?

Eine schnelle Exponentation legt nahe, dass auch eine Variation dieser Frage hilfreich ist:

Kann das Quadrat einer allgemeinen Matrix schneller berechnet werden als mit bekannten Matrixmultiplikationsalgorithmen?A


Wenn Sie Wert auf Stabilität bei Störungen legen, scheint eine schnelle Exponentiation ebenfalls nicht sicher zu sein.
MCH

Nun, ich nehme an, es ist nicht weniger sicher als die wiederholte Multiplikation, die genauso sicher ist wie die skalare Exponentation, nicht wahr?
Shuhalo

Antworten:


20

Wie Sie beachten, Berechnung kann in erfolgen O ( log m ) multipliziert mit der Anzahl der Operationen für die Matrixmultiplikation auf N × N - Matrizen. Die Antwort auf Ihre zweite Frage lautet Nein, zumindest für asymptotische Komplexität - Matrixquadrierung und Matrixmultiplikation haben eine äquivalente zeitliche / arithmetische Komplexität (bis zu konstanten Faktoren). Die Reduzierung der Quadratur auf Matrixmultiplikation ist offensichtlich. Nehmen wir an, wir wollen das Produkt von A und B berechnen, um die Multiplikation auf das Quadrieren zu reduzieren . Bilden Sie die 2 n × 2 n- Matrix C mit der Blockstruktur:AmO(logm)N×NAB2n×2nC

[0  A]

[B  0]

Das heißt, hat eine Matrix mit n × n Nullen in seinem oberen linken und unteren rechten Quadranten. Man beachte , daß C 2 enthält A B in seinen oberen linken Quadranten.Cn×nC2AB


Ich hatte vor kurzem eine fragte Frage an cs.SE über die Komplexität der Berechnung im speziellen Fall , in dem m = O ( n ) . Es ist einfach, eine obere Grenze von O ( M ( n ) log ( n ) ) zu geben , aber die beste untere Grenze, die ich geben kann, ist Ω ( M ( n ) ) . Haben Sie Kommentare zu diesem Problem? Ich denke, viele interessante Probleme reduzieren sich auf diesen Sonderfall. AmO(n)O(M(n)log(n))Ω(M(n))
Shitikanth
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.