前言
numpy模块中函数库linalg一些关于矩阵计算的函数,其中dot是便于记忆添加到表格里。
函数 | 说明 |
---|---|
d o t \color{orange}{dot} dot | 计算矩阵乘 |
d e t \color{orange}{det} det | 计算矩阵行列式 |
i n v \color{orange}{inv} inv | 计算矩阵逆 |
p i n v \color{orange}{pinv} pinv | 计算矩阵的伪逆 |
e i g \color{orange}{eig} eig | 计算方阵的特征值和特征向量 |
s o l v e \color{orange}{solve} solve | 求解线性矩阵方程组AX=b,A为方阵 |
代码实现
import numpy as np
# np.array()生成2x2,3x3矩阵
A = np.array([[1,3],[2,4]])
B = np.array([[1,3,5],[2,4,6]])
np.dot()计算矩阵乘
ans = np.dot(A,B)
print('AB=',ans)
结果:AB= [[ 7 15 23]
[10 22 34]]
np.linalg.det计算矩阵的行列式
ans = np.linalg.det(A) # 1*4-3*2=-2
ans
结果:-2.0
np.linalg.inv()计算矩阵逆
ans = np.linalg.inv(A)
ans
结果:array([[-1.33333333, 1.08333333],
[-0.33333333, 0.33333333],
[ 0.66666667, -0.41666667]])
np.linalg.pinv()计算矩阵伪逆(不是满秩矩阵以及方阵)
ans = np.linalg.pinv(B)
ans
结果:array([[-1.33333333, 1.08333333],
[-0.33333333, 0.33333333],
[ 0.66666667, -0.41666667]])
np.linalg.eig()计算矩阵的特征值和特征向量
ans = np.linalg.eig(A)
ans
结果:(array([-0.37228132, 5.37228132]),
array([[-0.90937671, -0.56576746],
[ 0.41597356, -0.82456484]]))
np.linalg.solve()求解线性矩阵方程组AX=b,A为方阵
A = np.array([[1,3],[2,4]])
b=np.array([4,5])
ans = np.linalg.solve(A,b)
ans
结果:array([-0.5, 1.5])