【线性代数】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 ...
随机推荐
- spring cloud 停止服务
shutdown的默认url为host:port/shutdown,当需要停止服务时,向服务器post该请求即可,如:curl -X POST host:port/shutdown将得到形如{&quo ...
- 怎样理解构造函数中的return语句
因为构造函数也是一个函数, 自然也可以有return语句, 不过和一般函数不太一样的是, 在构造函数中如果return的是一个对象, 则会直接返回这个对象, 如果return 的不是一个对象, 那在n ...
- LeetCode 1103. Distribute Candies to People
1103. Distribute Candies to People(分糖果||) 链接:https://leetcode-cn.com/problems/distribute-candies-to- ...
- JDBC 学习复习10 编写自己的JDBC框架
首先万分感谢狼哥 孤傲苍狼 博客,整个jdbc学习的博客资料 链接为http://www.cnblogs.com/xdp-gacl/p/4006830.html 详细代码见狼哥博客,列出我学习过程中遇 ...
- linux内核过高导致vm打开出错修复脚本
#!/bin/bashVMWARE_VERSION=workstation-15.1.0TMP_FOLDER=/tmp/patch-vmwarerm -fdr $TMP_FOLDERmkdir -p ...
- 华为Python面试题
最近在网上偶然看到此题: 有两个序列a,b,大小都为n,序列元素的值任意整形数,无序: 要求:通过交换a,b中的元素,使[序列a元素的和]与[序列b元素的和]之间的差最小 经过一番思索,我试着用穷举法 ...
- iOS分类(category),类扩展(extension)—史上最全攻略
背景: 在大型项目,企业级开发中多人同时维护同一个类,此时程序员A因为某项需求只想给当前类currentClass添加一个方法newMethod,那该怎么办呢? 最简单粗暴的方式是把newMethod ...
- JAVA面试核心教程|Java面试基础知识点总结
Java中的原始数据类型都有哪些,它们的大小及对应的封装类是什么? byte——1 byte——Byte short——2 bytes——Short int——4 bytes——Integer lon ...
- java中i=i++的问题
java中 i = i++ 的结果 昨天看到下面这段代码,分享出来给大家看看,大家也可以讨论讨论. int i = 0; i = i++; System.out.println("i的值是 ...
- mysql使用GTID跳过事务
GTID跳过有两种方法,一种是普通的跳过一个事务的方法,另外一个是在基于主库搭建新的slave的时候.一.普通跳过一个事务的方法.通过show slave status\G找到冲突的GTID号.然后执 ...