本文实例讲述了python实现矩阵乘法的方法。分享给大家供大家参考。具体实现方法如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
def matrixMul(A, B):
res = [[ 0 ] * len (B[ 0 ]) for i in range ( len (A))]
for i in range ( len (A)):
for j in range ( len (B[ 0 ])):
for k in range ( len (B)):
res[i][j] + = A[i][k] * B[k][j]
return res
def matrixMul2(A, B):
return [[ sum (a * b for a, b in zip (a, b)) for b in zip ( * B)] for a in A]
a = [[ 1 , 2 ], [ 3 , 4 ], [ 5 , 6 ], [ 7 , 8 ]]
b = [[ 1 , 2 , 3 , 4 ], [ 5 , 6 , 7 , 8 ]]
print matrixMul(a,b)
print matrixMul(b,a)
print "-" * 90
print matrixMul2(a,b)
print matrixMul2(b,a)
print "-" * 90
from numpy import dot
print map ( list ,dot(a,b))
print map ( list ,dot(b,a))
#Out:
#[[11, 14, 17, 20], [23, 30, 37, 44], [35, 46, 57, 68], [47, 62, 77, 92]]
#[[50, 60], [114, 140]]
#------------------------------------------------------------------------
#[[11, 14, 17, 20], [23, 30, 37, 44], [35, 46, 57, 68], [47, 62, 77, 92]]
#[[50, 60], [114, 140]]
#------------------------------------------------------------------------
#[[11, 14, 17, 20], [23, 30, 37, 44], [35, 46, 57, 68], [47, 62, 77, 92]]
#[[50, 60], [114, 140]]
|
希望本文所述对大家的Python程序设计有所帮助。