Heim > Artikel > Backend-Entwicklung > Wie invertiere ich eine Matrix oder ein nArray in Python?
In diesem Artikel zeigen wir Ihnen, wie Sie die Umkehrung einer Matrix oder eines ndArrays mithilfe der NumPy-Bibliothek in Python berechnen.
Die Umkehrung einer Matrix ist so, dass sie, wenn sie mit der Originalmatrix multipliziert wird, die Identitätsmatrix ergibt.
Die Umkehrung einer Matrix ist einfach der Kehrwert einer Matrix, genau wie in der regulären Arithmetik, für eine einzelne Zahl, die zum Lösen einer Gleichung verwendet wird, um den Wert einer unbekannten Variablen zu erhalten. Die Umkehrung einer Matrix ist die Matrix, die bei Multiplikation mit der Originalmatrix die Identitätsmatrix ergibt.
Die Umkehrung einer Matrix existiert nur, wenn die Matrix nicht singulär ist, das heißt, die Determinante ist nicht 0. Wir können einfach die Umkehrung einer quadratischen Matrix mithilfe der Determinante und der adjungierten Matrix mithilfe der folgenden Formel ermitteln
if det(A) != 0 A-1 = adj(A)/det(A) else "Inverse does not exist"
Python bietet eine sehr einfache Möglichkeit, die Umkehrung einer Matrix zu berechnen. Um die Umkehrung einer Matrix zu berechnen, verwenden Sie die Funktion numpy.linalg.inv() aus dem NumPy-Modul in Python, um die Matrix zu umgehen.
numpy.linalg.inv(array)
Array – Es handelt sich um eine Matrix, die invertiert werden muss.
Rückgabewert – Die Funktion numpy.linalg.inv() gibt die inverse Matrix der Matrix zurück.
Hier sind die Algorithmen/Schritte, die befolgt werden müssen, um die erforderliche Aufgabe auszuführen -
Verwenden Sie das Schlüsselwort import, um das numpy-Modul mit einem Alias (np) zu importieren.
Verwenden Sie die Funktion numpy.array() (die ein ndarray zurückgibt. Ein ndarray ist ein Array-Objekt, das die angegebenen Anforderungen erfüllt), um ein numpy-Array zu erstellen, indem Sie ein dreidimensionales Array-Array (3 Zeilen, 3 Spalten) als sein übergeben Argument.
Verwenden Sie die Funktion linalg.inv() des Numpy-Moduls (berechnen Sie die Umkehrung einer Matrix), um die Umkehrung einer Eingabe-3x3-Matrix zu berechnen, indem Sie die Eingabematrix als Argument übergeben und die Umkehrmatrix drucken.
Das folgende Programm verwendet die Funktion numpy.linalg.inv(), um die Umkehrung der eingegebenen dreidimensionalen (3x3)-Matrix zurückzugeben -
# importing numpy module with an alias name import numpy as np # creating a 3-Dimensional(3x3) numpy matrix inputArray_3d = np.array([[4, 5, 1], [3, 4, 12], [10, 2, 1]]) # printing the input 3D matrix print("The input numpy 3D matrix:") print(inputArray_3d) # calculating the inverse of an input 3D matrix resultInverse= np.linalg.inv(inputArray_3d) # printing the resultant inverse of an input matrix print("The Inverse of 3-Dimensional(3x3) numpy matrix:") print(resultInverse)
Bei der Ausführung generiert das obige Programm die folgende Ausgabe:
The input numpy 3D matrix: [[ 4 5 1] [ 3 4 12] [10 2 1]] The Inverse of 3-Dimensional(3x3) numpy matrix: [[-0.04246285 -0.00636943 0.11889597] [ 0.24840764 -0.01273885 -0.0955414 ] [-0.07218684 0.08917197 0.00212314]]
Mit der Funktionalität des Scipy-Moduls können wir verschiedene wissenschaftliche Berechnungen durchführen. Es funktioniert auch mit Numpy-Arrays.
In Python kann scipy.linalg.inv() auch die inverse Matrix einer gegebenen quadratischen Matrix zurückgeben. Es funktioniert genauso wie die Funktion numpy.linalg.inv().
Hier sind die Algorithmen/Schritte, die befolgt werden müssen, um die erforderliche Aufgabe auszuführen -
Verwenden Sie das Schlüsselwort import, um Linalg aus dem scipy-Modul zu importieren.
Verwenden Sie die Funktion numpy.matrix() (die eine Matrix aus einer Datenzeichenfolge oder einem Array-ähnlichen Objekt zurückgibt. Die resultierende Matrix ist ein spezialisiertes 2D-Array), um eine Numpy-Matrix zu erstellen, indem Sie das 2D-Array konvertieren (2 Zeilen, 2 Spalten) werden ihm als Parameter übergeben.
Verwenden Sie die Funktion linalg.inv() des Scipy-Moduls (berechnen Sie die Umkehrung einer Matrix), um die Umkehrung einer 2x2-Eingabematrix zu berechnen, indem Sie die Eingabematrix als Argument übergeben und die Umkehrmatrix drucken.
import numpy as np # importing linalg from scipy module from scipy import linalg # creating a 2-Dimensional(2x2) NumPy matrix inputMatrix = np.matrix([[5, 2],[7, 3]]) # printing the input 2D matrix print("The input numpy 2D matrix:") print(inputMatrix) # calculating the inverse of an input 2D matrix resultInverse = linalg.inv(inputMatrix) # printing the resultant inverse of an input matrix print("The Inverse of 2-Dimensional(2x2) numpy matrix:") print(resultInverse)
The input numpy 2D matrix: [[5 2] [7 3]] The Inverse of 2-Dimensional(2x2) numpy matrix: [[ 3. -2.] [-7. 5.]]
Hier sind die Algorithmen/Schritte, die befolgt werden müssen, um die erforderliche Aufgabe auszuführen -
Verwenden Sie die Funktion numpy.matrix() (die eine Matrix aus einer Datenzeichenfolge oder einem Array-ähnlichen Objekt zurückgibt. Die resultierende Matrix ist ein spezialisiertes 4D-Array), um durch Konvertieren eines 4-dimensionalen Arrays eine Numpy-Matrix zu erstellen (4 Zeilen, 4 Spalten) werden ihm als Parameter übergeben.
import numpy as np # creating a NumPy matrix (4x4 matrix) using matrix() method inputMatrix = np.matrix('[11, 1, 8, 2; 11, 3, 9 ,1; 1, 2, 3, 4; 9, 8, 7, 6]') # printing the input 4D matrix print("The input NumPy matrix:") print(inputMatrix) # calculating the inverse of an input matrix resultInverse= np.linalg.inv(inputMatrix) # printing the resultant inverse of an input matrix print("The Inverse of 4-Dimensional(4x4) numpy matrix:") print(resultInverse)
The input NumPy matrix: [[11 1 8 2] [11 3 9 1] [ 1 2 3 4] [ 9 8 7 6]] The Inverse of 4-Dimensional(4x4) numpy matrix: [[ 0.25 -0.23214286 -0.24107143 0.11607143] [-0.25 0.16071429 -0.09464286 0.11964286] [-0.25 0.375 0.3125 -0.1875 ] [ 0.25 -0.30357143 0.12321429 0.05178571]]
In diesem Artikel haben wir anhand von drei verschiedenen Beispielen gelernt, wie man die Umkehrung einer Matrix berechnet. Wir haben gelernt, wie man Matrizen in Numpy mit zwei verschiedenen Methoden erhält: numpy.array() und NumPy.matrix().
Das obige ist der detaillierte Inhalt vonWie invertiere ich eine Matrix oder ein nArray in Python?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!