Maison  >  Article  >  développement back-end  >  Calculs matriciels et d'algèbre linéaire en Python

Calculs matriciels et d'algèbre linéaire en Python

PHPz
PHPzavant
2023-08-20 17:41:301428parcourir

Calculs matriciels et dalgè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.

Méthode à utiliser

  • 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

Méthode 1 : Trouver la transposition d'une matrice à l'aide de Numpy

Propriété numpy.matrix.T - Renvoie la transposition de la matrice donnée.

La traduction chinoise de

Exemple

est :

Exemple

Le 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)

Sortie

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]]

Méthode 2 : Trouver l'inverse d'une matrice à l'aide de Numpy

Propriété numpy.matrix.I - Renvoie l'inverse de la matrice donnée.

La traduction chinoise de

Exemple

est :

Exemple

Le 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)

Sortie

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]]

Méthode 3 : Multiplier des matrices et des vecteurs

La traduction chinoise de

Exemple

est :

Exemple

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)

Sortie

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]]

Méthode 4 : Utilisez le sous-package numpy.linalg pour obtenir le déterminant de la matrice

Fonction numpy.linalg.det() − Calcule le déterminant d'une matrice carrée.

La traduction chinoise de

Exemple

est :

Exemple

Le 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)

Sortie

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

Cinquième façon de trouver des valeurs propres à l'aide de numpy.linalg

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 de

Exemple

est :

Exemple

Le 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)

Sortie

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]

Méthode 6 : utilisez numpy.linalg pour résoudre des équations

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 de

Exemple

est :

Exemple

Ce 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)

Sortie

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.]]

Conclusion

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer