Maison > développement back-end > Tutoriel Python > Comment inverser une matrice ou un nArray en Python ?

Comment inverser une matrice ou un nArray en Python ?

WBOY
Libérer: 2023-09-09 11:29:02
avant
1543 Les gens l'ont consulté

Comment inverser une matrice ou un nArray en Python ?

Dans cet article, nous allons vous montrer comment calculer l'inverse d'une matrice ou d'un ndArray à l'aide de la bibliothèque NumPy en Python.

Quel est l'inverse d'une matrice ?

L'inverse d'une matrice est telle que si elle est multipliée par la matrice d'origine, elle donne la matrice identité.

L'inverse d'une matrice est simplement l'inverse d'une matrice, tout comme en arithmétique régulière, pour un seul nombre utilisé pour résoudre une équation afin d'obtenir la valeur d'une variable inconnue. L'inverse d'une matrice est la matrice qui, multipliée par la matrice d'origine, produit la matrice d'identité.

L'inverse d'une matrice n'existe que lorsque la matrice est non singulière, c'est-à-dire que le déterminant n'est pas 0. On peut simplement trouver l'inverse d'une matrice carrée en utilisant la matrice déterminante et adjointe en utilisant la formule suivante

if det(A) != 0
 A-1 = adj(A)/det(A)
else
 "Inverse does not exist"
Copier après la connexion

Méthode 1 - Utilisez la fonction numpy.linalg.inv() sur le type np.array()

Fonction numpy.linalg.inv()

Python a un moyen très simple de calculer l'inverse d'une matrice. Pour calculer l'inverse d'une matrice, utilisez la fonction numpy.linalg.inv() du module NumPy en Python pour contourner la matrice.

Grammaire

numpy.linalg.inv(array)
Copier après la connexion

Paramètres

array - C'est une matrice qui doit être inversée.

Valeur de retour - La fonction numpy.linalg.inv() renvoie la matrice inverse de la matrice.

Algorithme (étapes)

Voici les algorithmes/étapes à suivre pour effectuer la tâche requise -

  • Utilisez le mot-clé import pour importer le module numpy avec un alias (np).

  • Utilisez la fonction numpy.array() (qui renvoie un ndarray. Un ndarray est un objet tableau qui répond aux exigences données) pour créer un tableau numpy en passant un tableau tridimensionnel (3 lignes, 3 colonnes) comme son argument.

  • Utilisez la fonction linalg.inv() du module numpy (calculer l'inverse d'une matrice) pour calculer l'inverse d'une matrice d'entrée 3x3 en passant la matrice d'entrée comme argument et imprimer la matrice inverse.

Exemple

Le programme suivant utilise la fonction numpy.linalg.inv() pour renvoyer l'inverse de la matrice tridimensionnelle (3x3) d'entrée -

# 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)
Copier après la connexion

Sortie

Une fois exécuté, le programme ci-dessus générera le résultat suivant -

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]]
Copier après la connexion

Méthode 2 - Utilisation de la fonction scipy.linalg.inv()

scipy.linalg.inv()

Grâce à la fonctionnalité du module scipy, nous pouvons effectuer divers calculs scientifiques. Cela fonctionne également avec les tableaux numpy.

En Python, scipy.linalg.inv() peut également renvoyer la matrice inverse d'une matrice carrée donnée. Cela fonctionne de la même manière que la fonction numpy.linalg.inv().

Algorithme (étapes)

Voici les algorithmes/étapes à suivre pour effectuer la tâche requise -

  • Utilisez le mot-clé import pour importer linalg depuis le module scipy.

  • Utilisez la fonction numpy.matrix() (qui renvoie une matrice à partir d'une chaîne de données ou d'un objet de type tableau. La matrice résultante est un tableau 2D spécialisé) pour créer une matrice numpy en convertissant le tableau 2D (2 lignes, 2 colonnes) lui sont transmises en paramètres.

  • Utilisez la fonction linalg.inv() du module scipy (calculer l'inverse d'une matrice) pour calculer l'inverse d'une matrice d'entrée 2x2 en passant la matrice d'entrée comme argument et imprimer la matrice inverse.

    Exemple

    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)
    
    Copier après la connexion

    Sortie

    The input numpy 2D matrix:
    [[5 2]
    [7 3]]
    The Inverse of 2-Dimensional(2x2) numpy matrix:
    [[ 3. -2.]
    [-7. 5.]]
    
    Copier après la connexion

    Méthode 3 - Utilisez la fonction numpy.linalg.inv() sur le type np.matrix()

    Algorithme (étapes)

    Voici les algorithmes/étapes à suivre pour effectuer la tâche requise -

    • Utilisez la fonction numpy.matrix() (qui renvoie une matrice à partir d'une chaîne de données ou d'un objet de type tableau. La matrice résultante est un tableau 4D spécialisé) pour créer une matrice numpy en convertissant un tableau à 4 dimensions (4 lignes, 4 colonnes) lui sont transmises en paramètres.

      Exemple

      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)
      
      Copier après la connexion

      Sortie

      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]]
      
      Copier après la connexion

      Conclusion

      Dans cet article, nous avons appris à calculer l'inverse d'une matrice à l'aide de trois exemples différents. Nous avons appris comment obtenir des matrices dans Numpy en utilisant deux méthodes différentes : numpy.array() et NumPy.matrix().

      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!

      Étiquettes associées:
      source:tutorialspoint.com
      Déclaration de ce site Web
      Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
      Tutoriels populaires
      Plus>
      Derniers téléchargements
      Plus>
      effets Web
      Code source du site Web
      Matériel du site Web
      Modèle frontal