28相似矩阵和若尔当标准型
一、关于正定矩阵的一些补充
在此之前,先讲一下对称矩阵中那些特征值为正数的矩阵,这样特殊的矩阵称为正定矩阵。其更加学术的定义是:
SSS 是一个正定矩阵,如果对于每一个非零向量xxx,xTSx>0x^TSx>0xTSx>0
- 正定矩阵的逆仍然是正定矩阵
- 两个正定矩阵的和仍然是正定矩阵
- S=AATS=AA^TS=AAT 是正定的条件是矩阵 AAA 的列是独立的
对于最后一个结论。矩阵 AAA 是一个 m×nm\times nm×n 普通的矩阵(有可能为长方形),那么对应的矩阵 ATAA^TAATA 一定是对称矩阵。那么这样的 ATAA^TAATA 是一个正定的吗?
AATAA^T AAT
左乘xTx^TxT,右乘 xxx
xTATAx=(Ax)T(Ax)=∣Ax∣2≥0x^TA^TAx=(Ax)^T(Ax)=|Ax|^2\ge0 xTATAx=(Ax)T(Ax)=∣Ax∣2≥0
要保证它一定是正定,Ax=0(x≠0)Ax = 0(x\ne\bold0)Ax=0(x=0) 需要剔除, 这是我们熟悉的,只要 AAA 列满秩就一定只有零解,该条件自然剔除。所以结论是:只要普通方阵列满秩,AATAA^TAAT就一定是一个正定的对称矩阵。
二、相似矩阵
对于m×n矩阵:m\times n矩阵:m×n矩阵:AAA 和 BBB 是相似的,那么存在一些矩阵使得:
B=M−1AMB=M^{-1}AM B=M−1AM
事实上,我们已经接触过一种比较特殊的相似矩阵。假设 AAA 具有线性无关的特征向量,也就是存在特征矩阵 SSS使得:
S−1AS=ΛS^{-1}AS=\Lambda S−1AS=Λ
用这节课的新概念来看, 矩阵 AAA 与对角矩阵 Λ\LambdaΛ 相似,与对角矩阵相似是一个特别简洁的情况。举个例子:
A=[2112]A=\begin{bmatrix}2&1\\1&2\end{bmatrix} A=[2112]
因为矩阵 AAA 是线性无关的,所以必然存在一个逆矩阵 SSS 使得:
S−1AS=Λ=[3001]S^{-1}AS=\Lambda=\begin{bmatrix}3&0\\0&1\end{bmatrix} S−1AS=Λ=[3001]
除了 SSS 很多其他可逆矩阵也可以使得:
M−1AM=BM^{-1}AM=B M−1AM=B
不过矩阵没有这么特殊罢了。比如:
[1−401][2112][1410]=[−2−1516]=B\begin{bmatrix}1&-4\\0&1\end{bmatrix}\begin{bmatrix}2&1\\1&2\end{bmatrix}\begin{bmatrix}1&4\\1&0\end{bmatrix}=\begin{bmatrix}-2&-15\\1&6\end{bmatrix}=B [10−41][2112][1140]=[−21−156]=B
那么这两个矩阵 BBB 和 Λ\LambdaΛ 的共同点是什么呢?它们的特征值相同!相似矩阵具有相同的特征值!\color{red}相似矩阵具有相同的特征值!相似矩阵具有相同的特征值!下面对这个结论进行证明:
Ax=λxAx=\lambda x\\\ Ax=λx
在 AAA 和 xxx之间插入一个 M−1MM^{-1}MM−1M有:
AMM−1x=λxAMM^{-1}x=\lambda x AMM−1x=λx
然后左右两边再乘以 M−1M^{-1}M−1有:
M−1AMM−1x=λM−1xM^{-1}AMM^{-1}x=\lambda M^{-1} x M−1AMM−1x=λM−1x
加上括号有:
(M−1AM)M−1x=λM−1x(M^{-1}AM)M^{-1}x=\lambda M^{-1} x (M−1AM)M−1x=λM−1x
因为:B=M−1AMB=M^{-1}AMB=M−1AM,所以:
BM−1x=λM−1xBM^{-1}x=\lambda M^{-1}x BM−1x=λM−1x
把M−1xM^{-1}xM−1x 看成一个向量,显然 λ\lambdaλ 是矩阵 BBB 的特征向量,故相似矩阵相同的特征值,但是特征向量却发生了改变,变成了M−1xM^{-1}xM−1x
接下来看一下特征值相同的矩阵,前面知识已知:如果特征值相同那么这个矩阵不可以进行对角化,这种情况是“不咋美丽”的情况,但是我们需要对其进行讨论:
假设我们的特征值 λ1=λ2=4\lambda_1=\lambda_2=4λ1=λ2=4,特征值相同的矩阵可以分为两个阵营:
小阵营1:
[4004]\begin{bmatrix}4&0\\0&4\end{bmatrix} [4004]
这个阵营的矩阵只与自己相似。
大阵营2:
[4104]\begin{bmatrix}4&1\\0&4\end{bmatrix} [4014]
它是不能对角化的,因为如果可以对角化,那么就会相似于小阵营。上面的大阵营例子是一个若尔当标准型 (Jordan Form)。事实上,历史的某个时期,若尔当标准型还是压轴内容,现在不是了,最重要的一个原因就是一般的矩阵很难化简为若尔当标准型:条件特征值完全相等。还可以继续列举这样的矩阵:
[51−13][40174]\begin{bmatrix}5&1\\-1&3\end{bmatrix}\quad\begin{bmatrix}4&0\\17&4\end{bmatrix} [5−113][41704]
再列举一个大一些的矩阵:
[0100001000000000]\begin{bmatrix}0&1&0&0\\0&0&1&0\\0&0&0&0\\0&0&0&0\end{bmatrix} 0000100001000000
特征值全是零 λ1=λ2=λ3=λ4=0\lambda_1=\lambda_2=\lambda_3=\lambda_4=0λ1=λ2=λ3=λ4=0,特征向量有几个?等于秩的个数 N(A)=2N(A)=2N(A)=2,有两个特征向量“消失了”。
[0100000000010000]\begin{bmatrix}0&1&0&0\\0&0&0&0\\0&0&0&1\\0&0&0&0\end{bmatrix} 0000100000000010
下面介绍一下若尔当块(Jordan block):
Ji=[λi100λi100λi1⋯⋯⋯⋯]J_i=\begin{bmatrix} \lambda_i&1&&&0\\ 0&\lambda_i&1&&\\ 0&0&\lambda_i&1&\\ \cdots&\cdots&\cdots&\cdots \end{bmatrix} Ji=λi00⋯1λi0⋯1λi⋯1⋯0
对角线上都是相同的特征值 λi\lambda_iλi 特征值右侧都是1,其他地方都是0。每个块都有一个特征向量,我们可以通过数若尔当块确定特征向量的个数。
若尔当定理(Jordan’s theorem):每个方阵 AAA 都相似于一个若尔当阵矩阵 JJJ
J=[J1J2J3⋯]J=\begin{bmatrix}J1&&&&\\&J2\\&&J3\\&&&\cdots\end{bmatrix} J=J1J2J3⋯
若尔当块个数等于特征向量个数。“如果一个矩阵可以对角化,那么这个矩阵相似于对角矩阵”,它是若尔当矩阵的一种特殊情况。最好情况就是对角矩阵。
相关文章:
28相似矩阵和若尔当标准型
一、关于正定矩阵的一些补充 在此之前,先讲一下对称矩阵中那些特征值为正数的矩阵,这样特殊的矩阵称为正定矩阵。其更加学术的定义是: SSS 是一个正定矩阵,如果对于每一个非零向量xxx,xTSx>0x^TSx>0xTSx>0 正…...
springboot操作MongoDB
启动类及配置import com.mongodb.client.MongoClient;import com.mongodb.client.MongoClients;import com.mongodb.client.internal.MongoClientImpl;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplicatio…...
1月奶粉电商销售数据榜单:销售额约20亿,高端化趋势明显
鲸参谋电商数据监测的2023年1月份京东平台“奶粉”品类销售数据榜单出炉! 根据鲸参谋数据显示,1月份京东平台上奶粉的销量约675万件,销售额约20亿元,环比均下降19%左右。与去年相比,整体也下滑了近34%。可以看出&#…...
跨境数据传输是日常业务中经常且至关重要的组成部分
跨境数据传输是日常业务中经常且至关重要的组成部分。在过去的20年中,由于全球通信网络和业务流程的发展,全球数据流的模式已迅速发展。随着数据从数据中心移到数据中心和/或跨边界移动,安全漏洞已成为切实的风险。有可能违反国家和国际数据传…...
错误: tensorflow.python.framework.errors_impl.OutOfRangeError的解决方案
近日,在使用CascadeRCNN完成目标检测任务时,我在使用这个模型训练自己的数据集时出现了如下错误: tensorflow.python.framework.errors_impl.OutOfRangeError: PaddingFIFOQueue _1_get_batch/batch/padding_fifo_queue is closed and has in…...
springboot项目初始化执行sql
Sprint Boot应用可以在启动的时候自动执行项目根路径下的SQL脚本文件。我们需要先将sql脚本写好,并将这些静态资源都放置在src/main/resources文件夹下。 再配置application.yml: spring.datasource.initialization-mode 必须配置初始化模式initializa…...
Kubernetes之存储管理(中)
NFS网络存储 emptyDir和hostPath存储,都仅仅是把数据存储在pod所在的节点上,并没有同步到其他节点,如果pod出现问题,通过deployment会产生一个新的pod,如果新的pod不在之前的节点,则会出现问题,…...
MySQL workbench的基本操作
1. 创建新的连接 hostname主机名输入“local host”和“127.0.0.1”效果是一样的,指的是本地的服务器。 需要注意的是,此处的密码在安装软件的时候已经设定。 点击【Test Connection】,测试连接是否成功。 创建完的连接可以通过,…...
【Flink】FlinkSQL中Table和DataStream互转
在我们实际使用Flink的时候会面临很多复杂的需求,很可能需要FlinkSQL和DataStream互相转换的情况,这就需要我们熟练掌握Table和DataStream互转,本篇博客给出详细代码以及执行结果,可直接使用,通过例子可学会Table和DataStream互转,具体步骤如下: maven如下<?xml ver…...
网络总结知识点(网络工程师必备)一
♥️作者:小刘在C站 ♥️个人主页:小刘主页 ♥️每天分享云计算网络运维课堂笔记,努力不一定有收获,但一定会有收获加油!一起努力,共赴美好人生! ♥️夕阳下,是最美的绽放,树高千尺,落叶归根人生不易,人间真情 目录 1.TCP UDP协议的区别 2.ARP是第几层协议,其作用...
离线安装samba与配置(.tar方式安装)
一、samba离线安装【安装并设置成功后,相关文件及其位置:①smbd:/usr/local/samba/sbin/smbd②nmdb:/usr/local/samba/sbin/nmbd③配置文件 smb.conf:/usr/local/samba/lib/smb.conf④添加用户的 smbpasswd 文件&#…...
[Java基础]—JDBC
前言 其实学Mybatis前就该学了,但是寻思目前主流框架都是用mybatis和mybatis-plus就没再去看,结果在代码审计中遇到了很多cms是使用jdbc的因此还是再学一下吧。 第一个JDBC程序 sql文件 INSERT INTO users(id, NAME, PASSWORD, email, birthday) VAL…...
基本面向对象编程-计算机基本功能实现_
《C/S项目实训》实验报告 实验名称: 基本面向对象编程-计算机基本功能实现_ 一、实验目的 通过综合实践项目,理解Java 程序设计是如何体现面向对象编程基本思想,掌握OOP方法,掌握事件触发、消息响应机制。进一步巩固面向对…...
C++面向对象之多态性
文章目录C面向对象之多态性1.静态多态2.动态多态3.多态的好处3.1使用方法4.纯虚函数5.虚析构与纯虚析构5.1问题5.2解决6.其他知识点7.代码8.测试结果8.1父类中无虚函数,父类的指针指向子类对象,将调用父类中的函数,无法调用子类中的重写函数&…...
Android性能优化系列篇:弱网优化
弱网优化1、Serializable原理通常我们使用Java的序列化与反序列化时,只需要将类实现Serializable接口即可,剩下的事情就交给了jdk。今天我们就来探究一下,Java序列化是怎么实现的,然后探讨一下几个常见的集合类,他们是…...
Mysql 插入大批量数据调优方法
Mysql 插入大批量数据调优方法[toc]1、多线程插入(单表)在数据里做插入操作的时候,整体时间的分配是这样的:链接耗时 (30%)发送query到服务器 (20%)解析query (20%&#…...
matlab基础
系列文章目录 文章目录系列文章目录前言1 基本用法总结基础语法桌面管理矩阵均匀间隔矢量矩阵创建矩阵索引前言 介绍了matlab的基本用法 1 基本用法 >> save filename.mat % 将当前工作区的所有变量保存为mat文件 >> load filename.mat % 加载文件>> loa…...
自动化测试——多窗口切换和切换frame
这里写目录标题一、多窗口切换1、base.py:公共代码2、切换句柄的方式1,通过for循环3、切换句柄的方式2,通过索引切换4、源代码二、frame窗口1、什么是frame?2、Frame 分类3、判断要定位的元素在不在frame中两种方式方式一:鼠标选…...
C#中,Elasticsearch.Net判断空字符串
之前有个业务需求,由于最开始存储到es里的,是默认空字符串。 后面程序取数据时,发现需要取空字符串的数据时,不好取出来。 字符串的字段如图: 实际数据如图: 我用的是C#语言,使用的是Elastic…...
23种设计模式-适配器模式
适配器模式(Adapter Pattern)是一种常用的设计模式,它可以将不兼容的接口转换成可兼容的接口,使得原本不能一起工作的类可以协同工作。 在Java中,适配器模式一般有两种实现方式,即类适配器模式和对象适配器…...
基于算法竞赛的c++编程(28)结构体的进阶应用
结构体的嵌套与复杂数据组织 在C中,结构体可以嵌套使用,形成更复杂的数据结构。例如,可以通过嵌套结构体描述多层级数据关系: struct Address {string city;string street;int zipCode; };struct Employee {string name;int id;…...
基于Docker Compose部署Java微服务项目
一. 创建根项目 根项目(父项目)主要用于依赖管理 一些需要注意的点: 打包方式需要为 pom<modules>里需要注册子模块不要引入maven的打包插件,否则打包时会出问题 <?xml version"1.0" encoding"UTF-8…...
大数据学习(132)-HIve数据分析
🍋🍋大数据学习🍋🍋 🔥系列专栏: 👑哲学语录: 用力所能及,改变世界。 💖如果觉得博主的文章还不错的话,请点赞👍收藏⭐️留言Ǵ…...
Android第十三次面试总结(四大 组件基础)
Activity生命周期和四大启动模式详解 一、Activity 生命周期 Activity 的生命周期由一系列回调方法组成,用于管理其创建、可见性、焦点和销毁过程。以下是核心方法及其调用时机: onCreate() 调用时机:Activity 首次创建时调用。…...
GitFlow 工作模式(详解)
今天再学项目的过程中遇到使用gitflow模式管理代码,因此进行学习并且发布关于gitflow的一些思考 Git与GitFlow模式 我们在写代码的时候通常会进行网上保存,无论是github还是gittee,都是一种基于git去保存代码的形式,这样保存代码…...
在Mathematica中实现Newton-Raphson迭代的收敛时间算法(一般三次多项式)
考察一般的三次多项式,以r为参数: p[z_, r_] : z^3 (r - 1) z - r; roots[r_] : z /. Solve[p[z, r] 0, z]; 此多项式的根为: 尽管看起来这个多项式是特殊的,其实一般的三次多项式都是可以通过线性变换化为这个形式…...
深入理解Optional:处理空指针异常
1. 使用Optional处理可能为空的集合 在Java开发中,集合判空是一个常见但容易出错的场景。传统方式虽然可行,但存在一些潜在问题: // 传统判空方式 if (!CollectionUtils.isEmpty(userInfoList)) {for (UserInfo userInfo : userInfoList) {…...
实战三:开发网页端界面完成黑白视频转为彩色视频
一、需求描述 设计一个简单的视频上色应用,用户可以通过网页界面上传黑白视频,系统会自动将其转换为彩色视频。整个过程对用户来说非常简单直观,不需要了解技术细节。 效果图 二、实现思路 总体思路: 用户通过Gradio界面上…...
五子棋测试用例
一.项目背景 1.1 项目简介 传统棋类文化的推广 五子棋是一种古老的棋类游戏,有着深厚的文化底蕴。通过将五子棋制作成网页游戏,可以让更多的人了解和接触到这一传统棋类文化。无论是国内还是国外的玩家,都可以通过网页五子棋感受到东方棋类…...
MeshGPT 笔记
[2311.15475] MeshGPT: Generating Triangle Meshes with Decoder-Only Transformers https://library.scholarcy.com/try 真正意义上的AI生成三维模型MESHGPT来袭!_哔哩哔哩_bilibili GitHub - lucidrains/meshgpt-pytorch: Implementation of MeshGPT, SOTA Me…...
