【Python】Numpy--np.linalg.eig()求对称矩阵的特征值和特征向量
【Python】Numpy–np.linalg.eig()求对称矩阵的特征值和特征向量
文章目录
- 【Python】Numpy--np.linalg.eig()求对称矩阵的特征值和特征向量
- 1. 介绍
- 2. API
- 3. 代码示例
1. 介绍
特征分解(Eigendecomposition),又称谱分解(Spectral decomposition)是将矩阵分解为由其特征值和特征向量表示的矩阵之积的方法。
- 需要注意:只有对可对角化矩阵才可以施以特征分解。
- 当方阵的行列式不为0时,它才可以特征分解。
- 对称矩阵的行列式不为0。故实对称矩阵 A 可被分解成:
A=QΛQTA = QΛ Q^T A=QΛQTΛ是特征值构成的对角矩阵,Q为特征向量构成的矩阵(每列为一个特征向量)。
2. API
Numpy提供了丰富的API:
- 求矩阵的特征值和特征向量;
- 求矩阵的行列式
- 求方阵的逆
import numpy as np
# 计算特征值和特征向量
x, V = np.linalg.eig(A)# 计算矩阵的行列式
det = np.linalg.det(A)# 计算方阵的逆
A_inv = np.linalg.inv(A)
3. 代码示例
import numpy as npA = np.array([[0, 1, 2, 3],[1, 0, 3, 1],[2, 3, 0, 2],[3, 1, 2, 0]])x, V = np.linalg.eig(A)V_inv = np.linalg.inv(V)print('A的行列式', np.linalg.det(A))# 注意这里:且不可使用‘*’做乘法(因为*优先使用点乘,点乘不成立,才会进行矩阵乘法)
B = np.matmul(np.matmul(V, np.diag(x)), (V_inv))print('特征值x: \n', x)print('特征向量V: \n', V)print('V_T: \n', V.T)print('V_inv: \n', V_inv)print('B: \n', B)-----------------------------输出-----------------------------------
A的行列式 9.000000000000009
特征值x:[ 6.05572176 0.15432761 -3. -3.21004937]
特征向量V:[[-5.03020107e-01 -4.75446017e-01 -7.07106781e-01 -1.44643895e-01][-4.38300211e-01 6.51958757e-01 -2.36695808e-17 -6.18742842e-01][-5.49394638e-01 3.50502424e-01 -1.50578103e-16 7.58494287e-01][-5.03020107e-01 -4.75446017e-01 7.07106781e-01 -1.44643895e-01]]
V_T:[[-5.03020107e-01 -4.38300211e-01 -5.49394638e-01 -5.03020107e-01][-4.75446017e-01 6.51958757e-01 3.50502424e-01 -4.75446017e-01][-7.07106781e-01 -2.36695808e-17 -1.50578103e-16 7.07106781e-01][-1.44643895e-01 -6.18742842e-01 7.58494287e-01 -1.44643895e-01]]
V_inv:[[-5.03020107e-01 -4.38300211e-01 -5.49394638e-01 -5.03020107e-01][-4.75446017e-01 6.51958757e-01 3.50502424e-01 -4.75446017e-01][-7.07106781e-01 -8.99464510e-16 8.86986655e-16 7.07106781e-01][-1.44643895e-01 -6.18742842e-01 7.58494287e-01 -1.44643895e-01]]
B:
[[ 1.71102595e-15 1.00000000e+00 2.00000000e+00 3.00000000e+00][ 1.00000000e+00 9.30160211e-16 3.00000000e+00 1.00000000e+00][ 2.00000000e+00 3.00000000e+00 -2.20312258e-16 2.00000000e+00][ 3.00000000e+00 1.00000000e+00 2.00000000e+00 1.88043220e-15]]
【Python】Numpy--np.linalg.eig()求对称矩阵的特征值和特征向量相关推荐
- c语言求矩阵特征值的程序,如何用C语言编写求对称矩阵的特征值和特征向量的程序编写对称矩阵的特征值和特征向量,其中矩阵用二维数组保存.特征向量要求有大到小放到数组里....
优质解答 //数值计算程序-特征值和特征向量 // //约化对称矩阵为三对角对称矩阵 //利用Householder变换将n阶实对称矩阵约化为对称三对角矩阵 //a-长度为n*n的数组,存放n阶实对称 ...
- 雅可比旋转(Jacobi法)求对称矩阵的特征值和特征向量
雅可比方法 该方法是求解对称矩阵全部特征值和特征向量的一种方法,它基于以下结论: ①任何实对称矩阵A可以通过正交相似变换成对角型,即存在正交矩阵Q,使得 QTAQ=diag(λ1,λ2,-,λn)Q^ ...
- 如何计算方阵的特征值和特征向量np.linalg.eig()
关于这部分的理论知识可以参考我的这篇博客<特征值与特征向量>定义.意义及例子,下面主要介绍如何计算方阵的特征值和特征向量 目录 1.np.linalg.eig() 2.例子 3. 应用 4 ...
- numpy求矩阵的特征值与特征向量(np.linalg.eig函数详解)
numpy求矩阵的特征值与特征向量(np.linalg.eig) 语法 np.linalg.eig(a) 功能 Compute the eigenvalues and right eigenvecto ...
- 雅可比主对角线(Jacobi diagonalization)化求对称矩阵的特征值(python,数值积分)
第三十篇 雅可比主对角线化求对称矩阵的特征值 对于标准特征值方程 由特征值问题编程基础可知,对于任何非0解矩阵[P],标准方程可以转化为具有相同特征值的方程 其中 这种转换技术的关键核心在于[A *] ...
- python numpy np.argsort()(返回将对数组进行排序的索引)(不懂区别?)
from numpy\core\fromnumeric.py @array_function_dispatch(_argsort_dispatcher) def argsort(a, axis=-1, ...
- python numpy np.lexsort()(使用键序列执行间接稳定排序)(具体没太搞懂区别?)
from numpy\core_multiarray_umath.py @array_function_from_c_func_and_dispatcher(_multiarray_umath.lex ...
- (python numpy) np.array.shape 中 (3,)、(3,1)、(1,3)的区别
(python numpy) np.array.shape 中 (3,).(3,1).(1,3)的区别 被人问到这个问题,就记录一下吧 1. (3,) (3,)是[x,y,z][x,y,z][x,y, ...
- python求雅可比矩阵_雅可比算法求矩阵的特征值和特征向量
目的 求一个实对称矩阵的所有特征值和特征向量. 前置知识 对于一个实对称矩阵\(A\),必存在对角阵\(D\)和正交阵\(U\)满足$$D=U^TAU$$\(D\)的对角线元素为\(A\)的特征值,\ ...
最新文章
- python学习--numpy的数组
- 【渝粤题库】陕西师范大学200481 高级英语(一)
- 【原】搬家了,请移步
- 印度数据工厂驱动全球 AI 发展
- STEP 7-Micro/WIN SMART使用小技巧(持续更新)
- B端产品经理知识框架
- python在视频上方加字_python 使用 MoviePy 给视频添加文字水印demo实现[附代码]
- Unity遍历文件夹及其文件
- 老毛桃u盘装系统linux,老毛桃U盘装系统综合教程
- JDBC bug : You must configure either the server or JDBC driver
- 简易 shell 爬搜狐
- 弹出停止U盘安全删除硬件的命令
- 职场人:你知道自己值多少钱吗?
- +AI场景,3步懂图像识别产品
- VS之Excel文件操作
- mac 上压测工具_Mac OS X下压力测试技巧
- 红帽 -EX200-RHCSA 试题讲解-2
- python map函数的作用_Python map()函数介绍及用法
- win10硬盘启动从IDE改成ahci后无法启动系统的解决方式
- 香饽饽:腾讯强推的Redis天花板笔记,帮助初学者快速入门和提高(核心笔记+面试高频解析)
热门文章
- x内存满白苹果解决_iPhone X白苹果无限重启,一步步检修,最后靠经验快速找到问题点...
- 雷莫芦单抗|cas947687-13-0分子式:C285H434N74O88S2
- Win7 x64下内核池溢出覆盖配额进程指针(Quota Process Pointer Overwrite)
- simulink 储能二次调频AGC,风火水储联合二次调频。风电渗透率25%。储能出力随ACE变化。
- 湘潭大学自考计算机,湘潭大学自考本科是真的吗听说计算机软件工程好考​...
- dnf服务器显示1234567,DNF:旭旭宝宝色盲被实锤,普雷这个机制有点意思
- 从零开始学MATLAB(二)MATLAB矩阵处理
- 知识就是AI的力量:从知识工程到知识图谱全面回顾
- pycharm无法安装加载插件、三方库解决办法
- 500强外企基恩士春招来了应届毕业生18w-22w