Name: Anonymous 2008-09-15 18:19
def matrix_add(matrix1, matrix2):
return [[el1 + el2 for el1, el2 in zip(row1, row2)] for row1, row2 in zip(matrix1, matrix2)]
def matrix_transpose(matrix):
return list(zip(*matrix))
def matrix_multiply(matrix1, matrix2):
matrix2_transposed = matrix_transpose(matrix2)
return [[sum(x*y for x, y in zip(row, col)) for col in matrix2_transposed] for row in matrix1]I would like to do these more elegantly and/or more efficiently. Any Haskellfags present?