【线性代数】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 ...
随机推荐
- java之理解面向对象
1.程序设计的三种基本结构 顺序结构 顺序结构表示程序中的各操作是按照它们在源代码中的排列顺序依次执行的 选择结构 选择结构表示程序的处理需要根据某个特定的条件选择其中的一个分支执行.选择结构有单选择 ...
- (四)lucene之文本域加权
一.前言 1.1 应用场景 有时在搜索的时候,会根据需要的不同,对不同的关键值或者不同的关键索引分配不同的权值,让权值高的内容更容易被用户搜索出来,而且排在前面. 为索引域添加权是再创建索引之前,把索 ...
- 奇妙的算法【10】TX--有效号码、最,小耗时、最小差值、差值输出、异或结果
昨晚刚刚写的几道算法题,难度也还行,就是全部AC有些困难,当时第一题AC.第二题AC 60%,第四题AC 40%,第五题没有时间写完了,这个应该全部AC了:其中第三题没有写出来 1,是否存在符合规范的 ...
- C# List<> Find相关接口学习
参考 http://blog.csdn.net/daigualu/article/details/54315564 示例: List<int> test = new List<int ...
- 运动的border,仿当当简易效果
突然想到以前看到当当上有个效果,当鼠标移上去,图片边框是运动添加上的,还以为是css3或者是canvas做的呢,做完幽灵按钮后,才知道,so easy,只不过是animate+position的杰作 ...
- C++线程同步之原子操作
所谓的原子操作就是指一个线程对于某一个资源做操作的时候能够保证没有其它的线程能够对此资源进行访问. 原子操作仅仅能够解决某一个变量的问题,只能使得一个整型数据做简单算术运算的时候是原子的. 以下案例需 ...
- 负载均衡之haproxy负载均衡算法及haproxy的工作模式
haproxy负载均衡的算法有如下7种: .roundrobin : 基于权重轮循. static-rr : 基于权重轮循.静态算法,运行时改变无法生效 source : 基于请求源IP的算法.对请求 ...
- Linux学习笔记(十二)VIM编辑器
一.概述 VI Visual interface 可视化接口,类似于Windows中的记事本 VI->VIM 操作模式: (1)Command mode 命令模式 (2)Insert mode ...
- python-----批量操作xml文件(新建、增、删、改、查)
最近需要处理xml文件,学习并整理了一些常用的操作,代码如下: #!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2019/7/9 15: ...
- 早上好,我是 Istio 1.1
1性能增强 虽然Istio1.0的目标是生产可用,但从去年7月份发布以来,在性能和稳定性上并不能让用户满意.社区的Performance and Scalability工作组在Istio v1.1中做 ...
