Bibliothèque de matrices NumPy (Matrix)
NumPy contient une bibliothèque de matricesnumpy.matlib, les fonctions de ce module renvoient une matrice, et non un objet ndarray.
numpy.matlibIl est spécifiquement utilisé pour créer et manipuler des objets matrice. Bien que le noyau de NumPy prenne en charge les tableaux multidimensionnels (ndarray), numpy.matlib fournit des fonctions pratiques qui renvoient spécifiquement des types de matrices, ce qui permet aux utilisateurs d'effectuer plus facilement des opérations d'algèbre linéaire traditionnelles.
Aune matrice est un tableau rectangulaire composé de lignes
lignes
et de colonnes d'éléments.
Les éléments d'une matrice peuvent être des nombres, des symboles ou des expressions mathématiques. Voici une matrice à 2 lignes et 3 colonnes composée de 6 éléments numériques :
Matrice transposée
Dans NumPy, en plus d'utiliser la fonction numpy.transpose pour permuter les dimensions d'un tableau, vous pouvez également utiliser l'Tattribut.
Par exemple, étant donné une matrice de m lignes et n colonnes, l'utilisation de la fonction t() la convertit en une matrice de n lignes et m colonnes.

Exemple
Le résultat de sortie est le suivant :
原数组: [[ 0 1 2 3] [ 4 5 6 7] [ 8 9 10 11]] 转置数组: [[ 0 4 8] [ 1 5 9] [ 2 6 10] [ 3 7 11]]
matlib.empty()
La fonction matlib.empty() renvoie une nouvelle matrice, avec le format de syntaxe :
numpy.matlib.empty(shape, dtype, order)
Description du paramètre :
- shape: entier ou tuple d'entiers définissant la forme de la nouvelle matrice
- Dtype: facultatif, type de données
- order: C (ordre majeur en ligne) ou F (ordre majeur en colonne)
Exemple
Le résultat de sortie est:
[[-1.49166815e-154 -1.49166815e-154] [ 2.17371491e-313 2.52720790e-212]]
numpy.matlib.zeros()
La fonction numpy.matlib.zeros() crée une matrice remplie de zéros.
Exemple
Le résultat de sortie est:
[[0. 0.] [0. 0.]]
numpy.matlib.ones()
La fonction numpy.matlib.ones() crée une matrice remplie de 1.
Exemple
Le résultat de sortie est:
[[1. 1.] [1. 1.]]
numpy.matlib.eye()
La fonction numpy.matlib.eye() renvoie une matrice dont les éléments diagonaux sont égaux à 1 et toutes les autres positions égales à 0.
numpy.matlib.eye(n, M,k, dtype)
Description du paramètre :
- n: Nombre de lignes de la matrice renvoyée
- M: Nombre de colonnes de la matrice renvoyée, la valeur par défaut est n
- k: Index de la diagonale
- dtype: Type de données
Exemple
Le résultat de sortie est:
[[1. 0. 0. 0.] [0. 1. 0. 0.] [0. 0. 1. 0.]]
numpy.matlib.identity()
La fonction numpy.matlib.identity() renvoie une matrice identité d'une taille donnée.
Une matrice identité est une matrice carrée. Les éléments sur la diagonale allant du coin supérieur gauche au coin inférieur droit (appelée diagonale principale) valent tous 1, et tous les autres éléments valent 0.

Exemple
Le résultat de sortie est:
[[ 1. 0. 0. 0. 0.] [ 0. 1. 0. 0. 0.] [ 0. 0. 1. 0. 0.] [ 0. 0. 0. 1. 0.] [ 0. 0. 0. 0. 1.]]
numpy.matlib.rand()
La fonction numpy.matlib.rand() crée une matrice d'une taille donnée, avec des données remplies de manière aléatoire.
Exemple
Le résultat de sortie est:
[[0.23966718 0.16147628 0.14162 ] [0.28379085 0.59934741 0.62985825] [0.99527238 0.11137883 0.41105367]]
Les matrices sont toujours bidimensionnelles, tandis que ndarray est un tableau à n dimensions. Les deux objets sont interchangeables.
Exemple
Le résultat de sortie est:
[[1 2] [3 4]]
Exemple
Le résultat de sortie est:
[[1 2] [3 4]]
Exemple
Le résultat de sortie est:
[[1 2] [3 4]]
Les fonctions suivantes existent également dans l'espace de noms NumPy, mais elles renvoient des objets matrix.
| Nom de la fonction | Description du paramètre | Description de la fonction |
|---|---|---|
| matrix(data[, dtype, copy]) | data : de type tableau ou chaîne, dtype : type de données, copy : indique s'il faut copier | Créer un objet matrice à partir d'un tableau ou d'une chaîne |
| asmatrix(data[, dtype]) | data : données d'entrée, dtype : type de données (facultatif) | Convertir l'entrée en un objet matrice |
| bmat(obj[, ldict, gdict]) | obj : chaîne ou séquence imbriquée, ldict, gdict : dictionnaires d'espaces de noms (facultatifs) | Construire une matrice à partir d'une chaîne, d'une séquence imbriquée ou d'un tableau |
| empty(shape[, dtype, order]) | shape : forme, dtype : type de données, order : ordre de stockage | Créer une matrice avec des éléments non initialisés |
| zeros(shape[, dtype, order]) | shape : forme, dtype : type de données, order : ordre de stockage | Créer une matrice de zéros |
| ones(shape[, dtype, order]) | shape : forme, dtype : type de données, order : ordre de stockage | Créer une matrice remplie de 1 |
| eye(n[, M, k, dtype, order]) | n : nombre de lignes, M : nombre de colonnes, k : décalage diagonal, dtype : type de données, order : ordre de stockage | Créer une matrice avec des 1 sur la diagonale et des 0 ailleurs |
| identity(n[, dtype]) | n : taille, dtype : type de données (facultatif) | Créer une matrice identité carrée |
| repmat(a, m, n) | a : tableau ou matrice, m, n : nombre de répétitions | Répéter le tableau ou la matrice pour m lignes et n colonnes |
| rand(args) | args: Spécifier la forme de la matrice | Générer une matrice aléatoire à distribution uniforme de la forme spécifiée |
| randn(args) | args: Spécifier la forme de la matrice | Générer une matrice aléatoire à distribution normale standard de la forme spécifiée |
Notes
- Bien que
numpy.matlibest pratique, la recommandation officielle de NumPy est d'utiliser l'ndarrayet@opérateur pour effectuer des opérations matricielles, carmatrixle type présente certaines limitations et pourrait être déprécié dans les versions futures. - Pour le nouveau code, il est recommandé d'utiliser
ndarrayd'abord pour garantir une meilleure compatibilité et flexibilité.