线性代数之——特征值和特征向量

article/2025/10/12 0:50:09

线性方程 A x = b Ax=b Ax=b 是稳定状态的问题,特征值在动态问题中有着巨大的重要性。 d u / d t = A u du/dt=Au du/dt=Au 的解随着时间增长、衰减或者震荡,是不能通过消元来求解的。接下来,我们进入线性代数一个新的部分,基于 A x = λ x Ax=\lambda x Ax=λx,我们要讨论的所有矩阵都是方阵。

1. 特征值和特征向量

几乎所有的向量在乘以矩阵 A A A 后都会改变方向,某些特殊的向量 x x x A x Ax Ax 位于同一个方向,它们称之为特征向量

A x = λ x Ax = \lambda x Ax=λx

数字 λ \lambda λ 称为特征值。它告诉我们在乘以 A A A 后,向量是怎么被拉伸、缩小、反转或者不变的。 λ = 0 \lambda = 0 λ=0 意味着特征向量存在于矩阵的零空间中。任意向量都是单位矩阵的特征向量,因为 I x = x Ix=x Ix=x,其特征值为 1。

要计算特征值的话,我们只需要知道 d e t ( A − λ I ) = 0 det (A-\lambda I)=0 det(AλI)=0 即可。

如果 x 1 x_1 x1 乘以 A A A 的话,我们仍然得到 x 1 x_1 x1,任意 A A A 的乘方仍然得到 A n x 1 = x 1 A^nx_1=x_1 Anx1=x1 。如果 x 2 x_2 x2 乘以 A A A 的话,我们得到 1 2 x 2 \frac{1}{2}x_2 21x2,再乘以 A A A 我们得到 ( 1 2 ) 2 x 2 (\frac{1}{2})^2x_2 (21)2x2

A A A 被平方的时候,其特征向量不变,特征值也变为平方。

这种模式将会继续保持,因为特征向量一直待在他们自己的方向,不会改变。

其它向量都会改变方向,但它们可以表示为特征向量的线性组合。

当我们将这个向量乘以 A A A 后,每个特征向量都乘以了它们对应的特征值

利用这个特性,我们可以进行 99 次乘法。

特征向量 x 1 x_1 x1 处于稳定状态,因为 λ 1 = 1 \lambda_1=1 λ1=1,所以它不会改变。特征向量 x 2 x_2 x2 处于衰减状态,因为 λ 2 = 0.5 \lambda_2=0.5 λ2=0.5,乘方次数很大时,它就相当于消失了。

上述这个特殊的矩阵是一个马尔科夫矩阵,它的每个元素都为正并且每一列相加之后和为 1,这保证了它的最大特征值为 1。

对于投影矩阵,它的特征值为 0 和 1。 λ = 1 \lambda = 1 λ=1 对应于稳定状态,投影矩阵将列空间的所有向量都投影到列空间中去,也即还是它自身, P x 1 = x 1 Px_1 = x_1 Px1=x1 λ = 0 \lambda = 0 λ=0 对应于零空间,投影矩阵将零空间的所有向量都投影到零向量, P x 2 = 0 Px_2 = \boldsymbol 0 Px2=0

对于镜像矩阵,它的特征值为 1 和 -1。 λ = 1 \lambda = 1 λ=1 说明乘以矩阵 R R R 后特征向量 x 1 x_1 x1 不变, λ = − 1 \lambda = -1 λ=1 说明乘以矩阵 R R R 后特征向量 x 2 x_2 x2 变为相反方向。

同时,由于 R = 2 P − I R = 2P-I R=2PI,因此投影矩阵和镜像矩阵有着相同的特征向量。如果 P x = λ x Px=\lambda x Px=λx,那么

( 2 P − I ) x = 2 P x − I x = ( 2 λ − 1 ) x (2P-I)x = 2Px-Ix = (2\lambda -1)x (2PI)x=2PxIx=(2λ1)x

2. 特征值的计算

A x = λ x → ( A − λ I ) x = 0 Ax=\lambda x \to (A-\lambda I) x = \boldsymbol 0 Ax=λx(AλI)x=0

如果上述式子有非零解,那么 A − λ I A-\lambda I AλI 是奇异的,也就是行列式为零。因此,我们先通过下式求出特征值。

d e t ( A − λ I ) = 0 det(A-\lambda I)=0 det(AλI)=0

然后,针对每个特征值,再通过求解 ( A − λ I ) x = 0 (A-\lambda I)x=\boldsymbol 0 (AλI)x=0 来找到特征向量。

一些 2 × 2 2×2 2×2 矩阵可能只有一个特征向量,这时候,它的两个特征值相同。同理, n × n n×n n×n 的矩阵如果没有 n n n 个线性不相关的特征向量,那么就不能将任意一个向量都表示为特征向量的线性组合。

消元过程通常会改变矩阵的特征值,三角型矩阵 U U U 的对角线元素即为特征值,但它们不是矩阵 A A A 的特征值。

但是,我们可以从矩阵中很快地就发现特征值的乘积以及和。

n n n 个特征值的乘积就是矩阵的行列式值。 n n n 个特征值的和就是矩阵 n n n 个对角线元素的和。

主对角线上元素的和称为矩阵的(trace)。

另外,特征值也可能会不是实数。

获取更多精彩,请关注「seniusen」!


http://chatgpt.dhexx.cn/article/FJJ2yCpq.shtml

相关文章

特征值和特征向量概述-面试必问3(含特征值、向量意义)

特征值和特征向量(Eigenvalues and eigenvectors) 在线性代数中,一个线性变换的特征向量(eigenvector 或者 characteristic vector)是一个非零向量。将线性变换应用在它上面,它最多以一个标量因子进行伸缩…

java 如何实现深拷贝

1、什么叫Java浅拷贝?  浅拷贝是按位拷贝对象,它会创建一个新对象,这个对象有着原始对象属性值的一份精确拷贝。如果属性是基本类型,拷贝的就是基本类型的值;如果属性是内存地址(引用类型)&…

单例模式之枚举实现

如果你没有学过单例模式,请点击:确保对象的唯一性——单例模式。 有很多网友留言说我漏掉了一种非常重要的Java语言的单例模式实现方式——枚举。^_^ 这篇姗姗来迟的博文将弥补这个“巨大的”缺陷。^_^~~~~~~~~~~~ 在Java语言中,如果综合考虑…

vue实现购物车功能

随着时代发展&#xff0c;网购成了人们必不可少的一部分&#xff0c;所以我们常常遇到要实现购物车功能&#xff0c;如下图&#xff0c;我们来分析一下 下图所示页面: 首先&#xff0c;我们通过ElementUI中的<el-table>标签来实现页面的呈现。 其次&#xff0c;我们可以看…

css实现轮播图

轮播图&#xff1a;就是多张图片按照一定的时间和顺序依次从某个窗口来向用户展示图片 轮播图的实现代码&#xff1a; 1&#xff09;创建一个容器来进行轮播图的展示 这里的容器就是最外部的盒子 注意最外部盒子设置宽高时要与我们进行展示的图片的宽高保持一致&#xff0c…

RabbitMQ实现延迟队列的方式

1.背景 最近在做类似拍卖系统的上架功能&#xff0c;卖家上架物品以后&#xff0c;例如到期时间24小时或者48小时&#xff0c;如果无竞拍者或者购买者&#xff0c;则物品自动下架到用户的邮件中。诸如电商用户下单&#xff0c;30分钟未支付&#xff0c;则自动取消订单&#xff…

接口的实现详解

接口 接口就是定义的规则&#xff0c;规范。 声明类时需要使用的关键字时class&#xff0c;声明接口的关键字时interface&#xff1b; 接口本身就是抽象的&#xff0c;需要一个实现类去实现接口中定义的内容。 接口当中不能定义方法&#xff1a; 接口本身就是抽象的 所在我们…

Qt实现简易计算器

目录 写在前面 一、设计思路 效果展示&#xff1a; 二、功能实现 三、设计代码 1.mainwindow.cpp 2.calculate.cpp 写在前面 上篇文章写了C中如何实现简单的计算器&#xff0c;先用C写看来我的选择是正确的&#xff0c;明白了其中的原理再用Qt实现是水到渠成的事&#…

vue实现复制功能

目录 一、vue实现复制功能 1.功能实现 2.模板结构 3.js行为 4.样式 二.延伸扩展 一、vue实现复制功能 1.功能实现 点击复制弹出复制成功信息&#xff0c;粘贴即可获得复制数据。 2.模板结构 在自己想要复制的内容所在标签上添加一个类名和一个点击事件方法&#xff0c;…

多态的实现

多态实现条件 在Java中要实现多态&#xff0c;那么必须要满足以下几个条件&#xff0c;缺一不可&#xff1a; 必须在继承体系下 子类必须要对父类中的方法进行重写 通过父类的引用调用重写的方法 多态体现&#xff1a;在代码运行时&#xff0c;当传递不同类对象时&#xff0c;…

java实现接口

接口的简述&#xff1a; 1、在java编程语言中&#xff0c;接口是属于抽象类型的&#xff0c;是抽象方法的结合&#xff0c;用interface来定义接口&#xff0c;一个类通过继承接口的方式&#xff0c;从而来继承接口的抽象方法&#xff1b;类可以继承接口&#xff0c;但是接口不可…

java实现链表

一、链表定义 链表通过指针将一组零散的内存块串联在一起进行使用。 数据格式&#xff1a; 根据上面的图展示&#xff0c;每个内存块可以称为链条的一个“结点”&#xff0c;结点包含了数据和下一个结点的地址&#xff1b;同时有2个结点特殊&#xff1a;第一个结点和最后一个…

redis实现延迟队列

前言&#xff1a;redis实现延迟队列该怎么做&#xff1f;在这里我分享一下 redis实现延迟队列 一、Redis实现延迟队列二、redis失效监听事件三、此种实现面临的问题四、开发准备五、基础实现六、使用redisson实现延迟队列七、redisson实现延迟队列的原理八、延迟队列配置九、疑…

如何设置时间格式

如何设置时间格式 开发工具与关键技术&#xff1a;VisualStudio C# 作者&#xff1a;落白 撰写时间&#xff1a;2019/06/26时间格式的转换是一个令人头疼的存在&#xff0c;格式稍微出了一点差错就保存不进数据库&#xff0c;或者在类型为时间类型的input标签中显示不出来。搞…

html如何修改时间,html怎么设置时间

html设置时间的方法&#xff1a;首先创建一个div&#xff1b;然后给该div添加一个class属性&#xff1b;最后通过“function realSysTime(clock){...}”方法设置时间即可。 本文操作环境&#xff1a;windows7系统、HTML5&&CSS3版、Dell G3电脑。 HTML设置一个当前时间s…

心跳检测时间设置

Eureka Client 向 Eureka Server 发送心跳的频率&#xff08;默认 30 秒&#xff09; client eureka:instance:# 如果x秒内&#xff0c;依然没有收到续约请求&#xff0c;判定服务过期,默认90slease-expiration-duration-in-seconds: 50# 每隔x秒钟&#xff0c;向服务中心发送…

window下时间设置

用了蛮长时间搞出点东西&#xff0c;还被上面鄙视了一番&#xff0c;算了不抱怨了&#xff0c;在鄙视中成长&#xff0c;在鄙视中强大。 我主要是完成两个两个功能:第一个是设置系统时间将其转换成十六进制精确到分钟显示出来&#xff08;这个VC中有现成的api&#xff0c;以前…

Date、Time、DateTimes设置

撰写时间&#xff1a;2019年06月16日 在数据库中设置的Date、Time、datetime类型&#xff0c;在Vs中Date、datetime便会自动转化为DataTIme类型&#xff0c;而Time类型则会转化为TimeSpan类型 常常在查出时间、日期的数据时都会乱码&#xff0c;就像下图一样&#xff0c;那么…

如何更改Windows服务器时间

Windows操作系统自带时间同步功能&#xff0c;它会自动从互联网时间服务器获取时间&#xff0c;以保证系统时间的准确性。但是&#xff0c;有时候我们需要更改时间服务器&#xff0c;以获得更准确的时间同步。小编将为大家介绍如何更改Windows时间服务器&#xff0c;以及Window…

Windows将时间设置到秒的方法

使用win10系统的用户应该都发现了&#xff0c;Win10系统右下角时间只显示到分&#xff0c;不会显示到秒&#xff0c;如果想要看到秒的话&#xff0c;需要点击一下时间才会弹出。那么&#xff0c;Win10系统时间怎么显示到秒? 默认情况下&#xff0c;需要点击后方可查看时间详情…