scipy.sparse.linalg.

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**power durch 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]])