python实现矩阵乘法的方法
本文实例讲述了python实现矩阵乘法的方法.分享给大家供大家参考.
具体实现方法如下:
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
return [[sum(a * b for a, b in zip(a, b)) for b in zip(*B)] for a in A]
print matrixMul(a,b)
print matrixMul(b,a)
from numpy import dot
print map(list,dot(a,b))
print map(list,dot(b,a))
#Out:
#------------------------------------------------------------------------
希望本文所述对大家的Python程序设计有所帮助.
x=randn这个写法是不对的.
randn是numpy里的一个生成随机array的函数.
比如说要生成一个三行两列的随机array,可以这样写:
import numpy
像这样:
点积就是矩阵各个对应元素相乘, 这个时候要求两个矩阵必须同样大小.
其实可以分步来的,就知道做了什么运算了.
懂了木有 =.=
def mmult(a,b):
zip_b = zip(*b)
return [[sum(ele_a*ele_b for ele_a, ele_b in zip(row_a, col_b))
for col_b in zip_b] for row_a in a]
print(mmult(x,y))
或者可以直接用numpy
import numpy as np # I want to check my solution with numpy
mx = np.matrix(x)
my = np.matrix(y)
print(mx * my)
以上就是土嘎嘎小编为大家整理的python矩阵点乘函数相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!