【线性代数】6-2:对角化(Diagonalizing a Matrix)
title: 【线性代数】6-2:对角化(Diagonalizing a Matrix)
categories:
- Mathematic
- Linear Algebra
keywords: - Eigenvalues
- Eigenvectors
- Diagonalizing
- Fibonacci Numbers
- AkA^kAk
- Nondiagonalizable Matrix
toc: true
date: 2017-11-21 11:48:42
Abstract: 矩阵对角化,以及对角化过程中引入的知识,以及对角化的应用
Keywords: Eigenvalues,Eigenvectors,Diagonalizing,Fibonacci Numbers, AkA^kAk ,Nondiagonalizable Matrix
开篇废话
这几天没写博客,也没干正事,原因有很多,内心极度崩溃的状态,有些好转,所以继续写博客,算是在乱世中寻得一片宁静的天地。
很多事是不以意志而转移的,说白了就是你可能极力的不去惹事而希望能专心去做一件事,但是突然发现条件根本不允许,各种事情会来找到你,其实这些事都是你之前做的事的后续连续效果,也可以说成蝴蝶效应,没办法,这些事情你躲不开的,只能一件件自己处理好,“出来混迟早要还的”。
Diagonalizing a Matrix
对角化一个矩阵,和之前个种各样的分解有一个同样的思路,当矩阵从原始形态通过各种计算性质变形成为各种有规则的,或者在数值上有特殊的性质,这些特殊的形状都可以用在不同问题上,比如LDR分解可以直接求出pivot值,求解方程,QR分解可以是通过变换向量空间的基来使向量某些方面的性质凸显出来。
今天说的对角化就是利用了特征值特征向量的计算性质,通过对 Ax=λxAx=\lambda xAx=λx 进行变形引申得到的。而这个diagonalizing后的矩阵对于矩阵求幂有非常简单的计算。
假设 n×nn \times nn×n 的矩阵 AAA 有n个特征向量,那么我们把每个特征向量按照每列一个特征向量的组合方式形成一个矩阵,那么这个矩阵我们称之为 SSS
AS=A[⋮…⋮x1…xn⋮…⋮]=[⋮…⋮Ax1…Axn⋮…⋮]=[⋮…⋮λ1x1…λnxn⋮…⋮][⋮…⋮λ1x1…λnxn⋮…⋮]=[⋮…⋮x1…xn⋮…⋮][λ1⋱λn]=SΛso:AS=SΛΛ=S−1ASA=SΛS−1
AS=
A\begin{bmatrix}
\vdots &\dots &\vdots\\
x_1&\dots &x_n\\
\vdots &\dots &\vdots
\end{bmatrix}=
\begin{bmatrix}
\vdots &\dots &\vdots\\
Ax_1&\dots &Ax_n\\
\vdots &\dots &\vdots
\end{bmatrix}=
\begin{bmatrix}
\vdots &\dots &\vdots\\
\lambda_1 x_1&\dots &\lambda_n x_n\\
\vdots &\dots &\vdots
\end{bmatrix}\\
\begin{bmatrix}
\vdots &\dots &\vdots\\
\lambda_1 x_1&\dots &\lambda_n x_n\\
\vdots &\dots &\vdots
\end{bmatrix}=
\begin{bmatrix}
\vdots &\dots &\vdots\\
x_1&\dots &x_n\\
\vdots &\dots &\vdots
\end{bmatrix}\begin{bmatrix}
\lambda_1 & &\\
&\ddots &\\
&&\lambda_n
\end{bmatrix}=S\Lambda\\
so:
AS=S\Lambda\\
\Lambda=S^{-1}AS\\
A=S\Lambda S^{-1}
AS=A⎣⎢⎢⎡⋮x1⋮………⋮xn⋮⎦⎥⎥⎤=⎣⎢⎢⎡⋮Ax1⋮………⋮Axn⋮⎦⎥⎥⎤=⎣⎢⎢⎡⋮λ1x1⋮………⋮λnxn⋮⎦⎥⎥⎤⎣⎢⎢⎡⋮λ1x1⋮………⋮λnxn⋮⎦⎥⎥⎤=⎣⎢⎢⎡⋮x1⋮………⋮xn⋮⎦⎥⎥⎤⎣⎡λ1⋱λn⎦⎤=SΛso:AS=SΛΛ=S−1ASA=SΛS−1
Λ\LambdaΛ 是 λ\lambdaλ 的大写,表示的是对角矩阵,每个元素都是eigenvalue。
如果矩阵A没有n个independence的eigenvector也是无法对角化的,上面的推到过程是属于两头堵的方式,先正向求出 ASASAS 的结果发现其结果和 SΛS\LambdaSΛ 结果一样,所以就得到了 Λ\LambdaΛ 的表达式,下面我们我们就可以来计算 AkA^kAk 了,利用上面推到过程中的最后一步,这个简直非常完美了
Ak=A⋅A…A=SΛS−1SΛS−1⋯SΛS−1=SΛΛ⋯ΛS−1=SΛkS−1
A^k=A\cdot A\dots A=S \Lambda S^{-1} S \Lambda S^{-1} \cdots S \Lambda S^{-1}=S \Lambda \Lambda \cdots \Lambda S^{-1}=S \Lambda^k S^{-1}
Ak=A⋅A…A=SΛS−1SΛS−1⋯SΛS−1=SΛΛ⋯ΛS−1=SΛkS−1
一个矩阵的k次幂等于其对角矩阵的k次幂-- SΛkS−1S \Lambda^k S^{-1}SΛkS−1
我们可以回忆下上一篇,我们求过一个矩阵的k次方乘以一个向量 AkyA^kyAky ,用特征向量来作为 yyy 的基,然后写成
Ak:suppose:  C=[c1…cn]y=c1x1+c2x2+⋯+cnxn=SCAky=Ak(c1x1+c2x2+⋯+cnxn)=c1Akx1+c2Akx2+⋯+cnAkxn=c1λ1kx1+c2λ2kx2+⋯+cnλnkxn=SΛkC
A^k:\\
suppose: \;C=\begin{bmatrix}c_1 &\dots & c_n\end{bmatrix}\\
y=c_1 x_1+c_2 x_2+\dots +c_n x_n=SC \\
A^k y=A^k(c_1 x_1+c_2 x_2+\dots +c_n x_n)\\
=c_1A^kx_1+c_2A^kx_2+\dots +c_nA^kx_n\\
=c_1\lambda_1^k x_1+c_2\lambda_2^k x_2+\dots + c_n\lambda_n^k x_n\\
=S\Lambda^k C
Ak:suppose:C=[c1…cn]y=c1x1+c2x2+⋯+cnxn=SCAky=Ak(c1x1+c2x2+⋯+cnxn)=c1Akx1+c2Akx2+⋯+cnAkxn=c1λ1kx1+c2λ2kx2+⋯+cnλnkxn=SΛkC
本文为节选,完整内容地址:https://www.face2ai.com/Math-Linear-Algebra-Chapter-6-2转载请标明出处
【线性代数】6-2:对角化(Diagonalizing a Matrix)的更多相关文章
- 【线性代数】7-3:对角化和伪逆(Diagonalization and the Pseudoinverse)
title: [线性代数]7-3:对角化和伪逆(Diagonalization and the Pseudoinverse) categories: Mathematic Linear Algebra ...
- Codeforces 947E Perpetual Subtraction (线性代数、矩阵对角化、DP)
手动博客搬家: 本文发表于20181212 09:37:21, 原地址https://blog.csdn.net/suncongbo/article/details/84962727 呜啊怎么又是数学 ...
- MIT线性代数:22.对角化和A的幂
- Matrix Factorization SVD 矩阵分解
Today we have learned the Matrix Factorization, and I want to record my study notes. Some kownledge ...
- PyTorch 中的乘法:mul()、multiply()、matmul()、mm()、mv()、dot()
torch.mul() 函数功能:逐个对 input 和 other 中对应的元素相乘. 本操作支持广播,因此 input 和 other 均可以是张量或者数字. 举例如下: >>> ...
- 线性代数之——对角化和 A 的幂
利用特征向量的属性,矩阵 \(A\) 可以变成一个对角化矩阵 \(\Lambda\). 1. 对角化 假设一个 \(n×n\) 的矩阵 \(A\) 有 \(n\) 个线性不相关的特征向量 \(x_1, ...
- [线性代数] 矩阵代数進階:矩阵分解 Matrix factorization
Matrix factorization 导语:承载上集的矩阵代数入门,今天来聊聊进阶版,矩阵分解.其他集数可在[线性代数]标籤文章找到.有空再弄目录什麽的. Matrix factorization ...
- 【线性代数】7-2:线性变化的矩阵(The Matrix of a Linear Transformation)
title: [线性代数]7-2:线性变化的矩阵(The Matrix of a Linear Transformation) categories: Mathematic Linear Algebr ...
- 【线性代数】2-3:消元与矩阵的关系(Elimination and Matrix)
title: [线性代数]2-3:消元与矩阵的关系(Elimination and Matrix) toc: true categories: Mathematic Linear Algebra da ...
随机推荐
- django中使用redis保存session(转)
原文:https://blog.csdn.net/Enjolras_fuu/article/details/79661582 Django-redis-session官网:https://pypi.o ...
- C#获取ip
string name = Dns.GetHostName(); string ip = Dns.GetHostAddresses(name).First().ToString();
- hdu 1325
.,. 还是待整理 #include <stdio.h> const; typedef struct { int num,root,conn;//数据.根.入度 }Node; Node n ...
- (十三)使用handler实现登录验证
一.Handel概念 J2EE Web 服务中的Handler技术特点非常像Servlet技术中的Filter.我们知道,在Servlet中,当一个HTTP到达服务端时,往往要经过多个Filter对请 ...
- C#如何调用C++(基础篇)
闲暇之余,记一下笔记!记录一下c#如何调用C++的动态库(dll). 步骤: 一.创建一个C++类,例如: AddOperate.h extern _declspec(dllexport) int S ...
- core项目打包时发现有的项目的xml文件不会被打包进去,怎么办?
我打包后发现打包后的文件夹内,不存在xml文件,所以swagger加载失败:然后经过测试发现Core项目打包的时候是默认不包含Xml文件的,VS里面也没有办法设置. 解决方法:手动修改项目文件,找到你 ...
- Python实现定时执行任务的三种方式简单示例
本文实例讲述了Python实现定时执行任务的三种方式.分享给大家供大家参考,具体如下: 1.定时任务代码 import time,os,sched schedule = sched.scheduler ...
- (详细)JAVA使用JDBC连接MySQL数据库(1)- 软件
欢迎任何形式的转载,但请务必注明出处. 本节为下面四个的安装和配置 jdk Eclipse MySQL mysql connectors 一.jdk 点击查看安装和环境配置教程 二.Eclipse 点 ...
- Node中的net模块提供的前端通信
Node中的net模块提供的前端通信 客户端 业务: 客户端现在要在终端输入内容,然后回车发送内容给服务器 解决: Node中提供了一个叫做 readline 的 模块用于读取命令行内容 [ 单行读取 ...
- xposed获取context 的方法
// 应用被加壳,采用这种方式加载类 try { XposedHelpers.findAndHookMethod(Application.class, "attach", Cont ...
