if len(m1[0]) != d: print("ERROR - inner dimentions not equal") result = [[0 for i in range(n)] for j in range(m)] for i in range(0,n): for j in range(0,m): for k in range(0,d): result[i][j] = result[...if len(m1[0]) != d: print("ERROR - inner dimentions not equal") result = [[0 for i in range(n)] for j in range(m)] for i in range(0,n): for j in range(0,m): for k in range(0,d): result[i][j] = result[i][j] + m1[i][k] * m2[k][j] return result Es decir, una línea negra del origen a “b”, una línea negra del origen a “a”; una línea verde que muestra el componente “a” en la dirección “b” y una línea roja que muestra el componente “a” ortogonal a la línea verde.