各位用户为了找寻关于python实现矩阵乘法的方法的资料费劲了很多周折。这里教程网为您整理了关于python实现矩阵乘法的方法的相关资料,仅供查阅,以下为您介绍关于python实现矩阵乘法的方法的详细内容
本文实例讲述了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 30def
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程序设计有所帮助。