,计算的是这两个数组对应下标元素的乘积和,即:内积;对于二维数组,计算的是两个数组的矩阵乘积;对于多维数组,结>果数组中的每个元素都是:数组a最后一维上的所有元素与数组b倒数第二维>上的所有元素的乘积和...:
dot(a,b)[i,j,k,m] = sum(a[i,j,:] * b[k,:,m])
结果数组c,可以看做是数组a和b的多个子矩阵的乘积;
inner():对于一维数组,计算的是这两个数组的内积...;对于多维数组,计算的结果数组中的每个元素是:数组a和b最后一维的内积,因此a和b的最后一>维长度必须相同:
inner(a,b)[i,j,k,m] = sum(a[i,j,:]*b[k,m,:])...5, 6, 7], [ 8, 10, 12, 14], [12, 15, 18, 21]])
解线性方程组
对矩阵更加高级的运算在numpy的linalg模块中可以找到:
np.linalg.solve...()传入两个参数数组,a为N*N的二维数组,b为长度为N的一维数组,满足 : a * x = b,解得x矩阵即是N元一次方程的解;
np.linalg.lstsq()传入的参数数组不要求a数组为正方形