Résumé types numpy.array

Transcription

Résumé types numpy.array
Informatique pour tous
Calculs matriciels
tableaux particuliers prédéfinis :
Commande
Description (rapide)
Exemples
np.zeros(n)
np.zeros((r,c))
vecteur nul de taille n ;
matrice nulle de r lignes et c colonnes
array([ 0., 0., 0.])
array([[ 0., 0., 0.], [ 0., 0., 0.]])
np.eye(n)
np.identity(n)
np.eye((n,p))
matrice identité d’ordre n;
échelonnée réduite par ligne
array([[ 1., 0., 0.],
[ 0., 1., 0.],
[ 0., 0., 1.]])
array([[ 1., 0., 0.],
[ 0., 1., 0.]])
np.ones(n)
np.ones((r,c))
vecteur de taille n rempli de 1 ;
matrice de taille r, c remplie de 1
array([ 1., 1., 1.])
array([[ 1., 1., 1.], [ 1., 1., 1.]])
np.diag(v)
matrice diagonale dont la diagonale est
le vecteur v (par ex [1, 2, 3])
>>>np.diag([1, 2, 3])
array([[1, 0, 0], [0, 2, 0], [0, 0, 3]])
np.diag(v,k)
matrice dont la ‘diagonale’ décalée de k
est le vecteur v (k est un entier relatif)
>>>np.diag([1, 2, 3], -2)
array([[0, 0, 0, 0, 0],
[0, 0, 0, 0, 0],
[1, 0, 0, 0, 0],
[0, 2, 0, 0, 0],
[0,
0, 3, 0, 0]])
np.random.rand(n)
np.random.rand((n,
p))
vecteur (taille n), ou matrice (taille r, c)
à coefficients aléatoires uniformes sur
[0,1]
>>> np.random.rand(3)
array([ 0.73479428, 0.92498358,
0.93313782])
Informatique pour tous
Calculs matriciels
list
array
définition
[élém1, élém2,… ]
np.array([élém1, élém2,… ])
type des éléments
quelconque
quelconque mais homogène
mutation
mutable
mutable
nombre d’éléments
len(liste)
len() donne le nombre d’éléments de la liste
= nombre de lignes de la matrice
vérification d’appartenance
d’un élément
el in liste
el in tableau
concaténation
liste1 + liste2
np.concatenate((tab1, tab2))
concaténation répétée
liste*n
copie avec création d’un
nouvel objet
liste.copy()
tableau.copy()
np.copy(tableau)
déconstruction
(a, b, c) = liste
np.array_split(tableau, n)
nombre d’occurrences
d’un élément
liste.count(el)
ajouter un élément en fin
de liste
liste.append(el)
np.size(tableau)
np.append(tableau, el)
Informatique pour tous
Calculs matriciels
I-Opérations sur les matrices
1) Avec le type list ?
2) Type array de Numpy
c) opérations matricielles
Pour les exemples, on considère la matrice 2×2 suivante :
>>>t1 = np.array([[1,2],[3,4]])
c’est-à-dire en notation mathématique :
⎡1 2 ⎤
t1 = ⎢
⎥
⎣3 4 ⎦
Addition ; symbole +
commande
résultat
un scalaire
t1 + 3
array([[4,5] , [6,7]])
un vecteur
t1 + [10,20]
array([[11,22] ,[13, 4]])
une matrice
t1 + t1
array([[2, 4] , [6, 8]])
une matrice de
taille différente
t1 + np.array
([[10,20],[30,40],
[50,60]])
ValueError: operands could not be
broadcast together with shapes (2,2) (3,2)
Informatique pour tous
Calculs matriciels
I-Opérations sur les matrices
1) Avec le type list ?
2) Type array de Numpy
c) opérations matricielles
Pour les exemples, on considère la matrice 2×2 suivante :
>>>t1 = np.array([[1,2],[3,4]])
c’est-à-dire en notation mathématique :
⎡1 2 ⎤
t1 = ⎢
⎥
⎣3 4 ⎦
Soustraction ; symbole −
commande
résultat
un scalaire
t1 − 3
array([[−2, −1], [0,1]])
un vecteur
t1 − [10,20]
array([[−9,−18],[−7,−16]])
une matrice
t1 − t1
array([[0, 0] , [0, 0]])
Informatique pour tous
Calculs matriciels
I-Opérations sur les matrices
1) Avec le type list ?
2) Type array de Numpy
c) opérations matricielles
Pour les exemples, on considère la matrice 2×2 suivante :
>>>t1 = np.array([[1,2],[3,4]])
c’est-à-dire en notation mathématique :
⎡1 2 ⎤
t1 = ⎢
⎥
⎣3 4 ⎦
Multiplication ; symbole *
commande
un scalaire
un vecteur
une matrice
résultat
t1 * 3
array([[3, 6],[9,12]])
t1 * [10,20]
array([[10,40],[30,80]])
t1 * t1
array([[1, 4],[9,16]])
Ce n’est pas le produit matriciel des mathématiques.
Informatique pour tous
Calculs matriciels
I-Opérations sur les matrices
1) Avec le type list ?
2) Type array de Numpy
c) opérations matricielles
Pour les exemples, on considère la matrice 2×2 suivante :
>>>t1 = np.array([[1,2],[3,4]])
c’est-à-dire en notation mathématique :
⎡1 2 ⎤
t1 = ⎢
⎥
⎣3 4 ⎦
Division ; symbole /
commande
résultat
un scalaire
t1 / 3
array([[ 0.33333333, 0.66666667],
[ 1., 1.33333333]])
un vecteur
t1 / [10,20]
array([[ 0.1,0.1], [0.3,0.2]])
une matrice
t1 / t1
array([[ 1.,1.], [ 1.,1.]])
Informatique pour tous
Calculs matriciels
I-Opérations sur les matrices
1) Avec le type list ?
2) Type array de Numpy
c) opérations matricielles
Pour les exemples, on considère les matrices suivantes :
>>>t1 = np.array([[1,2],[3,4]])
>>>t2 = np.array([[4,3],[2,1]])
>>>t3 = np.array([5,6])
c’est-à-dire en notation mathématique
⎡1 2 ⎤
⎡ 4 3⎤
⎡5 ⎤
=
=
=
t
1
t
2
t
3
: ⎢3 4 ⎥
⎢ 2 1⎥
⎢6 ⎥
⎣
⎦
⎣
⎦
⎣ ⎦
Produit de matrices ; méthode np.dot(t1, t2)
commande
résultat
mat × mat
np.dot(t1,t2)
array([[8,5], [20,13]])
mat × vect
np.dot(t1,t3)
array([17, 39])
vect × mat
np.dot(t3,t1)
array([23,
= tmat × vect34])
vect × vect
Si t4=np.dot(t1,t3)
np.dot(t3,t4)
np.dot(t4,t3)
319