Catégorie dans Matrice

Programme Python pour multiplier deux matrices

Voici comment multiplier deux matrices en utilisant Python :

def multiply_matrices(A, B):
    rows_A = len(A)
    cols_A = len(A[0])
    rows_B = len(B)
    cols_B = len(B[0])

    if cols_A != rows_B:
      raise ValueError("Les matrices ne peuvent pas être multipliées")

    # initialiser la matrice résultat à zéro
    C = [[0 for row in range(cols_B)] for col in range(rows_A)]

    for i in range(rows_A):
        for j in range(cols_B):
            for k in range(cols_A):
                C[i][j] += A[i][k] * B[k][j]

    return C

Dans cet exemple,

A

et

B

sont les matrices à multiplier, et

C

est la matrice résultat. Nous avons vérifié que les matrices peuvent être multipliées en vérifiant que le nombre de colonnes de

A

est égal au nombre de lignes de

B

. Si ce n’est pas le cas, nous avons levé une exception

ValueError

. Sinon, nous avons initialisé la matrice résultat à zéro et avons utilisé une boucle triple

for

pour calculer le produit de chaque élément de

A

et de

B

.

Voici un exemple complet qui montre comment utiliser cette fonction pour multiplier deux matrices

A

et

B

:

 

A = [[1, 2], [3, 4]]
B = [[5, 6], [7, 8]]

C = multiply_matrices(A, B)

print(C)  # affiche : [[19, 22], [43, 50]]

 

Programme Python pour transposer une matrice

Voici comment vous pouvez écrire un programme Python pour transposer une matrice :

transposed_matrix = [[row[i] for row in matrix] for i in range(len(matrix[0]))]

 

def transpose_matrix(matrix):
  # créez la matrice transposée
  transposed_matrix = []
  for i in range(len(matrix[0])):
    transposed_matrix.append([])
    for j in range(len(matrix)):
      transposed_matrix[i].append(matrix[j][i])
  return transposed_matrix

# exemple d'utilisation
matrix = [[1, 2], [3, 4], [5, 6]]
result = transpose_matrix(matrix)
print(result)

Vous pouvez également utiliser la méthode

zip()

de Python pour transposer une matrice. Voici comment cela peut être fait :

transposed_matrix = list(map(list, zip(*matrix)))

Dans cet exemple, nous avons utilisé la fonction

zip()

pour fusionner les lignes de la matrice en une liste de tuples, puis nous avons utilisé l’opérateur

*

pour déballer ces tuples en arguments séparés de

zip()

. Nous avons ensuite utilisé la fonction

map()

et la fonction

list()

pour convertir chaque tuple en une liste.

Programme Python pour ajouter deux matrices

Voici un exemple de code Python qui permet d’ajouter deux matrices :

def add_matrices(matrix1, matrix2):
  # Vérifiez que les matrices ont la même taille
  if len(matrix1) != len(matrix2) or len(matrix1[0]) != len(matrix2[0]):
    raise ValueError("Les matrices doivent avoir la même taille")
 
  # Créez une matrice vide pour stocker le résultat
  result = []
 
  # Parcourez les lignes de la première matrice
  for i in range(len(matrix1)):
    # Créez une liste vide pour stocker la ligne résultat
    result.append([])
    # Parcourez les colonnes de la première matrice
    for j in range(len(matrix1[0])):
      # Ajoutez les éléments correspondants des deux matrices
      result[i].append(matrix1[i][j] + matrix2[i][j])
 
  # Retournez la matrice résultat
  return result

# Exemple d'utilisation
matrix1 = [[1, 2, 3], [4, 5, 6]]
matrix2 = [[7, 8, 9], [10, 11, 12]]
result = add_matrices(matrix1, matrix2)
print(result)

programme Python pour ajouter deux matrices de même taille :