课程评价 (0)

请对课程作出评价:
0/300

学员评价

暂无精选评价
7分钟

求解特征值和特征向量

求解特征值和特征向量:

scipy.linalg.eig(a, b=None, left=False, right=True, overwrite_a=False, 
  overwrite_b=False, check_finite=True)
  • a:一个方阵,形状为(M,M)。待求解特征值和特征向量的矩阵。
  • b:默认为None,表示求解标准的特征值问题:Ax=λx 。 也可以是一个形状与a相同的方阵,此时表示广义特征值问题:
  • left:一个布尔值。如果为True,则计算左特征向量
  • right:一个布尔值。如果为True,则计算右特征向量
  • overwrite_a:一个布尔值,指定是否将结果写到a的存储区。
  • overwrite_b:一个布尔值,指定是否将结果写到b的存储区。
  • check_finite:如果为True,则检测输入中是否有nan或者inf

返回值:

  • w:一个一维数组,代表了M特特征值。
  • vl:一个数组,形状为(M,M),表示正则化的左特征向量(每个特征向量占据一列,而不是一行)。仅当left=True时返回
  • vr:一个数组,形状为(M,M),表示正则化的右特征向量(每个特征向量占据一列,而不是一行)。仅当right=True时返回

numpy提供了numpy.linalg.eig(a)来计算特征值和特征向量

右特征值:Ax_r=λx_r ;左特征值:A^Hx_l=conj(λ)x_l ,其中 conj(λ) 为特征值的共轭。

P=[x_r1,x_r2,...,x_rM],令

则有: