Maison > Article > développement back-end > Calculs matriciels et d'algèbre linéaire en Python
Dans cet article, nous apprendrons à utiliser Python pour effectuer des calculs matriciels et d'algèbre linéaire, tels que la multiplication matricielle, la recherche de déterminants, la résolution d'équations linéaires, etc.
Cela peut être réalisé en utilisant un objet matriciel de la bibliothèque NumPy. Lors des calculs, les matrices sont relativement comparables aux objets tableau.
L'algèbre linéaire est un vaste sujet et dépasse le cadre de cet article.
Cependant, si vous avez besoin de manipuler des matrices et des vecteurs, NumPy est un excellent point de départ.
Trouver la transposée d'une matrice à l'aide de Numpy
Trouver l'inverse d'une matrice en utilisant Numpy
Multiplication matricielle et vectorielle
Utilisez le sous-paquet numpy.linalg pour obtenir le déterminant d'une matrice
Trouver des valeurs propres à l'aide de numpy.linalg
Utilisez numpy.linalg pour résoudre des équations
Propriété numpy.matrix.T - Renvoie la transposition de la matrice donnée.
La traduction chinoise deLe programme suivant utilise la propriété numpy.matrix.T pour renvoyer la transposée de la matrice −
# importing NumPy module import numpy as np # input matrix inputMatrix = np.matrix([[6, 1, 5], [2, 0, 8], [1, 4, 3]]) # printing the input matrix print("Input Matrix:\n", inputMatrix) # printing the transpose of an input matrix # by applying the .T attribute of the NumPy matrix of the numpy Module print("Transpose of an input matrix\n", inputMatrix.T)
Une fois exécuté, le programme ci-dessus générera le résultat suivant -
Input Matrix: [[6 1 5] [2 0 8] [1 4 3]] Transpose of an input matrix [[6 2 1] [1 0 4] [5 8 3]]
Propriété numpy.matrix.I - Renvoie l'inverse de la matrice donnée.
La traduction chinoise deLe programme suivant utilise la propriété numpy.matrix.I pour renvoyer l'inverse d'une matrice −
# importing NumPy module import numpy as np # input matrix inputMatrix = np.matrix([[6, 1, 5],[2, 0, 8],[1, 4, 3]]) # printing the input matrix print("Input Matrix:\n", inputMatrix) # printing the inverse of an input matrix # by applying the .I attribute of the NumPy matrix of the numpy Module print("Inverse of an input matrix:\n", inputMatrix.I)
Une fois exécuté, le programme ci-dessus générera le résultat suivant -
Input Matrix: [[6 1 5] [2 0 8] [1 4 3]] Inverse of an input matrix: [[ 0.21333333 -0.11333333 -0.05333333] [-0.01333333 -0.08666667 0.25333333] [-0.05333333 0.15333333 0.01333333]]
Le programme suivant renvoie le produit de la matrice d'entrée et du vecteur en utilisant l'opérateur * -
# importing numpy module import numpy as np # input matrix inputMatrix = np.matrix([[6, 1, 5],[2, 0, 8],[1, 4, 3]]) # printing the input matrix print("Input Matrix:\n", inputMatrix) # creating a vector using numpy.matrix() function inputVector = np.matrix([[1],[3],[5]]) # printing the multiplication of the input matrix and vector print("Multiplication of input matrix and vector:\n", inputMatrix*inputVector)
Une fois exécuté, le programme ci-dessus générera le résultat suivant -
Input Matrix: [[6 1 5] [2 0 8] [1 4 3]] Multiplication of input matrix and vector: [[34] [42] [28]]
Fonction numpy.linalg.det() − Calcule le déterminant d'une matrice carrée.
La traduction chinoise deLe programme suivant utilise la fonction numpy.linalg.det() pour renvoyer le déterminant de la matrice −
# importing numpy module import numpy as np # input matrix inputMatrix = np.matrix([[6, 1, 5],[2, 0, 8],[1, 4, 3]]) # printing the input matrix print("Input Matrix:\n", inputMatrix) # getting the determinant of an input matrix outputDet = np.linalg.det(inputMatrix) # printing the determinant of an input matrix print("Determinant of an input matrix:\n", outputDet)
Une fois exécuté, le programme ci-dessus générera le résultat suivant :
Input Matrix: [[6 1 5] [2 0 8] [1 4 3]] Determinant of an input matrix: -149.99999999999997
Fonction numpy.linalg.eigvals() − Calcule les valeurs propres et les vecteurs propres droits de la matrice/matrice carrée spécifiée.
La traduction chinoise deLe programme suivant renvoie les valeurs propres d'une matrice d'entrée à l'aide de la fonction numpy.linalg.eigvals() −
# importing NumPy module import numpy as np # input matrix inputMatrix = np.matrix([[6, 1, 5],[2, 0, 8],[1, 4, 3]]) # printing the input matrix print("Input Matrix:\n", inputMatrix) # getting Eigenvalues of an input matrix eigenValues = np.linalg.eigvals(inputMatrix) # printing Eigenvalues of an input matrix print("Eigenvalues of an input matrix:\n", eigenValues)
Une fois exécuté, le programme ci-dessus générera le résultat suivant :
Input Matrix: [[6 1 5] [2 0 8] [1 4 3]] Eigenvalues of an input matrix: [ 9.55480959 3.69447805 -4.24928765]
Nous pouvons résoudre un problème similaire à celui de trouver la valeur de X pour A*X = B,
Où A est une matrice et B est un vecteur.
La traduction chinoise deCe qui suit est le programme qui utilise la fonction solve() pour renvoyer la valeur x-
# importing NumPy module import numpy as np # input matrix inputMatrix = np.matrix([[6, 1, 5],[2, 0, 8],[1, 4, 3]]) # printing the input matrix print("Input Matrix:\n", inputMatrix) # creating a vector using np.matrix() function inputVector = np.matrix([[1],[3],[5]]) # getting the value of x in an equation inputMatrix * x = inputVector x_value = np.linalg.solve(inputMatrix, inputVector) # printing x value print("x value:\n", x_value) # multiplying input matrix with x values print("Multiplication of input matrix with x values:\n", inputMatrix * x_value)
Une fois exécuté, le programme ci-dessus générera le résultat suivant -
Input Matrix: [[6 1 5] [2 0 8] [1 4 3]] x value: [[-0.39333333] [ 0.99333333] [ 0.47333333]] Multiplication of input matrix with x values: [[1.] [3.] [5.]]
Dans cet article, nous avons appris à effectuer des opérations d'algèbre matricielle et linéaire à l'aide du module NumPy en Python. Nous avons appris à calculer la transposée, l'inverse et le déterminant d'une matrice. Nous avons également appris à effectuer certains calculs en algèbre linéaire, comme résoudre des équations et déterminer des valeurs propres.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!