Python Matrices : transposition, multiplication, tableaux NumPy

⚡ Résumé intelligent

A Python Une matrice est un tableau bidimensionnel de données organisées en lignes et en colonnes, utilisé en mathématiques et en sciences. Vous apprendrez ici à créer des matrices à l'aide de listes imbriquées et de NumPy, et à effectuer des additions, des multiplications, des transpositions et des découpages.

  • (I.e. Qu'est-ce que c'est: Une matrice est un tableau bidimensionnel de données organisées en lignes et en colonnes.
  • 📋 Listes imbriquées : Python Les matrices peuvent être construites comme une liste de listes.
  • 🧮 Tableaux NumPy : numpy.array() crée des matrices plus rapides et riches en fonctionnalités.
  • Operation : Ajouter, soustract, et multiplier les matrices avec des opérateurs ou numpy.dot().
  • (I.e. Transposer et découper : La fonction transpose() inverse les lignes et les colonnes ; la fonction slicer sélectionne des sous-matrices.
  • 🤖 Aide de l'IA : Les outils d'IA comme Copilot génèrent instantanément du code matriciel et NumPy.

Python Matrice

Qu'est-ce que le Python Matrice?

A Python Une matrice est un ensemble de données rectangulaires spécialisées à deux dimensions, stockées dans des lignes et des colonnes. Les données d'une matrice peuvent être des nombres, des chaînes, des expressions, des symboles, etc. La matrice est l'une des structures de données importantes qui peuvent être utilisées dans les calculs mathématiques et scientifiques.

Comment faire Python Les matrices fonctionnent ?

Les données à l'intérieur du tableau bidimensionnel au format matriciel se présentent comme suit :

Python Matrice

Étape 1) Il montre une matrice 2×2. Il comporte deux lignes et 2 colonnes. Les données à l'intérieur de la matrice sont des nombres. La ligne 1 a les valeurs 2,3 et la ligne 2 a les valeurs 4,5. Les colonnes, c'est-à-dire col1, ont les valeurs 2,4 et col2 a les valeurs 3,5.

Étape 2) Il montre une matrice 2×3. Il comporte deux lignes et trois colonnes. Les données à l'intérieur de la première ligne, c'est-à-dire la ligne 1, ont les valeurs 2,3,4, 2, 5,6,7 et la ligne 1 a les valeurs 2,5, 2, 3,6. Les colonnes col3 ont les valeurs 4,7, col ont les valeurs et col ont les valeurs .

De la même manière, vous pouvez stocker vos données dans la matrice nxn dans PythonDe nombreuses opérations peuvent être effectuées sur une addition de type matriciel, sous forme de sous-ensembles.traction, multiplication, etc.

Python n'a pas de moyen simple d'implémenter un type de données matriciel.

La matrice Python utilise des tableaux, et la même chose peut être implémentée.

  • Créer un Python Matrice utilisant le type de données de liste imbriquée
  • Créer Python Matrice utilisant des tableaux de Python Paquet Numpy

Créer Python Matrice utilisant un type de données de liste imbriquée

In Python, les tableaux sont représentés à l'aide du type de données de liste. Nous allons donc maintenant utiliser la liste pour créer une matrice Python.

Nous allons créer une matrice 3×3, comme indiqué ci-dessous :

Créer Python Matrice utilisant une liste imbriquée

  • La matrice comporte 3 lignes et 3 colonnes.
  • La première ligne d'un format de liste sera la suivante : [8,14,-6]
  • La deuxième ligne d'une liste sera : [12,7,4]
  • La troisième ligne d'une liste sera : [-11,3,21]

La matrice à l'intérieur d'une liste avec toutes les lignes et colonnes est la suivante :

List = [[Row1], 
           [Row2], 
           [Row3]
           ...
           [RowN]]

Ainsi, selon la matrice répertoriée ci-dessus, le type de liste avec les données matricielles est le suivant :

M1 = [[8, 14, -6], [12,7,4], [-11,3,21]]

Pour lire les données à l'intérieur Python Matrice utilisant une liste.

Nous utiliserons la matrice définie ci-dessus. L'exemple lira les données, imprimera la matrice, affichera le dernier élément de chaque ligne.

Exemple : Pour imprimer la matrice

M1 = [[8, 14, -6], 
           [12,7,4], 
           [-11,3,21]]

#To print the matrix
print(M1)

Sortie :

The Matrix M1 =  [[8, 14, -6], [12, 7, 4], [-11, 3, 21]]

Exemple 2 : Pour lire le dernier élément de chaque ligne

M1 = [[8, 14, -6],
           [12,7,4], 
           [-11,3,21]]

matrix_length = len(M1)

#To read the last element from each row.
for i in range(matrix_length):
    print(M1[i][-1])

Sortie :

-6
4
21

Exemple 3 : Pour imprimer les lignes de la matrice

M1 = [[8, 14, -6],
           [12,7,4], 
           [-11,3,21]]

matrix_length = len(M1)

#To print the rows in the Matrix
for i in range(matrix_length):
    print(M1[i])

Sortie :

[8, 14, -6]
[12, 7, 4]
[-11, 3, 21]

Ajout de matrices à l'aide d'une liste imbriquée

On peut facilement additionner deux matrices données. Les matrices ici seront sous forme de liste. Travaillons sur un exemple qui prendra soin d'ajouter les matrices données.

Matrice 1 :

M1 = [[8, 14, -6],
           [12,7,4], 
           [-11,3,21]]

Matrice 2 :

M2 = [[3, 16, -6],
           [9,7,-4], 
           [-1,3,13]]

Last initialisera une matrice qui stockera le résultat de M1 + M2.

Matrice 3 :

M3  = [[0,0,0],
            [0,0,0],
            [0,0,0]]

Exemple : ajout de matrices

Pour ajouter, les matrices utiliseront une boucle for qui parcourra les deux matrices données.

M1 = [[8, 14, -6], 
      [12,7,4], 
      [-11,3,21]]

M2 = [[3, 16, -6],
           [9,7,-4], 
           [-1,3,13]]

M3  = [[0,0,0],
       [0,0,0],
       [0,0,0]]
matrix_length = len(M1)

#To Add M1 and M2 matrices
for i in range(len(M1)):
for k in range(len(M2)):
        M3[i][k] = M1[i][k] + M2[i][k]

#To Print the matrix
print("The sum of Matrix M1 and M2 = ", M3)

Sortie :

The sum of Matrix M1 and M2 =  [[11, 30, -12], [21, 14, 0], [-12, 6, 34]]

Multiplication de matrices à l'aide d'une liste imbriquée

Pour multiplier les matrices, nous pouvons utiliser la boucle for sur les deux matrices comme indiqué dans le code ci-dessous :

M1 = [[8, 14, -6], 
      [12,7,4], 
      [-11,3,21]]

M2 = [[3, 16, -6],
           [9,7,-4], 
           [-1,3,13]]

M3  = [[0,0,0],
       [0,0,0],
       [0,0,0]]

matrix_length = len(M1)

#To Multiply M1 and M2 matrices
for i in range(len(M1)):
for k in range(len(M2)):
        M3[i][k] = M1[i][k] * M2[i][k]

#To Print the matrix
print("The multiplication of Matrix M1 and M2 = ", M3)

Sortie :

The multiplication of Matrix M1 and M2 =  [[24, 224, 36], [108, 49, -16], [11, 9, 273]]

Créer Python Matrice utilisant des tableaux de Python Paquet Numpy

La bibliothèque python Numpy aide à gérer les tableaux. Numpy traite un tableau un peu plus rapidement que la liste.

Pour travailler avec Numpy, vous devez d'abord l'installer. Suivez les étapes ci-dessous pour installer Numpy.

Étape 1) La commande pour installer Numpy est :

pip install NumPy

Étape 2) Pour utiliser Numpy dans votre code, vous devez l'importer.

import NumPy

Étape 3) Vous pouvez également importer Numpy en utilisant un alias, comme indiqué ci-dessous :

import NumPy as np

Nous allons utiliser la méthode array() de Numpy pour créer une matrice python.

Exemple : Tableau dans Numpy à créer Python Matrice

import numpy as np
M1 = np.array([[5, -10, 15], [3, -6, 9], [-4, 8, 12]])
print(M1)

Sortie :

[[  5 -10  15]
 [  3  -6   9]
 [ -4   8  12]]

Matrice Operation en utilisant Numpy.Array()

L'opération matricielle possible est l'addition, la soustractiontracaddition, multiplication, transposition, lecture des lignes et colonnes d'une matrice, découpage de la matrice, etc. Dans tous les exemples, nous utiliserons la méthode array().

Ajout de matrice

Pour effectuer une addition sur la matrice, nous allons créer deux matrices à l'aide de numpy.array() et les ajouter à l'aide de l'opérateur (+).

Exemple :

import numpy as np

M1 = np.array([[3, 6, 9], [5, -10, 15], [-7, 14, 21]])
M2 = np.array([[9, -18, 27], [11, 22, 33], [13, -26, 39]])
M3 = M1 + M2  
print(M3)

Sortie :

[[ 12 -12  36]
 [ 16  12  48]
 [  6 -12  60]]

Sous-matricetracproduction

Pour effectuer des sous-titrestracPour créer deux matrices à l'aide de numpy.array() et subtracles utiliser en utilisant l'opérateur (-).

Exemple :

import numpy as np

M1 = np.array([[3, 6, 9], [5, -10, 15], [-7, 14, 21]])
M2 = np.array([[9, -18, 27], [11, 22, 33], [13, -26, 39]])
M3 = M1 - M2  
print(M3)

Sortie :

[[ -6  24 -18]
 [ -6 -32 -18]
 [-20  40 -18]]

Multiplication matricielle

Nous allons d’abord créer deux matrices en utilisant numpy.arary(). Pour les multiplier, vous pouvez utiliser la méthode numpy dot(). Numpy.dot() est le produit scalaire des matrices M1 et M2. Numpy.dot() gère les tableaux 2D et effectue des multiplications matricielles.

Exemple :

import numpy as np

M1 = np.array([[3, 6], [5, -10]])
M2 = np.array([[9, -18], [11, 22]])
M3 = M1.dot(M2)  
print(M3)

Sortie :

[[  93   78]
 [ -65 -310]]

Transposition matricielle

La transposition d'une matrice est calculée en changeant les lignes en colonnes et les colonnes en lignes. La fonction transpose() de Numpy peut être utilisée pour calculer la transposition d'une matrice.

Exemple :

import numpy as np

M1 = np.array([[3, 6, 9], [5, -10, 15], [4,8,12]])
M2 = M1.transpose()

print(M2)

Sortie :

[[  3   5   4]
 [  6 -10   8]
 [  9  15  12]]

Découpage d'une matrice

Le découpage vous renverra les éléments de la matrice en fonction de l'index de début/fin donné.

  • La syntaxe du découpage est – [début: fin]
  • Si l'index de départ n'est pas donné, il est considéré comme 0. Par exemple [:5], cela signifie [0:5].
  • Si la fin n'est pas passée, elle prendra la même longueur que le tableau.
  • Si le début/la fin a des valeurs négatives, le découpage sera effectué à partir de la fin du tableau.

Avant de travailler sur le découpage sur une matrice, comprenons d'abord comment appliquer le découpage sur un tableau simple.

import numpy as np

arr = np.array([2,4,6,8,10,12,14,16])
print(arr[3:6]) # will print the elements from 3 to 5
print(arr[:5]) # will print the elements from 0 to 4
print(arr[2:]) # will print the elements from 2 to length of the array.
print(arr[-5:-1]) # will print from the end i.e. -5 to -2
print(arr[:-1]) # will print from end i.e. 0 to -2

Sortie :

[ 8 10 12]
[ 2  4  6  8 10]
[ 6  8 10 12 14 16]
[ 8 10 12 14]
[ 2  4  6  8 10 12 14]

Implémentons maintenant le découpage sur la matrice . Pour effectuer un découpage sur une matrice

la syntaxe sera M1[row_start:row_end, col_start:col_end]

  • Le premier début/fin sera pour la ligne, c'est à dire pour sélectionner les lignes de la matrice.
  • Le deuxième début/fin sera pour la colonne, c'est à dire pour sélectionner les colonnes de la matrice.

La matrice M1 que nous allons utiliser est la suivante :

M1 = np.array([[2, 4, 6, 8, 10], 
    [3, 6, 9, -12, -15],
    [4, 8, 12, 16, -20],
    [5, -10, 15, -20, 25]])

Il y a au total 4 lignes. L'index commence de 0 à 3. Le 0th la ligne est le [2,4,6,8,10], 1st la ligne est [3,6,9,-12,-15] suivi de 2nd et 3rd.

La matrice M1 comporte 5 colonnes. L'index commence de 0 à 4. Le 0th la colonne a les valeurs [2,3,4,5], 1st les colonnes ont des valeurs [4,6,8,-10] suivies de 2nd3.rd4.thet 5th.

Voici un exemple montrant comment obtenir les données des lignes et des colonnes de la matrice à l'aide du découpage. Dans l'exemple, nous imprimons le 1st et 2nd ligne, et pour les colonnes, nous voulons la première, la deuxième et la troisième colonne. Pour obtenir cette sortie, nous avons utilisé : M1[1:3, 1:4]

Exemple :

import numpy as np

M1 = np.array([[2, 4, 6, 8, 10], 
    [3, 6, 9, -12, -15],
    [4, 8, 12, 16, -20],
    [5, -10, 15, -20, 25]])
print(M1[1:3, 1:4]) # For 1:3, it will give first and second row.
#The columns will be taken from first to third.

Sortie :

[[  6   9 -12]
 [  8  12  16]]

Exemple : Pour imprimer toutes les lignes et troisièmes colonnes

import numpy as np
M1 = np.array([[2, 4, 6, 8, 10], 
    [3, 6, 9, -12, -15],
    [4, 8, 12, 16, -20],
    [5, -10, 15, -20, 25]])
print(M1[:,3]) # This will print all rows and the third column data.

Sortie :

[  8 -12  16 -20]

Exemple : Pour imprimer la première ligne et toutes les colonnes

import numpy as np

M1 = np.array([[2, 4, 6, 8, 10], 
    [3, 6, 9, -12, -15],
    [4, 8, 12, 16, -20],
    [5, -10, 15, -20, 25]])
print(M1[:1,]) # This will print first row and all columns

Sortie :

[[ 2  4  6  8 10]]

Exemple : Pour imprimer les trois premières lignes et les 2 premières colonnes

import numpy as np

M1 = np.array([[2, 4, 6, 8, 10], 
    [3, 6, 9, -12, -15],
    [4, 8, 12, 16, -20],
    [5, -10, 15, -20, 25]])
print(M1[:3,:2])

Sortie :

[[2 4]
 [3 6]
 [4 8]]

Accéder à la matrice NumPy

Nous avons vu comment fonctionne le découpage. En tenant compte de cela, nous verrons comment obtenir les lignes et les colonnes de la matrice.

Pour imprimer les lignes de la matrice

Dans l'exemple, les lignes de la matrice seront imprimées.

Exemple :

import numpy as np
M1 = np.array([[3, 6, 9], [5, -10, 15], [4,8,12]])
print(M1[0])  #first row
print(M1[1]) # the second row
print(M1[-1]) # -1 will print the last row

Sortie :

[3 6 9]
[  5 -10  15]
[ 4  8 12]

Pour obtenir la dernière ligne, vous pouvez utiliser l'index ou -1. Par exemple, la matrice comporte 3 lignes,

donc M1[0] vous donnera la première ligne,

M1[1] vous donnera la deuxième rangée

M1[2] ou M1[-1] vous donnera la troisième ligne ou la dernière ligne.

Pour imprimer les colonnes de la matrice

import numpy as np
M1 = np.array([[2, 4, 6, 8, 10], 
    [3, 6, 9, -12, -15],
    [4, 8, 12, 16, -20],
    [5, -10, 15, -20, 25]])
print(M1[:,0]) # Will print the first Column
print(M1[:,3]) # Will  print the third Column
print(M1[:,-1]) # -1 will give you the last column

Sortie :

[2 3 4 5]
[  8 -12  16 -20]
[ 10 -15 -20  25]

FAQ

Une matrice est un tableau rectangulaire bidimensionnel de données disposées en lignes et en colonnes. Python n'a pas de type de matrice intégré, vous devez donc utiliser des listes imbriquées ou la bibliothèque NumPy.

Créez une matrice sous forme de liste imbriquée, comme [[8, 14, -6], [12, 7, 4]], ou avec numpy.array() pour une matrice plus rapide et plus puissante qui prend en charge les opérations intégrées.

NumPy traite les tableaux plus rapidement que les listes simples et fournit des opérations matricielles intégrées telles que l'addition, le produit scalaire, la transposition et le découpage, ce qui rend le code matriciel plus court et plus efficace.

Pour une véritable multiplication matricielle, utilisez `numpy.dot(M1, M2)` ou `M1.dot(M2)`. Les opérateurs `+` et `*` sur les tableaux NumPy effectuent respectivement une addition et une multiplication élément par élément.

Appelez la méthode transpose() sur un tableau NumPy, par exemple M1.transpose(). Elle inverse les lignes et les colonnes ; ainsi, l’élément situé à la ligne i, colonne j, se retrouve à la ligne j, colonne i.

Les assistants IA comme GitHub Copilot complètent automatiquement le code des tableaux NumPy, génèrent des opérations matricielles telles que les produits scalaires et les transposées, et expliquent la syntaxe du découpage au fur et à mesure de votre écriture. Python.

Oui. Les outils basés sur l'IA peuvent automatiser l'écriture de pipelines NumPy, choisir des opérations vectorisées efficaces plutôt que des boucles et générer du code pour des tâches d'algèbre linéaire comme la résolution de systèmes d'équations.

Utilisez M1[row_start:row_end, col_start:col_end] pour sélectionner une sous-matrice. Si vous omettez un début ou une fin, les limites du tableau sont utilisées, et les indices négatifs comptent à partir de la fin.

Résumez cet article avec :