线性代数相关函数
一下所列的函数都包含在numpy.linalg函数里 diag:返回对角线元素或将一维数组转化为方阵。
np.diag([1,2,3,4,5])
'''
array([[1, 0, 0, 0, 0],
[0, 2, 0, 0, 0],
[0, 0, 3, 0, 0],
[0, 0, 0, 4, 0],
[0, 0, 0, 0, 5]])
'''
dot:矩阵乘法
x = np.array([[1,2,3],[4,5,6]])
y = np.array([[6,23],[-1,7],[8,9]])
np.dot(x,y)
'''
array([[ 28, 64],
[ 67, 181]])
'''
trace:计算矩阵的迹。
a = np.random.randn(5,4)
print(a)
trace = np.trace(a)
print("trace = ",trace)
'''
[[ 0.61223196 0.17226318 -1.08908235 0.32647044]
[-1.66678986 0.90078908 -0.27178198 -1.05759637]
[-1.51142639 -0.34080458 0.52155965 -0.59389139]
[-0.22506087 -0.80776766 0.05985235 1.7723059 ]
[ 0.12752669 -0.32118466 0.37587842 0.60670646]]
trace = 3.8068865952137223
'''
dect:计算矩阵行列式。
x = np.array([[2,0,0],[0,5,0],[0,0,9]])
det=int(np.linalg.det(x))
det
#90
inv:求矩阵的逆
pinv:求矩阵的伪逆
qr:求矩阵的特征分解
svd:求矩阵的svd
solve:解线性方程组Ax=b
lstsq:求Ax=b的最小二乘解