Nehmen wir an, wir erhalten eine Matrix und lassen m ∈ N 0 . Wie schnell können wir die Kraft berechnen A m dieser Matrix?
Das zweitbeste im Vergleich zur Berechnung von Produkten ist die Verwendung einer schnellen Exponentation, die O ( log m ) -Matrixprodukte erfordert .
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?
Antworten:
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:Am O(logm) N×N A B 2n×2n C
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.C n×n C2 A⋅B
quelle