当前位置: 首页 > news >正文

线性代数 --- 特征值与特征向量(下)

特征值与特征向量

Eigen Values & Eigen Vectors

Part III:如何求解特征向量与特征值

The Key Equation

\mathbf{det(A-\lambda I)=0}

对于一般矩阵A,如何找到他的特征值与特征向量?

Step I: Find λ first!

首先,我们有方程:

Ax=\lambda x

但这里有两个未知数,因此我们把上面的方程改写一下:

Ax=\lambda x\Rightarrow Ax=\lambda Ix\Rightarrow (A-\lambda I)x=0

        这个齐次方程的解就是矩阵(A-\lambdaI)的零空间,抛开平凡解全0向量不说。要想让矩阵的零空间存在非零向量,则矩阵的A必为奇异矩阵,即不可逆矩阵。同时,结合之前学到的行列式的概念,若一个矩阵是奇异矩阵,则矩阵的行列式为0。这样一来,我们就不用考虑未知数x,也就是特征向量,先求未知数\lambda,也就是特征值。如下:

det(A-\lambda I)=0

        这个方程是一个非常重要的方程(Key equation),叫特征值方程(Eigen-value equation)或者叫特征方程(characteristic equation)。

Step II: Substitue λ and solve equations!

         求解完特征值方程后会得到n个\lambda(可能会有相同的\lambda),把这些\lambda代入到经过改写后的方程组中,求解齐次方程组,或者说是求解零空间,得到相应的特征向量。

举个例子来说明上述求解过程:

A=\begin{bmatrix} 0 &1 \\ 1& 0 \end{bmatrix}

 对于上面提到过的置换矩阵A,第一步,我们先求det(A-λI)=0:

det(A-\lambda I)=\begin{vmatrix} -\lambda &1 \\ 1& -\lambda \end{vmatrix} =0

得到:

\lambda ^{2}-1=0\Rightarrow \lambda ^{2}=1

由此得到两个特征根:

\lambda _{1}=1, \lambda _{2}=-1

把第一个特征值λ=1代入改写后的方程:

(A-\lambda I)x=0\Rightarrow (A-I)x=0

其中(A-I)为:

A-I=\begin{bmatrix} -1 &1 \\ 1& -1 \end{bmatrix}

        对该矩阵消元得到矩阵U,找到主元列和自由列,其中与自由列位置所对应的向量x中的元素就是自由变量。设自由变量为一个任意数,求出相应的特解。

U=\begin{bmatrix} -1 &1 \\ 0& 0 \end{bmatrix}\Rightarrow -x_{1}+x_{2}=0

        消元矩阵U的秩为1,存在一个特解。第一列为主元列,第二列为自由列。因此,对应的自由变量为x2。令x2=1, 则x1=1得到一个特解,也就是我们要找的特征向量x:

x=\begin{bmatrix} 1\\ 1 \end{bmatrix},\lambda _{1}=1

相应的代入第二个特征值λ=-1:

(A-\lambda I)x=0\Rightarrow (A+I)x=0

A+I=\begin{bmatrix} 1 &1 \\ 1& 1 \end{bmatrix}

U=\begin{bmatrix} 1 &1 \\ 0& 0 \end{bmatrix}\Rightarrow x_{1}+x_{2}=0

令自由变量x2=1,则x1=-1:

x=\begin{bmatrix} -1\\ 1 \end{bmatrix},\lambda _{2}=-1

这里我们顺便基于矩阵的行列式和迹来验证一下两个特征根:

Trace=0+0=0        \lambda _{1}+\lambda _{2}=-1+1=0

det(A)=0-1=-1        \lambda _{1}*\lambda _{2}=-1*1=-1

特例 I:多个重复/相同的特征值会引发特征向量的短缺

令矩阵A为: 

A=\begin{bmatrix} 3 &1 \\ 0&3 \end{bmatrix}

先求特征值:

det(A-\lambda I)=\begin{vmatrix} 3-\lambda & 1\\ 0& 3-\lambda \end{vmatrix}=(3-\lambda)^{2}=0

这会得到两个重复的特征值:

\lambda _{1}=3,\lambda _{2}=3

带入其中一个特征值,并求特征向量:

(A-\lambda I)x=0\Rightarrow (A-3I)x=0

A-3I=\begin{bmatrix} 0 &1 \\ 0& 0 \end{bmatrix}

U=\begin{bmatrix} 0 &1 \\ 0& 0 \end{bmatrix}\Rightarrow x_{2}=0

令自由变量x1=1,得到:

x=\begin{bmatrix} 1\\ 0 \end{bmatrix},\lambda _{1}=3

         现在问题来了,如果你代入第二个特征向量(还是3),并重复上述操作,你是无法找到一个与第一个特征向量线性无关的另一个特征向量了。最多你只是令自由变量x1为一个其他数,然后得到一个特征向量,但最终你得到的这个特征向量与之前得到的那个是线性相关的。

        这个例子说明了一个矩阵的特征向量的线性相关性即取决于矩阵的维数也取决于是否存在重复的特征值。对于一个 2x2 的方阵,如果它有两个不同的特征值,那么就能得到两个线性无关的特征向量。但如果是两个重复的特征值,就只能得到一个特征向量或两个线性相关的特征向量。

特例 II:特征根为复数的情况

已知旋转矩阵Q,求Q的特征向量和特征值:

Q=\begin{bmatrix} 0 & -1\\ 1& 0 \end{bmatrix}

        这个旋转矩阵Q的作用是把任意向量旋转90°,这里我们会遇到问题。根据特征向量的意义,当矩阵Q作用于特征向量x后,向量Qx的方向应当与x相同。但这个要求明显与旋转矩阵Q的作用向左。换句话说,我们需要找出一个向量,他旋转90°仍在原处。

        其次,根据特征值的性质,我们同样也会发现类似的"Bug"。首先,这是一个2x2矩阵,因此有两个特征值\lambda _{1},\lambda _{2}。其次,我们还知道矩阵的迹等于两个特征值的和,矩阵的行列式等于两个特征值的乘积:

Trace=\lambda _{1}+\lambda _{2}=0

Det=\lambda _{1}\cdot \lambda _{2}=1

从第一个等式上说\lambda _{1},\lambda _{2}必定是一正一负,而如果这样的话他们的乘积必定是负数,这和第二个等式相违背。

现在,我们按照一般的方法去求解: 

det(Q-\lambda I)=\begin{vmatrix} -\lambda &-1 \\ 1& -\lambda \end{vmatrix}=\lambda ^{2}+1=0\Rightarrow \lambda ^{2}=-1

最终得到两个复根:

\begin{matrix} \lambda _{1}=i\\ \lambda _{2}=-i \end{matrix}

这两个复数的特征值正好满足和为0,且乘积为1。

带入第一个特征根i:

(Q-\lambda I)x=0\Rightarrow (Q-iI)x=0

Q-iI=\begin{bmatrix} -i &-1 \\ 1& -i \end{bmatrix}

U=\begin{bmatrix} -i &-1 \\ 0& 0 \end{bmatrix}\Rightarrow -ix_{1}-x_{2}=0

令自由变量x2=1,得到x1=1/-i=i:

x=\begin{bmatrix} i\\ 1 \end{bmatrix},\lambda _{1}=i

带入第二个特征根-i:

(Q-\lambda I)x=0\Rightarrow (Q+iI)x=0

Q+iI=\begin{bmatrix} i &-1 \\ 1& i \end{bmatrix}

U=\begin{bmatrix} i &-1 \\ 0& 0 \end{bmatrix}\Rightarrow ix_{1}-x_{2}=0

令自由变量x2=1,得到x1=1/i=-i:

x=\begin{bmatrix} -i\\ 1 \end{bmatrix},\lambda _{2}=-i


 (全文完)

作者 --- 松下J27 

 参考文献(鸣谢):

1,Introduction to Linear Algebra,Fifth Edition - Gilbert Strang

2,麻省理工Gilbert Strang教授线代大师-线性代数(全)_哔哩哔哩_bilibili

(配图与本文无关) 

版权声明:文中的部分图片,文字或者其他素材,可能来自很多不同的网站和说明,在此没法一一列出,如有侵权,请告知,立即删除。欢迎大家转载,但是,如果有人引用或者COPY我的文章,必须在你的文章中注明你所使用的图片或者文字来自于我的文章,否则,侵权必究。 ----松下J27

相关文章:

  • CTP-API开发系列之五:SimNow环境介绍
  • 0102全排列和对换-行列式-线性代数
  • LeetCode每日一题之 快乐数
  • Rust常用特型之Drop特型
  • 【Python】科研代码学习:六 ModelOutput,SpecificModel
  • Rust有没有信号量机制,在缓存有数据的时候才允许等待的进程取数据?
  • 【Go】令牌桶限流算法
  • Unity Text文本实现滚动跑马灯效果
  • (MATLAB)第五章-矩阵运算
  • okHttp MediaType MIME格式详解
  • Java的堆如何分代的?
  • 吴恩达机器学习笔记十六 如何debug一个学习算法 模型评估 模型选择和训练 交叉验证测试集
  • SpringCloudGateway理论与实践
  • 【docker基础学习之】镜像构建
  • VLAN FAQ
  • Angular 响应式表单之下拉框
  • Angular6错误 Service: No provider for Renderer2
  • codis proxy处理流程
  • css布局,左右固定中间自适应实现
  • CSS居中完全指南——构建CSS居中决策树
  • Django 博客开发教程 8 - 博客文章详情页
  • Java读取Properties文件的六种方法
  • js学习笔记
  • oschina
  • 关于Java中分层中遇到的一些问题
  • 解决iview多表头动态更改列元素发生的错误
  • 使用parted解决大于2T的磁盘分区
  • 译米田引理
  • ​如何防止网络攻击?
  • ​香农与信息论三大定律
  • # Java NIO(一)FileChannel
  • (HAL)STM32F103C6T8——软件模拟I2C驱动0.96寸OLED屏幕
  • (附源码)ssm高校运动会管理系统 毕业设计 020419
  • (附源码)计算机毕业设计大学生兼职系统
  • (三)c52学习之旅-点亮LED灯
  • (转载)Linux网络编程入门
  • .apk文件,IIS不支持下载解决
  • .NET Compact Framework 3.5 支持 WCF 的子集
  • .NET 同步与异步 之 原子操作和自旋锁(Interlocked、SpinLock)(九)
  • .NET 应用启用与禁用自动生成绑定重定向 (bindingRedirect),解决不同版本 dll 的依赖问题
  • .net图片验证码生成、点击刷新及验证输入是否正确
  • ??javascript里的变量问题
  • @Async注解的坑,小心
  • @Mapper作用
  • @基于大模型的旅游路线推荐方案
  • [ 隧道技术 ] 反弹shell的集中常见方式(二)bash反弹shell
  • [2013AAA]On a fractional nonlinear hyperbolic equation arising from relative theory
  • [ACTF2020 新生赛]Include
  • [acwing周赛复盘] 第 94 场周赛20230311
  • [C#]OpenCvSharp结合yolov8-face实现L2CS-Net眼睛注视方向估计或者人脸朝向估计
  • [C#]猫叫人醒老鼠跑 C#的委托及事件
  • [C++]类和对象(中)
  • [CISCN2021 Quals]upload(PNG-IDAT块嵌入马)
  • [EFI]Dell Latitude-7400电脑 Hackintosh 黑苹果efi引导文件
  • [JDK工具-2] javap 类文件解析工具-帮助理解class文件,了解Java编译器机制