Producto de dos matrices en Python

Resuelto
energetix Mensajes publicados 13 Estado Membre -  
energetix Mensajes publicados 13 Estado Membre -
Hola,
tengo un problema para encontrar el código para calcular el producto de dos matrices, aquí está mi código:

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

ejecuto este programa con las siguientes listas:
m1 = [[0,0,0],[2,1,1],[2,1,1]]
m2 = [[3,2,1],[3,3,0],[0,1,2]]

y me devuelve: [[0, 0, 0], [7, 4, 1], [2, 3, 4]] aparte de la primera línea el resto está mal, ¿pero dónde está el error? ¡¡por favor ayuda!!!
Configuración: Windows XP Internet Explorer 7.0

3 réponses

loupius Mensajes publicados 789 Estado Membre 148
 
Ah, es mucho 'más' legible ;-)
def multiply(m1, m2): m = [] if len(m1[0]) != len(m2): print "error" return False for i in range(len(m1)): línea = [] for j in range(len(m2[0])): elemento = 0 for k in range(len(m1[0])): elemento = elemento + m1[i][k] * m2[k][j] línea.append(elemento) m.append(línea) return m
Solo dos pequeñitas errores, pero, por supuesto, eso es suficiente para hacer un programa ineficaz e incluso peligroso!
Buena continuación.
25
energetix Mensajes publicados 13 Estado Membre 36
 
¡Está bien, muchas gracias a ti! ;-)
1