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

news2024/10/7 12:21:24

矩阵的对角化以及矩阵的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://www.coloradmin.cn/o/1618851.html

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

相关文章

跟着野火从零开始手搓emWin(1)初识emWin

PS:在嵌入式领域,本人认为QT的应用范围和性能几乎吊打市面上所有的GUI工具。但是本人之所以学习emWin,是因为自己有些微不足道的小想法,需要通过它来实现。但是QT有点吃硬件的配置,为了MCU专门发行的QT我又懒得去弄&am…

mac电脑搭建vue项目(下篇)

第三步:安装npm (1)执行以下命令安装cnpm淘宝镜像 sudo npm install -g cnpm --registryhttps://registry.npmmirror.com (2)执行命令cnpm -v查看版本信息,结果说找不到cnpm命令 (3&#xff…

智慧校园:大数据助力校情分析

随着信息技术的快速发展,数据信息资源以井喷的姿态涌现。数据信息的大量涌现给人们带来丰富的数据信息资源,但面对海量的信息资源时,加大了人们对有效信息资源获取的难度,数据挖掘技术正是这一背景下的产物,基于数据挖…

【003_音频开发_基础篇_Linux进程通信(20种你了解几种?)】

003_音频开发_基础篇_Linux进程通信(20种你了解几种?) 文章目录 003_音频开发_基础篇_Linux进程通信(20种你了解几种?)创作背景Linux 进程通信类型fork() 函数fork() 输出 2 次fork() 输出 8 次fork() 返回值fork() 创建子进程 方…

elasticsearch-8.1.0安装记录

目录 零、版本说明一、安装二、使用客户端访问 零、版本说明 centos [rootnode1 ~]# cat /etc/redhat-release CentOS Linux release 7.9.2009 (Core)elasticsearch elasticsearch-8.1.0-linux-x86_64一、安装 systemctl stop firewalld.servicesystemctl disable firewal…

【国产替代】航空电子通信总线航空电子通信总线产品为MIL-STD-1553和ARINC 429等协议提供原生支持

航空电子通信总线 航空电子通信总线产品为MIL-STD-1553和ARINC 429等协议提供原生支持。这些产品用于进行航空电子应用所需的开发、生产和系统测试。 PXIe,2通道PXI ARINC-664接口模块 AIM ARINC-664具有板载处理器,可自动处理所有与协议相关的活动&…

python绘图时渐变的处理——以一个扇形图的渐变为例

python绘图时渐变的处理——以一个扇形图的渐变为例 使用matplotlib绘制扇形的圆环 from matplotlib.patches import Wedge wedgeWedge((0,0),1,0,60,width0.3,colorred) wedge.set_edgecolor(k) fig,axplt.subplots(1,1) ax.add_patch(wedge) # 设置坐标轴的比例 plt.axis(e…

DaPy:实现数据分析与处理

DaPy:实现数据分析与处理 DaPy是一个用于数据分析和处理的Python库,它提供了一系列强大的工具和功能,使开发者能够高效地进行数据清洗、转换和分析。本文将深入解析DaPy库的特点、功能以及使用示例,帮助读者了解如何利用DaPy库处理…

数据库之数据库恢复技术思维导图+大纲笔记

大纲笔记: 事务的基本概念 事务 定义 用户定义的一个数据库操作系列,这些操作要么全做,要么全不做,是一个不可分割的基本单位 语句 BEGIN TRANSACTION 开始 COMMIT 提交,提交事务的所有操作 ROLLBACK 回滚&#xff0c…

CAN通信简单入门(一)

1.IIC和CAN通信的主要区别 IIC至少需要3根线,SCL,SDA,GND 但是CAN只需要两条线,CAN_H以及CAN_L 2.CAN简介 3.主流通信协议详解 反正CAN通信最大的优势就是:可以多个主机同时进行通信 4.CAN协议详解 4.1 CAN硬件电路 在闭环电路当中&…

Android Studio 报错:AVD Pixel_3a_API_30_x86 is already running

在我的Android Studio和虚拟机运行时,我的电脑不小心关机了,在启动后再次打开Android Studio并运行虚拟机时发现报错。 Error while waiting for device: AVD Pixel_3a_API_30_x86 is already running. If that is not the case, delete the files at C…

数据结构实验(三)

算法设计 一、判断回文序列 1、算法思路: 输入想要判断的字符串,用数组来存放该字符串,给数组一个最左的下标low,和最右的下标right.比较两端的字符是否相等,如果相等那么low,right--.直到遍历完字符串,如果字符不相…

机器人系统开发ros2-基础实践01-学会自定义一个机器人动作aciton实体类

您之前在了解操作教程中了解了action 。与其他通信类型及其各自的接口(主题/消息和服务/srv)一样,您也可以在包中自定义操作。本教程向您展示如何定义和构建可与您将在下一个教程中编写的action服务器和action 客户端一起使用的操作。 需要理…

Jenkins 打包报错记录 error: index-pack died of signal 15

问题背景,打包每次到92%时就会报错,试了好几次都是同样的错误 14:56:53 fatal: index-pack failed 14:56:53 14:56:53 at org.jenkinsci.plugins.gitclient.CliGitAPIImpl.launchCommandIn(CliGitAPIImpl.java:2734) 14:56:53 at org.jenkinsci.plugi…

WPF4 数据模板

数据模板 数据模板常用在3种类型的控件, 下图形式: 1.Grid这种列表表格中修改Cell的数据格式, CellTemplate可以修改单元格的展示数据的方式。 2.针对列表类型的控件, 例如树形控件,下拉列表,列表控件, 可以修改其中的ItemTemplate。 3.修改ContentT…

使用API有效率地管理Dynadot域名,自查账户信息

关于Dynadot Dynadot是通过ICANN认证的域名注册商,自2002年成立以来,服务于全球108个国家和地区的客户,为数以万计的客户提供简洁,优惠,安全的域名注册以及管理服务。 Dynadot平台操作教程索引(包括域名邮…

【QT进阶】Qt http编程之实现websocket client客户端

往期回顾 【QT进阶】Qt http编程之nlohmann json库使用的简单介绍-CSDN博客 【QT进阶】Qt http编程之websocket的简单介绍-CSDN博客 【QT进阶】Qt http编程之实现websocket server服务器端-CSDN博客 【QT进阶】Qt http编程之实现websocket client客户端 一、最终效果 通过给定…

随笔Ubuntu上的的一些使用

Ubuntu简易使用 常用指令 cdlsmkdirrf -rm 路径 换源 备份镜像 sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak编辑文件设置 sudo gedit /etc/apt/sources.list清华源 # 阿里源 deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe mul…

Elasticsearch集群部署(Linux)

1. 准备环境 这里准备三台Linux虚拟机,用于配置Elasticsearch集群和部署可视化工具Kibana。 角色IP域名集群名称节点名称版本操作系统ES192.168.243.100linux100cluster-eses-node-1007.12.0CentOS 7192.168.243.101linux101cluster-eses-node-101192.168.243.102…

Linux——进程基本概念下篇

Linux——进程基本概念下篇 文章目录 Linux——进程基本概念下篇一、环境变量1.1 环境变量的定义1.2 环境变量的相关命令1.3 命令行参数1.4 本地变量和环境变量1.5 常规命令和内建命令 二、进程地址空间2.1 地址空间的概念2.2 页表和MMU2.3 地址空间的作用2.4 地址空间的好处 一…