numpy — 线性代数
2020-02-04 本文已影响0人
_aLIEz
矩阵乘法的dot
NumPy提供了一个用于矩阵乘法的dot函数
x = np.array([[1., 2., 3.], [4., 5., 6.]])
y = np.array([[6., 23.], [-1, 7], [8, 9]])
x.dot(y) # 相当于np.dot(x, y)
>>>array([[ 28., 64.], [ 67., 181.]])
#.(点)表示将整数化为浮点数
numpy.linalg中有一组标准的矩阵分解运算以及诸如求逆和行列 式之类的东西
常用的线性代数函数 from numpy.linalg import inv, qr...
函数 | 说明 |
---|---|
diag | 以一维数组的形式返回仿真的(或非)对角线元素,或将一维数组转化为方阵 |
dot | 矩阵乘法 |
vdot | 两个向量的点积 |
inner | 两个数组的内积 |
matmul | 两个数组的矩阵乘积 |
trace | 计算对角线的和 |
linalg函数 | 说明 |
---|---|
det | 计算矩阵行列式 |
eig | 计算方阵本征值和本征向量 |
inv | 计算方阵的逆 |
pinv | 计算矩阵的Moore-Penrose违逆 |
qr | 计算QR分解 |
svd | 计算奇异值分解 |
solve | 解线性方程组Ax=b,A为一个方阵 |
lstsq | 计算Ax=b的最小二乘解 |
函数示例
arr = np.arange(36).reshape((6,6))
arr
Out[89]:
array([[ 0, 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],
[30, 31, 32, 33, 34, 35]])