MIT 线性代数导论 第二十二讲:矩阵对角化和幂

本讲的主要内容

  • 对角化矩阵的概念以及方法
  • 计算矩阵的幂的对角化方法
  • 几个例子

对角化矩阵、计算矩阵的幂

对于一个有 nnn 个不同特征向量(其实就是说所有的特征值均不同)的矩阵 AAA,讲它的 nnn 个特征向量组成一个矩阵 SSS ,如果我们计算 ASASAS 可以有如下过程:
AS=A(x1,x2,x3...xn)=(λ1x1,λ2x2,....λnxn)=(x1,x2,x3...xn)(λ1...0.........0...λn)=SΛ AS = A(x_{1}, x_{2}, x_{3}...x_{n}) = (\lambda_{1}x_{1},\lambda_{2}x_{2},....\lambda_{n}x_{n})=(x_{1}, x_{2},x_{3}...x_{n})\begin{pmatrix} \lambda_{1} &... & 0\\ ... & ... & ...\\ 0 &... & \lambda_{n} \end{pmatrix}=S\Lambda AS=A(x1,x2,x3...xn)=(λ1x1,λ2x2,....λnxn)=(x1,x2,x3...xn)λ1...0.........0...λn=SΛ

一定注意上面的式子成立的条件是矩阵有 nnn 个不同的特征向量,如果我们将上面的结论继续做变化:
A=SΛS−1 A = S\Lambda S^{-1} A=SΛS1

那么现在就可以拿到这个形式很好看的等式了。使用这个等式我们可以简化很多矩阵的幂的计算,例如计算 A2A^{2}A2:
A2=(SΛS−1)2=SΛS−1SΛS−1=SΛ2S−1 A^{2} = (S\Lambda S^{-1})^{2} =S\Lambda S^{-1}S\Lambda S^{-1} = S\Lambda^{2}S^{-1} A2=(SΛS1)2=SΛS1SΛS1=SΛ2S1

利用对角化计算差分方程

对于矩阵 AAA ,如果有列向量 uiu_{i}ui 总有 ui+1=Auiu_{i+1} = Au_{i}ui+1=Aui,现在已知 A,u0A, u_{0}A,u0,如何求解 uku_{k}uk
首先展开这个递推式:
uk=Auk−1=...=Aku0 u_{k} = Au_{k-1}=... = A^{k}u_{0} uk=Auk1=...=Aku0
然后把矩阵对角化(当然,这个问题的前提是矩阵可以对角化),有:uk=SΛkS−1u0u_{k} = S\Lambda^{k}S^{-1}u_{0}uk=SΛkS1u0,这时候,前提条件中的 nnn 个线性无关的特征向量就有用了, 对于 u0u_{0}u0 这个nnn维向量,可以用这 nnn 个特征向量来表示,可以有:
u0=c1x1+c2x2+...+cnxn=(x1,x2,...,xn)(c1c2...cn)=SC u_{0} = c_{1}x_{1} + c_{2}x_{2} +...+c_{n}x_{n} = (x_{1}, x_{2}, ...,x_{n})\begin{pmatrix} c_{1}\\ c_{2}\\ ... \\ c_{n} \end{pmatrix}= SC u0=c1x1+c2x2+...+cnxn=(x1,x2,...,xn)c1c2...cn=SC
其中 SSS 跟前面对角化中的矩阵是一样的,都是特征向量组成的矩阵,把这个式子代入前面的 Aku0A^{k}u_{0}Aku0,就可以得到最终的结论:
uk=Aku0=SΛkC u_{k} = A^{k}u_{0} = S\Lambda^{k}C uk=Aku0=SΛkC
计算这个表示线性组合的向量 CCC 还是比较简单的,所以计算的过程简单了一些。

计算Fibonacci 数列

这一个例子是上面的一个应用,首先我们知道斐波那契数列是:
0,1,1,2,3,5...... 0,1,1,2,3,5...... 0,1,1,2,3,5......
也就是:
F(n)=F(n−1)+F(n−2),(n>=3) F(n) = F(n-1) + F(n-2) ,(n>=3) F(n)=F(n1)+F(n2),(n>=3)
为了使用对角化的知识计算,令 uk=(Fk+1Fk)u_{k} = \begin{pmatrix} F_{k+1}\\ F_{k} \end{pmatrix}uk=(Fk+1Fk),构造差分方程组:
{F(k+2)=F(k+1)+F(k)F(k+1)=F(k+1) \left\{\begin{matrix} F(k+2) = F(k+1) + F(k)\\ F(k+1) = F(k+1) \end{matrix}\right. {F(k+2)=F(k+1)+F(k)F(k+1)=F(k+1)
这时候,我们可以得到:
uk+1=Auk,A=(1110) u_{k+1} = Au_{k},A=\begin{pmatrix} 1 &1 \\ 1&0 \end{pmatrix} uk+1=AukA=(1110)
这样,我们就构造了上面一样的递推形式,接下来按照对角化矩阵 AAA 然后就可以计算 SΛkCS\Lambda^{k}CSΛkC就可以快速计算了。

用线性代数解决斐波那契数列,感觉真的是…Amazing!,学数学的人真厉害啊。

以上~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值