Produit de deux matrices sous python

Résolu
energetix Messages postés 13 Statut Membre -  
energetix Messages postés 13 Statut Membre -
Bonjour,
j'ai un soucis pour trouver le code pour calculer le produit de deux matrices voilà mon code :

def multiply(m1, m2):
m = []
if len(m1[0]) != len(m2):
return False
for i in range(len(m1)):
ligne = []
for j in range(len(m2[0])):
for k in range(len(m1[0])):
element = m1[i][j] * m2[i][j]
element = element + m1[i][k] * m2[k][i]
ligne.append(element)
m.append(ligne)
return m

je lance ce programme avec les listes suivantes :
m1 = [[0,0,0],[2,1,1],[2,1,1]]
m2 = [[3,2,1],[3,3,0],[0,1,2]]

et il me retourne : [[0, 0, 0], [7, 4, 1], [2, 3, 4]] a part la premiere ligne le reste est mauvais mais ou est l'erreur ??? please help !!!
Configuration: Windows XP Internet Explorer 7.0

3 réponses

  1. loupius Messages postés 789 Statut Membre 148
     
    Ah, c'est quand même 'plusse' lisible ;-)
    def multiply(m1, m2):
      m = []
      if len(m1[0]) != len(m2):
        print "erreur"
        return False
      for i in range(len(m1)):
        ligne = []
        for j in range(len(m2[0])):
          element = 0
          for k in range(len(m1[0])):
            element = element + m1[i][k] * m2[k][j]
          ligne.append(element)
        m.append(ligne)
      return m
    Seulement deux ch'tites erreurs, mais évidemment cela suffit à rendre un programme inefficace voire dangereux !
    Bonne continuation.
    25
    1. energetix Messages postés 13 Statut Membre 36
       
      ok grand merci a toi ;-) !!
      1