matrix_power#
- scipy.sparse.linalg.matrix_power(A, power)[Quelle]#
Eine quadratische Matrix zur ganzzahligen Potenz, power, hochheben.
Für nicht-negative ganze Zahlen wird
A**powerdurch wiederholte Matrixmultiplikationen berechnet. Negative ganze Zahlen werden nicht unterstützt.- Parameter:
- A(M, M) quadratisches Sparse-Array oder Matrix
Sparse-Array, das zur Potenz power erhoben wird.
- powerint
Exponent, der zum Erheben des Sparse-Arrays A verwendet wird.
- Rückgabe:
- A**power(M, M) Sparse-Array oder Matrix
Die Ausgabematrix hat die gleiche Form wie A und behält die Klasse von A bei, aber das Format der Ausgabe kann sich ändern.
Hinweise
Dies verwendet eine rekursive Implementierung der Matrixpotenz. Für die Berechnung der Matrixpotenz mit einer einigermaßen großen power kann dies weniger effizient sein als die direkte Berechnung des Produkts mithilfe von A @ A @ … @ A. Dies hängt von der Anzahl der Nicht-Null-Einträge in der Matrix ab.
Hinzugefügt in Version 1.12.0.
Beispiele
>>> from scipy import sparse >>> A = sparse.csc_array([[0,1,0],[1,0,1],[0,1,0]]) >>> A.todense() array([[0, 1, 0], [1, 0, 1], [0, 1, 0]]) >>> (A @ A).todense() array([[1, 0, 1], [0, 2, 0], [1, 0, 1]]) >>> A2 = sparse.linalg.matrix_power(A, 2) >>> A2.todense() array([[1, 0, 1], [0, 2, 0], [1, 0, 1]]) >>> A4 = sparse.linalg.matrix_power(A, 4) >>> A4.todense() array([[2, 0, 2], [0, 4, 0], [2, 0, 2]])