线性代数 --- 矩阵的对角化以及矩阵的n次幂

矩阵的对角化以及矩阵的n次幂

(特征向量与特征值的应用)

前言:

        在上一篇文章中,我记录了学习矩阵的特征向量和特征值的学习笔记,所关注的是那些矩阵A作用于向量x后,方向不发生改变的x(仅有尺度的缩放)。
线性代数 --- 特征值与特征向量(上)-CSDN博客文章浏览阅读1.1k次,点赞9次,收藏21次。文章介绍了特征向量与特征值的基本概念,并给出了详细的说明图示和例子。至于如何求解矩阵的特征向量与特征值,我在下一篇文章中给出了说明。https://blog.csdn.net/daduzimama/article/details/136455766
此外,我也在另一篇文章中提到了一般矩阵的特征值与特征向量的求法。 线性代数 --- 特征值与特征向量(下)-CSDN博客文章浏览阅读1.3k次,点赞31次,收藏19次。本文介绍了求解一般矩阵的特征向量和特征值的具体方法。https://blog.csdn.net/daduzimama/article/details/136608493


正文: 

Part I 矩阵的对角化

        这里,我打算通过这篇文章整理/梳理一下矩阵对角化的学习笔记。既然已经知道了如何求出矩阵的特征向量和特征值现,那么找到这些东西有什么用呢?答案就是矩阵的对角化。

(截图来自于参考文献2) 

        假设一个n维方阵A经过计算后得到n个线性无关的特征向量x1,x2...,xn,对应n个λ1,λ2...,λn。我们有:

\left\{\begin{matrix} Ax_{1}=\lambda x_{1}\\ Ax_{2}=\lambda x_{2}\\ ...\\ Ax_{n}=\lambda x_{n} \end{matrix}\right.

        现在,我们把这些特征向量都放到一个矩阵中,合成一个新的矩阵X。看看矩阵A乘以矩阵X后会怎么样。首先,我们按照如下方式构建一个新矩阵X,我们称之为特征向量矩阵(Eigen-vector matrix)。因为该矩阵的每一列都是一个特征向量x_{i},所以用大写的X表示:

X=\begin{bmatrix} | & | & &| \\ | & | & & | \\ x_{1} & x_{2} &... &x_{n} \\ | & | & & | \\ | & | & & | \end{bmatrix}

        令A乘以X,根据矩阵的乘法原则,矩阵A与矩阵X的乘法可以看成是把矩阵X各列看成权重的线性组合的结果(这句话不好懂,可以看看下面的图示)

得到:

AX=A\begin{bmatrix} | & | & &| \\ | & | & & | \\ x_{1} & x_{2} &... &x_{n} \\ | & | & & | \\ | & | & & | \end{bmatrix}=\begin{bmatrix} | & | & &| \\ | & | & & | \\ Ax_{1} & Ax_{2} &... &Ax_{n} \\ | & | & & | \\ | & | & & | \end{bmatrix}

=\begin{bmatrix} | & | & &| \\| & | & &| \\ \lambda _{1}x_{1} & \lambda _{2}x_{2} &... &\lambda _{n}x_{n} \\ | & | & & | \\ | & | & & | \end{bmatrix}=\begin{bmatrix} | & | & &| \\ | & | & &| \\ x_{1} & x_{2} &... &x_{n} \\ | & | & & | \\ | & | & & | \end{bmatrix}\begin{bmatrix} \lambda _{1} &0 &... &0 \\0 & \lambda _{2} &... &0 \\... & ...&... & ...\\ 0 & 0&... & 0\\ 0 & 0 &... & \lambda _{n} \end{bmatrix}

        注意,之前用特征向量构造的新矩阵X,又再一次出现了。与此同时,他的旁边出现了一个新矩阵,这是一个对角矩阵,主对角线上的元素全是特征值λ。这也是一个新矩阵,称之为特征值矩阵(Eigen-value matrix)。因其主对角线上的元素都是特征值\lambda _{i},所以用大写的\Lambda(即,大写的λ)表示:

\Lambda =\begin{bmatrix} \lambda _{1} &0 &... &0 \\0 & \lambda _{2} &... &0 \\... & ...&... & ...\\ 0 & 0&... & 0\\ 0 & 0 &... & \lambda _{n} \end{bmatrix}

 最终得到:

AX=\begin{bmatrix} | & | & &| \\ | & | & &| \\ x_{1} & x_{2} &... &x_{n} \\ | & | & & | \\ | & | & & | \end{bmatrix}\begin{bmatrix} \lambda _{1} &0 &... &0 \\0 & \lambda _{2} &... &0 \\... & ...&... & ...\\ 0 & 0&... & 0\\ 0 & 0 &... & \lambda _{n} \end{bmatrix}=X\Lambda

The Key Equation 

AX=X\Lambda

         又因为,我之前所构建的特征向量矩阵X是由n个线性无关的特征向量组成的,列与列之间线性无关。因此,矩阵X是可逆的。现在我们把等式两边同时左乘一个X的逆矩阵,即完成了矩阵A的对角化:

\mathbf{X^{-1}AX=X^{-1}X\Lambda=\Lambda}

(对角化公式)

        反过来,如果把等式两边同时右乘X的逆矩阵,就得到了矩阵A的又一种分解公式(之前学过的分解有基于高斯消元的LU分解,基于gram-schmidt正交化的QR分解):

 \mathbf{AXX^{-1}=X\Lambda X^{-1}\Rightarrow A=X\Lambda X^{-1}}

(矩阵A的分解公式)

注意,这一切操作都基于一个前提:矩阵A有n个线性无关的特征向量

什么样的矩阵可以对角化?

        当n维方阵A有n个不同的特征值时,矩阵A才能用上述方式对角化。因为,如果A有n个不同的特征值,那么一定对应有n个相互独立的特征向量。但反过来就不一定成立,比如说单位矩阵有n个不同的特征向量,但他的特征值都是1。

 (截图来自于我用Jupyter notebook所生成的代码)

最后我们给出一个矩阵对角化的例子作为这部分的小结,假设方阵矩阵A为:

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

首先,用jupyter note book求出特征向量和特征值:

        为了方便,我把后面那个特征向量改成[1,1](我这里不是乱改的,如果自己动手算也能得到这个结果)。如此一来我们得到的两个特征值和他们各自对应的特征向量为:

\lambda _{1}=1,x_{1}=\begin{bmatrix} 1\\ 0 \end{bmatrix}        和        \lambda _{2}=6,x_{2}=\begin{bmatrix} 1\\ 1 \end{bmatrix}

相应的在这里我们就能写出特征值矩阵\Lambda

\Lambda =\begin{bmatrix} \lambda 1 & 0\\ 0 & \lambda 2 \end{bmatrix}=\begin{bmatrix} 1 & 0\\ 0 & 6 \end{bmatrix}

 齐次,用特征向量构建特征向量矩阵X:

X=\begin{bmatrix} | & |\\ x_{1} &x_{2} \\ |& | \end{bmatrix}=\begin{bmatrix} 1 &1\\ 0 &1 \end{bmatrix}

 求特征向量矩阵X的逆:

 X^{-1}=\begin{bmatrix} 1 &-1 \\ 0& 1 \end{bmatrix}

代入矩阵的对角化公式完成对角化,看乘法的结果是否正好等于特征向量矩阵\Lambda: 

 X^{-1}AX=\begin{bmatrix} 1 &-1 \\ 0& 1 \end{bmatrix}\begin{bmatrix} 1 &5 \\ 0& 6 \end{bmatrix}\begin{bmatrix} 1 &1 \\ 0& 1 \end{bmatrix}=\begin{bmatrix} 1 &0 \\ 0& 6 \end{bmatrix}

        这里要注意,矩阵的乘法在python里面的操作符是“@”,也就是上图中我用红框框出来的。如果写错了,计算结果就不对了,我在上图中也演示的错误的结果。 

同样的,代入矩阵A的分解公式验证等式两边是否相等:

A=X\Lambda X^{-1}


 (全文完) 

--- 作者,松下J27

参考文献(鸣谢):

1,Lec22_对角化和矩阵乘幂_哔哩哔哩_bilibili

2,《Introduction to Linear algebra》Fifth Edition --- Gilbert strang,page 304

(配图与本文无关) 

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/2980697.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

面试ssss

响应式布局 响应式布局是一种设计和开发网页的方法,使网页能够适应不同的设备和屏幕尺寸,提供更好的用户体验。它通过使用媒体查询(Media Queries)和弹性布局(Flexbox)等技术,根据设备的特性和…

SSH Key生成

天行健,君子以自强不息;地势坤,君子以厚德载物。 每个人都有惰性,但不断学习是好好生活的根本,共勉! 文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。…

代码随想录算法训练营DAY32|C++贪心算法Part.2|122.买卖股票的最佳时机II、55.跳跃游戏、45.跳跃游戏II

文章目录 122.买卖股票的最佳时机II思路CPP代码 55.跳跃游戏思路CPP代码 45.跳跃游戏II思路方法一代码改善 CPP代码 122.买卖股票的最佳时机II 力扣题目链接 文章讲解:122.买卖股票的最佳时机II 视频讲解: 状态:本题可以用动态规划&#xff0…

构建NodeJS库--前端项目的打包发布

1. 前言 学习如何打包发布前端项目,需要学习以下相关知识: package.json 如何初始化配置,以及学习npm配置项; 模块类型type配置, 这是nodejs的package.json的配置main 入口文件的配置 webpack 是一个用于现代 JavaSc…

Linux加强篇-存储结构与管理硬盘(一)

目录 ⛳️推荐 从“/”开始 物理设备命名规则 文件系统与数据资料 ⛳️推荐 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站 从“/”开始 Linux系统中一切都是文件,都是从“…

深度解析:云计算的三宝——IaaS、PaaS和SaaS

4月22日,腾讯宣布旗下协作SaaS产品全面接入腾讯混元大模型,除去企业微信、腾讯会议、腾讯文档等“一门三杰”产品,腾讯乐享、腾讯电子签、腾讯问卷、腾讯云AI代码助手等协作SaaS产品也都已实现智能化升级。大模型应用落地再加速。 那么什么是…

HarmonyOS开发案例:【相机开发】

基本概念 相机是OpenHarmony多媒体进程提供的服务之一,提供了相机的录像、预览、拍照功能,支持多用户并发取流。 在进行应用的开发前,开发者应了解以下基本概念: 视频帧 视频流指的是将一系列图片数据按照固定时间间隔排列形成的…

牛客社区所有的表和SQL语句

文章目录 1 帖子表 discuss_post1.1 字段描述1.2 相关功能描述1.2.1 分页查询帖子1.2.2 查询帖子总数量1.2.3 插入一条帖子记录1.2.4 根据帖子ID查询某条帖子1.2.5 更新帖子评论数量1.2.6 更新帖子类型1.2.6 更新帖子状态1.2.7 更新帖子分数 2 用户表 user2.1 字段描述2.2 相关…

【七】jmeter5.5+influxdb2.0+prometheus+grafana

参考文章:https://blog.csdn.net/wenxingchen/article/details/126892890 https://blog.csdn.net/Zuo19960127/article/details/119726652 https://blog.csdn.net/shnu_cdk/article/details/132182858 promethus参考 由于自己下载的是infuldb2.0,所以按照…

云Docker部署Guacamole经frp中转远程连接Windows

安装frps sudo nohup ./frps -c frps.ini >/dev/null 2>&1 & frps.ini [common] bind_port 7000# Virtual host configuration vhost_http_port 80 vhost_https_port 443# Dashboard configuration dashboard_addr 0.0.0.0 dashboard_port 7500 dashboar…

自然语言处理 (NLP) 的技术演变史

一、简述 本文的目标是了解自然语言处理 (NLP) 的历史,包括 Transformer 体系结构如何彻底改变该领域并帮助我们创建大型语言模型 (LLM)。 基础模型(如 GPT-4)是最先进的自然语言处理模型,旨在理解、生成人类语言并与之交互。 要理…

FebHost:科技企业如何规划并注册.AI域名?

为确保企业使用.AI域名的方式准确反映其对人工智能技术的关注,企业应考虑以下步骤: 了解法律和合规要求: 第一步是了解与 .AI 域名相关的独特法律和合规要求。由于.AI域名源于安圭拉,企业必须遵守安圭拉的限制和法律规定。这包括…

(Oracle)SQL优化案例:组合索引优化

项目场景 项目上的ETL模型里有如下SQL语句。执行速度非常慢,每次只查询200条数据,但却需要20多秒的时间。再加上该SQL查询出的数据同步频率很高,这个速度是完全不能忍受的。 因为项目隐私,所以对表及字段做了改写。 SELECT ID…

服务器(AIX、Linux、UNIX)性能监视器工具【nmon】使用介绍

目录 ■nmon简介 1.安装 2.使用简介 3.使用(具体使用的例子【CPU】【内存】) 4.采集数据 5.查看log(根据结果,生成报表) 6.分析结果 ■nmon简介 nmon("Nigels performance Monitor"&…

Laravel 6 - 第十一章 中间件

​ 文章目录 Laravel 6 - 第一章 简介 Laravel 6 - 第二章 项目搭建 Laravel 6 - 第三章 文件夹结构 Laravel 6 - 第四章 生命周期 Laravel 6 - 第五章 控制反转和依赖注入 Laravel 6 - 第六章 服务容器 Laravel 6 - 第七章 服务提供者 Laravel 6 - 第八章 门面 Laravel 6 - …

[论文笔记] EcomGPT:COT扩充数据的电商大模型

社区供稿 | EcomGPT:基于任务链数据的电商大模型(附魔搭推理实践) - 知乎 https://arxiv.org/pdf/2312.15696.pdf EcomInstruct指令数据集构建 数据集组成 COT方式构造垂域训练数据:把原本的垂域任务分解成了原子任务,构造了基于解决原子任务的数据。这样能用类似…

【深度学习】yolo-World,数据标注,zeroshot,目标检测

仓库:https://github.com/AILab-CVC/YOLO-World 下载权重: 仓库下载和环境设置 下载仓库:使用以下命令从 GitHub 上克隆仓库: git clone --recursive https://github.com/AILab-CVC/YOLO-World.git创建并激活环境&#xff1a…

vuetify3.0+tailwindcss+vite最新框架

1、根据vuetify官网下载项目 安装vuetify项目 2、根据tailwindcss官网添加依赖 添加tailwindcss依赖 3、 配置main.ts // main.ts import "./style.css"4、使用 <template><h1 class"text-3xl font-bold underline">Hello world!</…

【前后端】django与vue的结合使用

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、前后端分离的简介二、django与vue的结合使用三、总结 前言 随着开发语言及人工智能工具的普及&#xff0c;使得越来越多的人会主动学习使用一些开发工具&a…

信息系统项目管理师0065:部署交付(5信息系统工程—5.1软件工程—5.1.5部署交付)

点击查看专栏目录 文章目录 5.1.5部署交付1.软件部署与交付2.持续交付3.持续部署4.部署与交付的新趋势5.1.5部署交付 软件开发完成后,必须部署在最终用户的正式运行环境,交付给最终用户使用,才能为用户创造价值。传统的软件工程不包括软件部署与交付,但不断增长的软件复杂度…