39 lines
687 B
Python
39 lines
687 B
Python
a=((1, 1, 1, 1), # matrix A #
|
|
(2, 4, 8, 16),
|
|
(3, 9, 27, 81),
|
|
(4, 16, 64, 256))
|
|
|
|
b=(( 4 , -3 , 4/3., -1/4. ), # matrix B #
|
|
(-13/3., 19/4., -7/3., 11/24.),
|
|
( 3/2., -2. , 7/6., -1/4. ),
|
|
( -1/6., 1/4., -1/6., 1/24.))
|
|
|
|
|
|
|
|
def MatrixMul( mtx_a, mtx_b):
|
|
tpos_b = zip( *mtx_b)
|
|
rtn = [[ sum( ea*eb for ea,eb in zip(a,b)) for b in tpos_b] for a in mtx_a]
|
|
return rtn
|
|
|
|
|
|
v = MatrixMul( a, b )
|
|
|
|
print 'v = ('
|
|
for r in v:
|
|
print '[',
|
|
for val in r:
|
|
print '%8.2f '%val,
|
|
print ']'
|
|
print ')'
|
|
|
|
|
|
u = MatrixMul(b,a)
|
|
|
|
print 'u = '
|
|
for r in u:
|
|
print '[',
|
|
for val in r:
|
|
print '%8.2f '%val,
|
|
print ']'
|
|
print ')'
|