numpy.linalg — Routines d’algèbre linéaire¶
Le sous-module numpy.linalg fournit une petite sélection de routines d’algèbre linéaire qui opèrent sur des objets numpy.ndarray. Les fonctions qui opèrent sur des matrices requièrent des tableaux bidimensionnels ; passer des tableaux d’une dimensionnalité différente lève une exception ValueError. Les dtypes complexes ne sont pas pris en charge par ce sous-module.
Fonctions¶
- numpy.linalg.cholesky(A: ndarray) ndarray¶
Calcule la décomposition de Cholesky d’une matrice carrée symétrique définie positive.
- Paramètres:
A – une matrice carrée bidimensionnelle, symétrique et définie positive.
- Renvoie:
un
numpy.ndarraytriangulaire inférieurLtel queA = L @ L.T.- Lève:
ValueError – si A n’est pas carrée, pas symétrique ou pas définie positive.
- numpy.linalg.det(m: ndarray) float¶
Calcule le déterminant d’une matrice carrée.
- Paramètres:
m – une matrice carrée bidimensionnelle.
- Renvoie:
le déterminant de m sous forme d’un
floatPython. La valeur renvoyée est toujours un flottant, même lorsque l’entrée est un tableau d’entiers.- Lève:
ValueError – si m n’est pas carrée.
Le calcul est effectué par élimination de Gauss avec pivot partiel.
- numpy.linalg.eig(m: ndarray) tuple[ndarray, ndarray]¶
Calcule les valeurs propres et les vecteurs propres d’une matrice carrée réelle symétrique.
- Paramètres:
m – une matrice carrée bidimensionnelle, réelle et symétrique.
- Renvoie:
un 2-uplet
(eigenvalues, eigenvectors).eigenvaluesest un tableau unidimensionnel de longueurN;eigenvectorsest un tableauN-par-Ndont les colonnes sont les vecteurs propres correspondants.- Lève:
ValueError – si m n’est pas carrée, pas symétrique, ou si l’itération par rotations de Jacobi ne parvient pas à converger.
- numpy.linalg.inv(m: ndarray) ndarray¶
Calcule l’inverse d’une matrice carrée.
- Paramètres:
m – une matrice carrée bidimensionnelle.
- Renvoie:
l’inverse de m sous forme d’un
numpy.ndarrayde flottants.- Lève:
ValueError – si m n’est pas carrée ou est singulière.
L’inversion est effectuée par élimination de Gauss-Jordan.
- numpy.linalg.norm(x: ndarray, axis: int | None = None) float | ndarray¶
Calcule la norme 2 d’un vecteur ou d’une matrice.
- Paramètres:
x – un
numpy.ndarray, untuple, unelistou unrange.axis – axe facultatif le long duquel la norme est calculée. Si
None(la valeur par défaut), la norme est prise sur l’entrée aplatie et un uniquefloatest renvoyé. Sinon la norme est réduite le long de cet axe et unnumpy.ndarrayest renvoyé.
- Renvoie:
soit un
floatPython (lorsque axis vautNoneou lorsque x est un itérable autre qu’un ndarray), soit unnumpy.ndarraydont cet axe a été supprimé.
La norme 2 est calculée comme
sqrt(sum(x*x))à l’aide d’une moyenne glissante numériquement stable, de sorte que l’opération ne nécessite pas de stockage supplémentaire proportionnel à la taille de l’entrée.
- numpy.linalg.qr(m: ndarray, mode: str = 'reduced') tuple[ndarray, ndarray]¶
Factorise une matrice comme le produit d’une matrice orthonormale et d’une matrice triangulaire supérieure.
- Paramètres:
m – une matrice bidimensionnelle de forme
(M, N).mode – soit
'reduced'(par défaut), soit'complete'. En mode'complete',Qa la forme(M, M)etRa la forme(M, N). En mode'reduced',QetRsont tronqués respectivement auxmin(M, N)premières colonnes et lignes.
- Renvoie:
un 2-uplet
(Q, R)d’objetsnumpy.ndarraytels quem == Q @ R, avecQorthonormale etRtriangulaire supérieure.- Lève:
TypeError – si m n’est pas un
numpy.ndarray.ValueError – si m n’est pas bidimensionnelle ou si mode n’est pas l’une des valeurs acceptées.
La décomposition est implémentée au moyen de rotations de Givens successives.