Python与矩阵论——特征值与特征向量
2018-07-12 07:43:32来源:博客园 阅读 ()
Python计算特征值与特征向量案例
例子1
import numpy as np A = np.array([[3,-1],[-1,3]]) print('打印A:\n{}'.format(A)) a, b = np.linalg.eig(A) print('打印特征值a:\n{}'.format(a)) print('打印特征向量b:\n{}'.format(b))
打印A: [[ 3 -1] [-1 3]] 打印特征值a: [4. 2.] 打印特征向量b: [[ 0.70710678 0.70710678] [-0.70710678 0.70710678]]
例子2
import numpy as np A = np.array([[-1,1,0],[-4,3,0],[1,0,2]]) print('打印A:\n{}'.format(A)) a, b = np.linalg.eig(A) print('打印特征值a:\n{}'.format(a)) print('打印特征向量b:\n{}'.format(b))
打印A: [[-1 1 0] [-4 3 0] [ 1 0 2]] 打印特征值a: [2. 1. 1.] 打印特征向量b: [[ 0. 0.40824829 0.40824829] [ 0. 0.81649658 0.81649658] [ 1. -0.40824829 -0.40824829]]
例子3
import numpy as np A = np.array([[-2,1,1],[0,2,0],[-4,1,3]]) print('打印A:\n{}'.format(A)) a, b = np.linalg.eig(A) print('打印特征值a:\n{}'.format(a)) print('打印特征向量b:\n{}'.format(b))
打印A: [[-2 1 1] [ 0 2 0] [-4 1 3]] 打印特征值a: [-1. 2. 2.] 打印特征向量b: [[-0.70710678 -0.24253563 0.30151134] [ 0. 0. 0.90453403] [-0.70710678 -0.9701425 0.30151134]]
特征值
- 判断矩阵是不是方阵(即行数和列数相等的矩阵。若行数和列数不相等,那就谈不上奇异矩阵和非奇异矩阵)。
- 看矩阵的行列式|A|是否等于0,若等于0,称矩阵A为奇异矩阵;若不等于0,称矩阵A为非奇异矩阵。
- 若|A|≠0可知矩阵A可逆,可逆矩阵就是非奇异矩阵,非奇异矩阵也是可逆矩阵。
- 若A为奇异矩阵,则AX=0有无穷解,AX=b有无穷解或者无解。
- 若A为非奇异矩阵,则AX=0有且只有唯一零解,AX=b有唯一解。
特征向量
总结:
特征值和特征向量的计算方法:
特征值与特征向量
特征值的性质:
特征向量的性质
例题1
import numpy as np A = np.array([[1,2,2],[2,1,2],[2,2,1]]) print('打印A:\n{}'.format(A)) a, b = np.linalg.eig(A) print('打印特征值a:\n{}'.format(a)) print('打印特征向量b:\n{}'.format(b))
打印A: [[1 2 2] [2 1 2] [2 2 1]] 打印特征值a: [-1. 5. -1.] 打印特征向量b: [[-0.81649658 0.57735027 0. ] [ 0.40824829 0.57735027 -0.70710678] [ 0.40824829 0.57735027 0.70710678]]
例题2
import numpy as np A = np.array([[2,-3,1],[1,-2,1],[1,-3,2]]) print('打印A:\n{}'.format(A)) a, b = np.linalg.eig(A) print('打印特征值a:\n{}'.format(a)) print('打印特征向量b:\n{}'.format(b))
打印A: [[ 2 -3 1] [ 1 -2 1] [ 1 -3 2]] 打印特征值a: [2.09037533e-15+0.00000000e+00j 1.00000000e+00+5.87474805e-16j 1.00000000e+00-5.87474805e-16j] 打印特征向量b: [[0.57735027+0.j 0.84946664+0.j 0.84946664-0.j ] [0.57735027+0.j 0.34188085-0.11423045j 0.34188085+0.11423045j] [0.57735027+0.j 0.17617591-0.34269135j 0.17617591+0.34269135j]]
例题3
import numpy as np A = np.array([[2,-1,2],[5,-3,3],[-1,0,-2]]) print('打印A:\n{}'.format(A)) a, b = np.linalg.eig(A) print('打印特征值a:\n{}'.format(a)) print('打印特征向量b:\n{}'.format(b))
打印A: [[ 2 -1 2] [ 5 -3 3] [-1 0 -2]] 打印特征值a: [-0.99998465+0.00000000e+00j -1.00000768+1.32949166e-05j -1.00000768-1.32949166e-05j] 打印特征向量b: [[ 0.57735027+0.00000000e+00j 0.57735027+7.67588259e-06j 0.57735027-7.67588259e-06j] [ 0.57735913+0.00000000e+00j 0.57734584+1.53518830e-05j 0.57734584-1.53518830e-05j] [-0.57734141+0.00000000e+00j -0.5773547 +0.00000000e+00j -0.5773547 -0.00000000e+00j]]
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- python3基础之“术语表(2)” 2019-08-13
- python3 之 字符串编码小结(Unicode、utf-8、gbk、gb2312等 2019-08-13
- Python3安装impala 2019-08-13
- 小白如何入门 Python 爬虫? 2019-08-13
- python_字符串方法 2019-08-13
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash