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