0% ont trouvé ce document utile (0 vote)
5 vues14 pages

Créer des matrices avec Numpy

Ce document présente les bases de la manipulation de matrices et de vecteurs en Python avec la bibliothèque NumPy. Il explique comment créer des vecteurs et matrices, accéder à leurs éléments, effectuer des opérations arithmétiques et utiliser des fonctions spécifiques comme la transposée ou le produit matriciel.

Transféré par

Eant Craponne
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
5 vues14 pages

Créer des matrices avec Numpy

Ce document présente les bases de la manipulation de matrices et de vecteurs en Python avec la bibliothèque NumPy. Il explique comment créer des vecteurs et matrices, accéder à leurs éléments, effectuer des opérations arithmétiques et utiliser des fonctions spécifiques comme la transposée ou le produit matriciel.

Transféré par

Eant Craponne
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Matrices

Informatique – ECG 822


TP 5

TP 5 – Matrices
1 / 14

Créer un vecteur
 Toutes les commandes de ce cours utilisent la bibliothèque
numpy. On supposera qu’on l’aura importée via import numpy
as np.
Le mot ≪ vecteur ≫ est le nom informatique donné aux matrices
lignes. On les crée à l’aide de la commande [Link]. Les
coefficients sont indiqués entre crochets et séparés par des
virgules.

>>> M = [Link]([1, 2, 3])


>>> M
array([1, 2, 3])
>>> type(M)
<class ‘[Link]’>

TP 5 – Matrices
2 / 14

Créer un vecteur

Il existe des commandes qui créent des vecteurs particuliers.


• La commande [Link](n) crée un vecteur de taille n ne
contenant que des 0.
>>> M = [Link](5)
>>> M
array([0., 0., 0., 0., 0.])
• La commande [Link](n) crée un vecteur de taille n ne
contenant que des 1.
>>> M = [Link](4)
>>> M
array([1., 1., 1., 1.])

TP 5 – Matrices
3 / 14

Créer un vecteur

• La commande [Link](i,f,p) crée un vecteur suivant


une progression arithmétique de i à f − p avec un pas de p
(ces nombres pouvant être flottants).
>>> M = [Link](1,2,0.25)
>>> M
array([1. , 1.25, 1.5 , 1.75])
• La commande [Link](i,f,n) a un fonctionnement
similaire excepté que n représente le nombre de termes de la
liste qui seront répartis équitablement entre i et f .
>>> M = [Link](1,2,6)
>>> M
array([1. , 1.2, 1.4, 1.6, 1.8, 2. ])

TP 5 – Matrices
4 / 14

Éléments d’un vecteur
Comme pour les listes, les éléments d’un vecteur sont indexés à
partir de 0. L’extraction d’un élément se fait exactement comme
pour les listes (entre crochets, le slicing et les indices négatifs étant
aussi possibles).

>>> M = [Link]([1.1, 2.2, 3.3])


>>> M[1]
2.2
>>> M[0:2]
array([1.1, 2.2])

ATTENTION ! Contrairement aux listes qui peuvent changer de


taille (par l’ajout d’un élément par exemple), les vecteurs sont
immuables. Pour ajouter un élément, on transformera un vecteur
en liste à l’aide de la commande list.
TP 5 – Matrices
5 / 14

Créer une matrice

La syntaxe de création d’une matrice est très similaire à celle pour


les vecteurs. On écrit les différentes lignes entre crochets qu’on
sépare par des virgules.

>>> M = [Link]([[1, 2, 3], [4, 5, 6], [7, 8, 9]])


>>> M
array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]])

 Notez bien la double paire de crochets !


TP 5 – Matrices
6 / 14

Créer une matrice

Il existe aussi des commandes qui créent des matrices particulières.


• [Link]((m,n)) crée une matrice nulle de taille m × n.
• [Link]((m,n)) crée une matrice de taille m × n remplie
avec des 1.
• [Link](n) crée une matrice identité d’ordre n.

TP 5 – Matrices
7 / 14

Éléments d’une matrice
Les éléments d’une matrice sont indexés à partir de 0, en ligne
puis en colonne. On peut extraire un élément, ou toute une ligne,
ou toute une colonne (à l’aide du slicing).

>>> M = [Link]([[1, 2, 3], [4, 5, 6], [7, 8, 9]])


>>> M[0][2] ligne 0 colonne 1 = première ligne deuxième colonne
3
>>> M[1]
array([4, 5, 6])
>>> M[2,:]
array([7, 8, 9])
>>> M[:,0]
array([1, 4, 7])

TP 5 – Matrices
8 / 14

Opérations sur les matrices
Toutes les opérations arithmétiques usuelles se font coefficient à
coefficient : +, -, *, /, **.

>>> M = [Link]([1, 2, 3])


>>> N = [Link]([4, 5, 6])
>>> M + N
array([5, 7, 9])
>>> M * N
array([ 4, 10, 18])
>>> M / N
array([0.25, 0.4 , 0.5])
>>> M**N
array([ 1, 32, 729])

TP 5 – Matrices
9 / 14

Opérations sur les matrices

Ces opérations arithmétiques peuvent aussi se faire avec des


nombres, toujours coefficient à coefficient.

>>> M = [Link]([1, 2, 3])


>>> M + 8
array([ 9, 10, 11])
>>> M * 8
array([ 8, 16, 24])
>>> M / 4
array([0.25, 0.5 , 0.75])
>>> M**2
array([1, 4, 9])

TP 5 – Matrices
10 / 14

Fonctions spécifiques aux matrices

• [Link](M) renvoie la taille de la matrice M.


>>> M = [Link]([[1, 2, 3], [4, 5, 6]])
>>> [Link](M)
(2, 3)

 Notez que len(M) renvoie le nombre de lignes d’une matrice.


La commande len sera donc très utile lorsqu’on manipulera des
matrices carrées.

TP 5 – Matrices
11 / 14

Fonctions spécifiques aux matrices

• [Link](M) renvoie la transposée de la matrice M.


>>> M = [Link]([[1, 2, 3], [4, 5, 6]])
>>> [Link](M)
array([[1, 4],
[2, 5],
[3, 6]])

TP 5 – Matrices
12 / 14

Fonctions spécifiques aux matrices

• [Link](M,N) renvoie le produit matriciel MN, sous réserve


que les tailles soient compatibles.
>>> M = [Link]([[1, 2, 3], [4, 5, 6]])
>>> N = [Link](M)
>>> [Link](M,N)
array([[14, 32],
[32, 77]])

TP 5 – Matrices
13 / 14

Le module linalg

Le module linalg est une sous-bibliothèque de numpy qui


possède des fonctions très utiles. On l’importe via la commande

import [Link] as al

• [Link](M) inverse la matrice M (si elle est inversible).


• [Link] power(M,n) calcule M n .
• [Link](A,B) résout le système AX = B d’inconnue X .

TP 5 – Matrices
14 / 14

Vous aimerez peut-être aussi