Numpy 提供了线性代数库 linalg , 该库包含了线性代数所需的所有功能,可以看卡下面的说明:
函数 | 描述 |
dot | 两个数组的点积, 即元素对应相乘 |
vdot | 两个向量的点积 |
inner | 两个数组的内积 |
matmul | 两个数组的矩阵阵积 |
determinant | 数组的行列式 |
solve | 求解线性矩阵方程 |
inv | 计算矩阵的乘法逆矩阵 |
numpy.dot()
numpy.dot()对于两个一维的数组,计算的是这两个数组的对应下标元素的乘机和数学上称之为内积(;碎玉二维数数组,计算的是两个数组的矩阵乘机;对于多为数组, 他的通用计算公式如下:即记过数组中的每个元素都是:数组 a 的最后一维上的所有数组 b 的倒数第二位上的所有元素的乘机: dot(a, b)[i,j,k,m] = sum(a[i,j,:] * b[k,:,m]))
numpy.dot(a, b, out = None)
参数说明:
a : ndarray 数组
b :ndarray 数组
out : ndarray, 可选, 用来保存dot()的计算结果
import numpy.matlib import numpy as np a = np.array([[1, 2], [3, 4]]) b = np.array([[11, 12], [13, 14]]) print(np.dot(a, b)) 输出结果: [[37 40] [85 92]]
计算式为: [[1*11+2*13, 1*12+2*14], [3*11 +4*13, 3*12 + 4*14]]