Roberto Bonvallet wrote: > Sssasss wrote: > > hi evrybody! > > > > I wan't to multiply two square matrixes, and i don't understand why it > > doesn't work. > > Could you explain me? > > > > def multmat(A,B): > > "A*B" > > if len(A)!=len(B): return "error" > > Wrong validation here: you _can_ multiply two matrices with a different > number of rows! And instead of returning "error" you should raise an > exception. > > [...] > > I suggest using a linear algebra package, but if you insist in using lists > of lists: > > >>> b = [[1, 2, 3, 4], > ... [4, 5, 6, 7], > ... [7, 8, 9, 10]] > >>> > >>> a = [[1, 2, 3], > ... [4, 5, 6]] > >>> > >>> ab = [[sum(i*j for i, j in zip(row, col)) for col in zip(*b)] for row in > >>> a] > >>> ab > [[30, 36, 42, 48], [66, 81, 96, 111]] > > Straightforward from the definition of matrix multiplication. > -- > Roberto Bonvallet
Thank you, this one is very short! yes of course we can multiply different kinds of matrices, bu since I'm starting with python i started with something quick. ciao -- http://mail.python.org/mailman/listinfo/python-list