矩阵的特征值和特征向量

  • 特征值的理解
    • 特征值 、特征向量、方阵的关系
      • 几何意义
      • 物理意义
      • 特征分解
      • 特征值和特征向量的含义的应用
      • 补充一点

特征值的理解

其实刚上大学的时候上的线性代数课上,也只是简单讲解了特征值和特征向量是怎么求的。但是并不知道特征值和特征向量有什么含义,能做什么,也就是我为什么要求它们。
这几天抽空查了很多的资料,在这里记录一下学习心得吧!

特征值 、特征向量、方阵的关系

我们都知道,它们三者满足如下的关系
A∗X=λ∗XA* X=\lambda*X A∗X=λ∗X
其中,A是方正,一般是已知的。 X是特征向量,λ\lambdaλ是特征值,这两个是捆绑存在的,待定的。
从整个式子上看,可以简单的理解:X特征向量在经过 转换矩阵A的转化后,在另一个空间维度和方向不变,只是被拉伸或缩短了。

几何意义

说明下,矩阵和向量线性变换总是在不同的基对之间变化的。所以下面我会申明一下基是什么。

  • 从V不动,A不断变化的角度看:
    在i⃗\vec{i}i,j⃗\vec{j}j​ 向量为基的坐标系中,存在一个 向量 v⃗\vec{v}v,
  1. 先用转化矩阵对 向量进行位移,A1∗v⃗A_1*\vec{v}A1​∗v如下,没有发现和 v⃗\vec{v}v 有什么特殊的关系。
  2. 变化矩阵A,不断调整A∗v⃗A*\vec{v}A∗v的位置,可以发现出现如下情况。
    3.A2∗v⃗A_2*\vec{v}A2​∗v与v⃗\vec{v}v重合了。可以观察到,v⃗\vec{v}v是A2A_2A2​的特征向量,A2∗v⃗A_2*\vec{v}A2​∗v的长度是v⃗\vec{v}v的λ\lambdaλ倍
  • 从A不变,V不断变化的角度看

依旧是在 i⃗、j⃗\vec{i}、\vec{j}i、j​的坐标系下,存在一个v⃗\vec{v}v,给v左乘一个矩阵AAA,位置关系如下,也没什么特殊的

调整了一下KaTeX parse error: Expected '}', got 'EOF' at end of input: \vec{v]的方向,图像渐渐特殊了:

可以观察到,v⃗\vec{v}v是A∗v⃗A*\vec{v}A∗v重合了。此时我们称v⃗\vec{v}v是AAA的特征向量,A∗v⃗A*\vec{v}A∗v的长度是v⃗\vec{v}v的λ\lambdaλ倍
其实,向量v就是一个方向,表示在这个方向上,矩阵A(运动)相对稳定,因为方向不变化。
在这个方向上的所有特征都是特征向量。

这也就说明了,为什么λ\lambdaλ和v是一对的,因为 有了长度和方向,这个向量的也就确定了,即特征向量就是固定的了。

物理意义

一般来说,矩阵我们可以看成是一种运动,而向量可以看作是平面上的一个方向。而在这里,特征值和特征向量就像是 运动 的速度和 方向。

  • 特征值就是运动的速度
  • 特征向量就是运动的方向

既然运动最重要的两方面都被描述了,特征值、特征向量自然可以称为运动(即矩阵)的特征。而运动是不能直接观察的,例如走路,我们只会人在走,猪在走,熊再走… 只有了载体我们才会说这个动作。
上面说的运动太抽象了,我来举一个具体点的例子:烧水。

  • 烧一壶斐波那契的水
    如果我要烧一壶水,且水得温度假设 按照斐波那契数列增加,那么就有 下一秒的水温度Tt+!T_{t+!}Tt+!​,当前水温TTT,前一秒水温Tt−1T_t{-1}Tt​−1的关系为:
    Tt+1=Tt+Tt−1T_{t+1}=T_t+T_{t-1} Tt+1​=Tt​+Tt−1​
    因为每次计算,我都需要连续两个时间片的温度,因此可以用矩阵表示为
    [Tt+1Tt]=[1110][TtTt−1]\begin{bmatrix} T_{t+1}\\ T_t \end{bmatrix} = \begin{bmatrix} 1&1\\ 1&0 \end{bmatrix} \begin{bmatrix} T_t\\ T_{t-1} \end{bmatrix} [Tt+1​Tt​​]=[11​10​][Tt​Tt−1​​]
    其中,烧水这个动作我们抽象为 A=[1110]A=\begin{bmatrix}1&1\\ 1&0\end{bmatrix}A=[11​10​],反复这个运动就可以把水烧开。根据斐波那契数列,T1=1,T2=1T_1=1,T_2=1T1​=1,T2​=1开始,通过之前的相互调整阐述,可以得到如下结果:

    实际上,这壶水会沿着 AAA 的特征值最大的特征向量方向飞快增长,在理想情况下,温度会不断突破,甚至上百亿度。这时,我们就说 这个矩阵是不稳定。

拉格朗日发现,原来特征向量就是方向

我们知道了特征向量和特征值的含以后,会想为什么会这样??

特征分解

从某种层面来看,特征就是“不变”。不管v怎么变,都满足这样一个式子
A∗X=λ∗XA* X=\lambda*X A∗X=λ∗X
共线。
一般来说,一个向量在某个矩阵的作用下,其空间变换体现为 长度和 方向 的变化,即旋转和、平移和拉伸,有些情况下,向量的维度都会发生变化。而 这里的特殊指出在于,矩阵作用与它的特征向量,只是导致它的长度发生变化。
对于方阵而言,它的维度不会变化,所以矩阵作用到特征向量上的运动实际上只有两种:

  • 拉伸
  • 旋转

特征值也就是对特征向量 进行伸缩和旋转程度的度量。 如果λ\lambdaλ是

  • 实数R那么特征向量就只进行了 伸缩
  • 虚数那么特征向量就只进行了 旋转
  • 复数C那么特征向量就只进行了 伸缩和旋转
  • 推荐教材 《linear algebra and its application》

其实矩阵的分解,就用有一个现成的知识点:对角化
A=PΛP−1A=P\Lambda P^{-1} A=PΛP−1
其中 Λ\LambdaΛ是对角阵,由特征值组成。P−1P^{-1}P−1的列向量是单位化的特征向量
我们再回头看下刚才的特征值分解,实际上把运动给分解开了:

我们来看几何上做了什么:观察基的变化。
初始时

左乘P=[−22222222]P=\begin{bmatrix} -\frac{\sqrt{2}}{2} & \frac{\sqrt{2}}{2}\\ \frac{\sqrt{2}}{2} & \frac{\sqrt{2}}{2} \end{bmatrix}P=[−22​​22​​​22​​22​​​]

继续左乘Λ=[3001]\Lambda =\begin{bmatrix} 3&0\\ 0&1\end{bmatrix}Λ=[30​01​]

相当于,之前的旋转是指明了拉伸的方向,所以我们理解了:特征值就是拉伸的大小,特征向量指明了拉伸的方向
之前说的运动,特征值就是运动的速度,而特征向量就是运动的方向,而其余方向的运动就由 特征向量方向的运动合成。所以最大的特征值 对于的特征向量指明了运动速度的最大方向。

最后左乘 P−1=[−22222222]P^{-1}=\begin{bmatrix} -\frac{\sqrt{2}}{2} & \frac{\sqrt{2}}{2}\\ \frac{\sqrt{2}}{2} & \frac{\sqrt{2}}{2} \end{bmatrix}P−1=[−22​​22​​​22​​22​​​]

特征值和特征向量的含义的应用

从线性空间的角度上看,在一个定义了内积的线性空间里,对一个N阶对称的方阵进行 特征分解,就是产生了该空间 的N个标准正交基,然后把矩阵投影在N个基上。
N个特征向量就是N个正交基,而特征值的绝对值 则是代表矩阵在每个基上的投影长度
一般而言,特征值越大,说明矩阵在对应的特征向量上的方差越大,功率越大,信息量越多。
应用到 最优化中,意思就是 R的二次型。 自变量在这个方向上变化的时候,对函数值的影响最大,也就是在该方向上的导数最大。
应用到数据挖掘中,意思就是最大的特征值 对应的特征向量的方向上包含的信息量度,而特征值小的对应的特征向量方向上的信息很小,可以删除,从而达到降维的目的。也就是保留特征值大的方向对于的数据。
可以查看我的另一篇:数据降维的一个栗子:葡萄酒分类

补充一点

准确地来说,所有的方阵都有特征值和特征向量。
矩阵特征值的求法是写出特征方程lλE-Al=0
左边解出含有λ的特征多项式,比如说是含有λ的2次多项式,我们学过,是可能没有实数解的,(Δ<0)
这个时候我们说这个矩阵没有【实特征值】
但是如果考虑比如Δ<0时,有虚数的解,,也就是有虚数的特征值的
这样说来就必有特征值啦!

矩阵的特征值和特征向量相关推荐

  1. 特征值与特征向量_矩阵的特征值和特征向量

    不少学习过线性代数的同学可能都有这样的疑惑,就是线性代数到底是什么?我们算的这些东西究竟有什么用?回忆起这门课来可能仅有的印象也就是矩阵.向量.还有一个特征什么来着? 线性代数是一门相对较为年轻的学科 ...

  2. 矩阵的特征值和特征向量的雅克比算法C/C++实现

    矩阵的特征值和特征向量是线性代数以及矩阵论中非常重要的一个概念.在遥感领域也是经常用到,比如多光谱以及高光谱图像的主成分分析要求解波段间协方差矩阵或者相关系数矩阵的特征值和特征向量. 根据普通线性代数 ...

  3. 矩阵的特征值、特征向量

    这部分包括:正交矩阵.矩阵的特征值.特征向量.相似矩阵.实对称矩阵对角化.

  4. numpy求解矩阵的特征值和特征向量

    python2.7代码如下: #-*- encoding:utf-8 -*- import sys reload(sys) sys.setdefaultencoding('utf-8') import ...

  5. 雅可比旋转求解对称二维矩阵的特征值和特征向量

    问题描述: 给定一个矩阵,如下: A=[a11a21a12a22] A=\begin{bmatrix} a_{11}&a_{12}\\ a_{21}& a_{22} \end{bmat ...

  6. python中向量长度_线性代数精华——矩阵的特征值与特征向量

    点击上方蓝字,和我一起学技术. 今天和大家聊一个非常重要,在机器学习领域也广泛使用的一个概念--矩阵的特征值与特征向量. 我们先来看它的定义,定义本身很简单,假设我们有一个n阶的矩阵A以及一个实数λ, ...

  7. 中南大学 科学计算与MATLAB语言 矩阵的特征值与特征向量

    中南大学 科学计算与MATLAB语言 矩阵的特征值与特征向量 特征的几何意义 MATLAB提供一个eigshow()函数,能够将原始数据和伸缩变换后的数据椭圆. 稀疏矩阵 完全存储方式 稀疏存储方式

  8. 如何用计算机求特征值特征向量,利用QR算法求解矩阵的特征值和特征向量

    利用QR算法求解矩阵的特征值和特征向量 为了求解一般矩阵(不是那种幼稚到shi的2 x 2矩阵)的特征值. 根据定义的话,很可能需要求解高阶方程... 这明显是个坑...高阶方程你肿么破... 折腾了 ...

  9. 乘幂法计算矩阵主特征值和特征向量-Matlab实现

    文章目录 1.前言 2.方法介绍 3.算法步骤 4.数值实验 5.总结 6.Matlab代码 1.前言 乘幂法主要用于求实矩阵按模最大的特征值(主特征值)和相应特征向量.本文通过Matlab解决实际例 ...

  10. matlab编程 利用生成一个10阶魔方矩阵,求矩阵的特征值、特征向量,对于特征值,请按照降序进行排列,对应的特征向量进行同样的排序。...

    您可以使用 Matlab 中的 eig 函数来计算矩阵的特征值和特征向量.例如,假设您要求解的矩阵为 A,则可以使用以下代码求解: [V,D] = eig(A);

最新文章

  1. Spring Cloud Alibaba - 12 使用Nacos的元数据实现金丝雀发布功能
  2. 只允许运行一个实例的方法
  3. 推荐“公主妄想症系列之二:第一次”
  4. apache apollo_Apache Apollo REST API
  5. mysql questions_sql_mysql
  6. StringBuilder类的作用,以及与String类的相互转换
  7. 文件批量改名特工 v1.0 怎么用
  8. Oracle数据库的数据类型
  9. TDDFT计算软件Octopus学习笔记(一):Ubuntu下Octopus的安装
  10. 2018考研信工所二室
  11. 阿里巴巴等大厂的 Java岗位要求是什么?
  12. python判断字符串大小写的三大函数——islower、isupper、istitle函数的用法及实例
  13. VSCode 中怎样快速切换多个项目
  14. Google设置新标签页默认地址
  15. 成为JAVA架构师必看书籍推荐
  16. Tracup:集成Bug追踪的轻量级项目管理平台
  17. 各品牌进入Bios方法,附U盘制作启动盘
  18. linux iptable命令用法
  19. 视觉slam中的一种单目稠密建图方法
  20. 通用表查询返回所有行(只适用于单表)

热门文章

  1. windows系统下的文件长名和文件短名
  2. 前端骨架屏终极方案——骨架图
  3. NTRIP传输相关,上篇SNIP NTRIP Caster学习笔记扫盲补充
  4. Linux的sh脚本编写基础知识
  5. 服务器系统封装iso,轻松几步 封装Windows系统镜像
  6. 时差怎么理解_英国与中国的时差为什么隔8小时(英国与中国的时差解读)
  7. Canvas 炫彩小球
  8. 无法加入域,隶属于域,工作组选项为灰色
  9. win10网络工作组看不到其他计算机,win10系统工作组不显示其他计算机的解决方法...
  10. pacman基本命令