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

import numpy as np a = np.arange(12).reshape(3,4) print ('Tableau d'origine :') print (a) print ('\n') print ('Tableau transposé :') print (a.T)

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

import numpy.matlib import numpy as np print (np.matlib.empty((2,2))) # Remplir avec des données aléatoires

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

import numpy.matlib import numpy as np print (np.matlib.zeros((2,2)))

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

import numpy.matlib import numpy as np print (np.matlib.ones((2,2)))

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

import numpy.matlib import numpy as np print (np.matlib.eye(n = 3, M = 4, k = 0, dtype = float))

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

import numpy.matlib import numpy as np # La taille est 5, le type est à virgule flottante print (np.matlib.identity(5, dtype = float))

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

import numpy.matlib import numpy as np print (np.matlib.rand(3,3))

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

import numpy.matlib import numpy as np i = np.matrix('1,2;3,4') print (i)

Le résultat de sortie est:

[[1  2] 
 [3  4]]

Exemple

import numpy.matlib import numpy as np j = np.asarray(i) print (j)

Le résultat de sortie est:

[[1  2] 
 [3  4]]

Exemple

import numpy.matlib import numpy as np k = np.asmatrix (j) print (k)

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 quenumpy.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'utiliserndarrayd'abord pour garantir une meilleure compatibilité et flexibilité.
Autres extensions