当前位置:   article > 正文

矩阵运算——矩阵乘除法python_python矩阵乘除

python矩阵乘除

哈喽,鉴于上一篇博文出现问题,此处特地开一篇,我也是一脸蒙蔽。

很多博文只会求得矩阵特征分解的特征值和特征向量,而从没有进行验证,验证方法两个

1  A*v=lam*v                    lam是特征值

2 det(A-lam*I)=0              I是单位阵

我随机产生的矩阵求特征值发现有复数产生,为了方便,网上找了不是复数的矩阵。

错误方法复现

  1. >>> A
  2. array([[-1, 1, 0],
  3. [-4, 3, 0],
  4. [ 1, 0, 2]])
  5. lamba,va=np.linalg.eig(A)
  6. #the first validation
  7. >>> np.dot(A,va)
  8. array([[ 0. , 0.40824829, 0.40824829],
  9. [ 0. , 0.81649658, 0.81649658],
  10. [ 2. , -0.40824829, -0.40824829]])
  11. >>> np.dot(np.diag(lamba),va)
  12. array([[ 0. , 0.81649658, 0.81649658],
  13. [ 0. , 0.81649658, 0.81649658],
  14. [ 1. , -0.40824829, -0.40824829]])
  15. #服不服?这是错的
  16. #the second validation
  17. >>> np.linalg.det(A-np.diag(lamba))
  18. -2.0
  19. #崩溃不

且不说上面有个特征值是重复的。

原因是加转置就正确了,公式是公式,实际操作就是不

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/678987
推荐阅读
相关标签
  

闽ICP备14008679号