数组的运算大多是元素级的,数组相乘的结果是各对应元素的积组成的数组, 但是矩阵相乘使用的是点积,NumPy库提供用于矩阵乘法的dot函数。另外 NumPy库的linalg模块来完成具有线性代数运算方法
1、numpy.dot()
•
对于两个一维的数组,计算的是这两个数组对应下标元素的乘积之和;
•
对于二维数组,计算的是两个数组的矩阵乘积;
•
二维数组和一维数组的点积
,则将一维数组转置后计算矩阵乘积,
最后结果还
原成向量。
numpy.dot(a, b, out=None) 或 a.dot(b,out=None)
参数说明:
•
a : ndarray 数组
•
b : ndarray 数组
•
out : ndarray, 可选,用来保存dot()的计算结果,
必须与乘积结果的维度、
长度、类型一致
。
2、numpy.vdot()
函数vdot是两个向量的点积(对应元素乘积之和)。
如果
第一个参数
是复数,则将第一个参数的
复共轭
用于点积的计算。
3、numpy.linalg.det()
计算矩阵的行列式。
4、numpyp.linalg.solve()
求解线性方程组。
5、numpy.linalg.inv()
计算方阵的乘法逆矩阵(A*B=I)。
注意:如果矩阵是奇异的或者非方阵,使用inv函数求逆矩阵,会出现错误。