numpy下的linalg=linear+algebra,包含很多线性代数的运算,主要用法有以下几种:
1.np.linalg.norm:进行范数运算,范数是对向量(或者矩阵)的度量,是一个标量(scalar);
2.np.linalg.eigh:计算矩阵特征向量,PCA中有使用到,下面是几个例子:
>>> w, v = LA.eig(np.diag((1, 2, 3)))
>>> w; v
array([ 1., 2., 3.])
array([[ 1., 0., 0.],
[ 0., 1., 0.],
[ 0., 0., 1.]]) >>> w, v = LA.eig(np.array([[1, -1], [1, 1]]))
>>> w; v
array([ 1. + 1.j, 1. - 1.j])
array([[ 0.70710678+0.j , 0.70710678+0.j ],
[ 0.00000000-0.70710678j, 0.00000000+0.70710678j]]) >>> a = np.array([[1, 1j], [-1j, 1]])
>>> w, v = LA.eig(a)
>>> w; v
array([ 2.00000000e+00+0.j, 5.98651912e-36+0.j]) # i.e., {2, 0}
array([[ 0.00000000+0.70710678j, 0.70710678+0.j ],
[ 0.70710678+0.j , 0.00000000+0.70710678j]])
>>> a = np.array([[1 + 1e-9, 0], [0, 1 - 1e-9]])
>>> # Theor. e-values are 1 +/- 1e-9
>>> w, v = LA.eig(a)
>>> w; v
array([ 1., 1.])
array([[ 1., 0.],
[ 0., 1.]]) 3.np.linalg.inv():矩阵求逆
4.np.linalg.det():矩阵求行列式(标量)

本文介绍NumPy中线性代数模块linalg的主要功能,包括范数运算、矩阵特征向量计算、矩阵求逆及求行列式等常用操作,并提供多个示例帮助理解。
820

被折叠的 条评论
为什么被折叠?



