Memento numpy¶
La bibliothèque numpy
est capable de gérer des variables de typé array
. Une variable du type array
peut être vue comme une liste dont les éléments sont toujours du même type. C’est cette catégorie de variable que nous avons choisi d’utiliser pour représenter des vecteurs et des matrices.
Création de vecteurs et matrices¶
Après avoir chargé la bibliothèque numpy
par la commande :
1 | import numpy as np |
La création d’un tel objet est réalisé comme suit
1 2 3 | a=np.array([[1,2,3],[4,5,6]],float) b=np.array([1,2,3]) bb=b.copy() # Copie du tableau dans une autre variable |
Lors de la création d’une variable array
, un secon argument optionnel permet de spécifier le type des éléments qu’elle contient.
Commandes |
Utilité |
|
Création d’un vecteur ligne |
|
Création d’un vecteur colonne |
|
Méthode pour copier une variable de type |
|
Taille du vecteur x sous la forme d’un tuple |
|
Taille de la matrice A sous la forme d’un tuple |
|
Vecteur ligne avec |
|
Vecteur ligne avec 50 valeurs équiréparties entre début et fin |
|
Vecteur ligne avec le |
|
Vecteur ligne avec les valeurs variant de |
|
Vecteur ligne nul de taille |
|
Matrice nulle de taille |
|
Matrice nulle de même dimension que la matrice |
|
Matrice de taille |
|
Vecteur ligne ne contenant que la valeur 1, de taille |
|
Matrice de taille |
|
Matrice de taille |
|
Matrice diagonale dont la diagonale est le vecteur v |
|
Matrice diagonale dont la diagonale décalée de k∈Z est le vecteur v |
Opérations usuelles¶
Commandes |
Utilité |
|
Addition de deux matrices de même dimension |
|
Addition de deux vecteur de même dimension |
|
Ajout d’un scalaire à chaque coefficient d’un vecteur (resp. d’une matrice) |
|
Multiplication d’un vecteur (resp. d’une matrice) par un scalaire |
|
Matrice (resp. vecteur) dont tous les coefficients sont élevés au cube |
|
Matrice (resp. vecteur) dont tous les coefficients sont donnés par x→1x |
|
Sinus de tous les termes de la matrice A |
Opérations d’algèbre linéaire¶
Commandes |
Utilité |
|
Produit matriciel de AB |
|
Produit de Av |
|
Produit de v T A |
|
Produit scalaire < v , w > = v T w |
|
A T transposée de la matrice A |
Pour inverser une matrice, il faut appeler la méthode inv
de la bibliothèque linalg
de numpy
. Dans le préambule, il faut donc ajouter:
1
import numpy.linalg as linalg
L’inversion d’une matrice peut s’obtenir à l’aide du code ci-après
1 2 A=np.array([[1,0,0],[0,1,2],[0,2,1]]) linalg.inv(A)
Autres opérations utiles¶
Commandes |
Utilité |
|
Plus grand (resp. plus petit) élément du vecteur x |
|
Plus grand (resp. plus petit) élément de la matrice |
|
Plus grands (resp. plus petits) éléments de chaque colonne de la matrice |
|
Plus grands (resp. plus petits) éléments de chaque ligne de la matrice |
|
Moyenne des éléments du vecteur x (resp. de la matrice |
|
Écart-type des éléments du vecteur x (resp. de la matrice |
|
Somme des éléments du vecteur x (resp. de la matrice |
|
Produit des éléments du vecteur x (resp. de la matrice |
|
Somme cumulée des éléments du vecteur x (resp. de la matrice |
|
Éléments de la matrice |
|
Éléments de la matrice`` A`` strictement supérieur à 1 et inférieurs ou égaux à 3 |
Redimensionnement¶
Avertissement
Numpy
propose le redimentsionnement d’un tableau avec la fonction reshape
avec la condition suivante :
Le nombre d’éléments doit être inchangé.
Tester le code suivant:
1 2 3 4 5 6 | a=np.arange(12) print(a) b=a.reshape(3,4) print(b) c=a.reshape(2,6) print(c) |
Concaténantion¶
Numpy
permet d’assembler les vecteurs et les matrices ( on parle de concaténation). Par défaut, l’assemblage se fait selon les lignes (l’axe horizontal), mais on peut aussi signifier que l’assemblage doit se faire selon les colonnes (l’axe vertical) avec l’otpion axis=1
.
Tester le code suivant :
1 2 3 4 5 6 | a=np.linspace(2,21,20).reshape(4,5) print(a) b=np.linspace(10,29,20).reshape(4,5) print(b) print(np.concatenate((a,b))) print(np.concatenate((a,b),axis=1)) |
Accès aux termes d’une matrice¶
En tenant compte du fait que les lignes et les colonnes sont numérotées à partir de 0, on peut utiliser les commandes suivantes:
Commandes |
Utilité |
|
Accès à l’élément de A en i-ième ligne et j-ième colonne |
|
Ligne de i de A |
|
Colonne de j de A (résultat sous forme d’un vecteur ligne) |
|
Sous-matrice de la ligne i1 à i2 exclue et de la colonne j1 à j2 exclue |
|
Retourne le dernier élément du vecteur x |
|
Retourne l’élément situé sur la dernière ligne et dernière colonne de la matrice A |
|
Retourne la dernière ligne de la matrice A |
Exercices¶
Exercice 10 - Manipulations de vecteurs
On donne:
u1=[123] u2=[−521] u1=[−1−37]
Définir ces vecteurs.
Calculer u1+u2,u1+3u2−5u3,u3/5
Calculer le produit des compansantes des vecteur u1 et u2, terme à terme.
Calculer les produits uT1u2 et u1uT2.
Crée par concaténation la matrice : [1−5−122−3317]
Exercice 11 - Opérations matricielles
Soit le vecteur u=[12−52−1−3] .
Calculer la somme des composantes du vecteur u sans utiliser la fonction
sum
denumpy
Calculer le produit des composantes du vecteur u sans utiliser la fonction
prod
denumpy