MIT 线性代数(22—24)读书笔记

第二十二课时:对角化和A 的幂


本讲主要讲:Ax=λx,特征值、特征向量的应用以及为什么需要特征值和特征向量。


1.对角化矩阵

1.1 对角化的定义


上一讲我们提到关键方程

Ax=λx
Ax=\\lambda x,通过

det(AλI)=0
\\det(A-\\lambda I)=0得到特征向量

λ
\\lambda,再带回关键方程算出特征向量

x
x。
在得到特征值与特征向量后,该如何使用它们?我们可以利用特征向量来对角化给定矩阵。
有矩阵AA,它的特征向量为

x1,x2,,xn
x_1, x_2, \\cdots, x_n,使用特征向量作为列向量组成一个矩阵

S=[x1x2xn]
S=\\Bigg[x_1x_2\\cdots x_n\\Bigg],即特征向量矩阵, 再使用如下公式将

A
A对角化。

AA对角化:

S1AS=Λ(1)

S^{-1}AS=\\Lambda\\tag{1}

注意到公式中有

S1
S^{-1},也就是说特征向量矩阵

S
S必须是可逆的,于是我们需要nn个线性无关的特征向量。

现在,假设

A
A有nn个线性无关的特征向量,将它们按列组成特征向量矩阵

S
S,则AS=A[x1x2xn]AS=A\\Bigg[x_1x_2\\cdots x_n\\Bigg],当我们分开做矩阵与每一列相乘的运算时,易看出

Ax1
Ax_1就是矩阵与自己的特征向量相乘,其结果应该等于

λ1x1
\\lambda_1x_1。那么

AS=[(λ1x1)(λ2x2)(λnxn)]
AS=\\Bigg[(\\lambda_1x_1)(\\lambda_2x_2)\\cdots(\\lambda_nx_n)\\Bigg]。可以进一步化简原式,使用右乘向量按列操作矩阵的方法,将特征值从矩阵中提出来,得到

[x1x2xn]λ1000λ2000λn=SΛ
\\Bigg[x_1x_2\\cdots x_n\\Bigg]\\begin{bmatrix}\\lambda_1& 0& \\cdots& 0\\\\0& \\lambda_2& \\cdots& 0\\\\\\vdots& \\vdots& \\ddots& \\vdots\\\\0& 0& \\cdots& \\lambda_n\\end{bmatrix}=S\\Lambda。
于是我们看到,从

AS
AS出发,得到了

SΛ
S\\Lambda,特征向量矩阵又一次出现了,后面接着的是一个对角矩阵,即特征值矩阵。这样,再继续左乘

S1
S^{-1}就得到了公式

(1)
(1)。当然,所以运算的前提条件是特征向量矩阵

S
S可逆,即矩阵AA有

n
n个线性无关的特征向量。这个式子还要另一种写法,A=SΛS1A=S\\Lambda S^{-1}。


\\color{red}{矩阵分解的三种方法}
1. 矩阵的对角化:

S1AS=Λ

S^{-1}AS=\\Lambda;

2.矩阵消元法中的

A=LU
A=LU 矩阵分解;

3.格拉姆-施密特正交化中的

A=QR
A=QR 矩阵。

1.2 哪些矩阵可以对角化?


当矩阵A没有重复的特征值,矩阵

A
A必有nn个线性无关的特征向量,则称

A
A可以对角化(diagonalizable);
如果存在重复的特征值,那么我们就需要做额外的检查,就是说上面的条件是充分非必要条件。

例如:
1)单位阵的特征值为重特征值11,但是其具有

n
n 个线性无关的特征向量。举二阶单位矩阵为例,因为特征向量在

AλI
(A−λI)的零空间中,满足

(AλI)x=[0000]x=0
(A−λI)x=\\begin{bmatrix}0& 0\\\\0&0 \\end{bmatrix}x=0。可看出零空间有两维,所以具有两个线性无关的特征向量

[10]
\\begin{bmatrix}1\\\\ 0\\end{bmatrix}和

[01]
\\begin{bmatrix}0\\\\ 1 \\end{bmatrix}。其实,若

A
A为对角矩阵,A=S1AS=Λ=AA=S^{−1}AS=Λ=A,

A
A的特征值就是AA的对角线元素。

2) 对于

A=[2012]
A=\\begin{bmatrix}2& 1\\\\0&2 \\end{bmatrix}的三角矩阵,特侦值就是矩阵对角线上的元素2,其特征向量在

AλI
A-\\lambda I的零空间中,满足

(AλI)x=[0010]=0
(A-\\lambda I)x=\\begin{bmatrix}0& 1\\\\0&0 \\end{bmatrix}=0,求解可得

x=[10]
x=\\begin{bmatrix} 1\\\\0 \\end{bmatrix},而没第二个特征向量。因为

AλI
(A−λI)的零空间只有一维,

A
A不可对角化。

2.特征值和特征向量的应用

2.1 矩阵的幂


此处我们重点关注可对角化的情况,我们来看如何应用这个公式,比如说要计算A2A^2。
先从

Ax=λx
Ax=\\lambda x开始,如果两边同乘以

A
A,有A2x=λAx=λ2xA^2x=\\lambda Ax=\\lambda^2x。
再从

A=SΛS1
A=S\\Lambda S^{-1}开始推导,则有

A2=SΛS1SΛS1=SΛ2S1
A^2=S\\Lambda S^{-1}S\\Lambda S^{-1}=S\\Lambda^2S^{-1}。同样得到特征值取平方,特征向量不变。,于是得出结论:

对于矩阵

Ak
A^k,其特征值也会取平方

Λk
\\Lambda^k,而特征向量不变。

两种方法描述的是同一个现象,即对于矩阵幂运算

A2
A^2,其特征向量不变,而特征值做同样的幂运算。对角矩阵

Λ2=λ21000λ22000λ2n.

\\Lambda^2=\\begin{bmatrix}\\lambda_1^2& 0& \\cdots& 0\\\\0& \\lambda_2^2& \\cdots& 0\\\\\\vdots& \\vdots& \\ddots& \\vdots\\\\0& 0& \\cdots& \\lambda_n^2\\end{bmatrix}.

特征值和特征向量给我们了一个深入理解矩阵幂运算的方法,

Ak=SΛkS1
A^k=S\\Lambda^kS^{-1}。

A
A 的所有特征值

|λi|<1
|\\lambda_i|<1 时,从

SΛkS1
S\\Lambda^kS^{-1}易得

k
k\\to\\infty,则

Ak0
A^k\\to 0(趋于稳定),这样的矩阵称作稳定矩阵

2.2 一阶差分方程

uk+1=Auk
u_{k+1}=Au_k


下一讲涉及微分方程(differential equation),会有求导的内容,本讲先引入简单的差分方程(difference equation)。本例是一个一阶差分方程组(first order system)。即:从

u1=Au0
u_1=Au_0开始,

u2=A2u0
u_2=A^2u_0,所有

uk=Aku0
u_k=A^ku_0。

要解此方程,需要将

u0
u_0展开为矩阵

A
A特征向量的线性组合,即
u0=c1x1+c2x2++cnxn=[x1x2xn]c1c2cn=Scu_0=c_1x_1+c_2x_2+\\cdots+c_nx_n=\\Bigg[x_1x_2\\cdots x_n\\Bigg]\\begin{bmatrix}c_1\\\\c_2\\\\\\vdots\\\\c_n\\end{bmatrix}=Sc。
于是

Au0=c1Ax1+c2Ax2++cnAxn=c1λ1x1+c2λ2x2++cnλnxn
Au_0=c_1Ax_1+c_2Ax_2+\\cdots+c_nAx_n=c_1\\lambda_1x_1+c_2\\lambda_2x_2+\\cdots+c_n\\lambda_nx_n。继续化简原式,

Au0=[x1x2xn]λ1000λ2000λnc1c2cn=SΛc.

Au_0=\\Bigg[x_1x_2\\cdots x_n\\Bigg]\\begin{bmatrix}\\lambda_1& 0& \\cdots& 0\\\\0& \\lambda_2& \\cdots& 0\\\\\\vdots& \\vdots& \\ddots& \\vdots\\\\0& 0& \\cdots& \\lambda_n\\end{bmatrix}\\begin{bmatrix}c_1\\\\c_2\\\\\\vdots\\\\c_n\\end{bmatrix}=S\\Lambda c.

用矩阵的方式同样可以得到该式:

Au0=SΛS1u0=SΛS1Sc=SΛc
Au_0=S\\Lambda S^{-1}u_0=S\\Lambda S^{-1}Sc=S\\Lambda c。

那么如果我们要求

A100u0
A^{100}u_0,则只需要将

λ
\\lambda变为

λ100
\\lambda^{100},而系数

c
c与特征向量xx均不变。

当我们真的要计算

A100u0
A^{100}u_0时,就可以使用

SΛ100c=c1λ1001x1+c2λ1002x2++cnλ100nxn
S\\Lambda^{100}c=c_1\\lambda_1^{100}x_1+c_2\\lambda_2^{100}x_2+\\cdots+c_n\\lambda_n^{100}x_n。

2.3 斐波那契数列(Fibonacci sequence)

斐波那契数列是:

0,1,1,2,3,5,8,13,,F100=?
0,1,1,2,3,5,8,13,\\cdots,F_{100}=?,我们要求第一百项的公式,并观察这个数列是如何增长的。


可以想象这个数列并不是稳定数列,因此无论如何该矩阵的特征值并不都小于一,这样才能保持增长。而他的增长速度,则有特征值来决定。
已知

Fk+2=Fk1+Fk
F_{k+2}=F_{k_1}+F_{k},但这不是

uk+1=Auk
u_{k+1}=Au_{k}的形式,而且我们只要一个方程,而不是方程组,同时这是一个二阶差分方程(就像含有二阶导数的微分方程,希望能够化简为一阶倒数,也就是一阶差分)。

求解问题
1) 使用一个小技巧,令

uk=[Fk+1Fk]
u_{k}=\\begin{bmatrix}F_{k+1}\\\\F_{k}\\end{bmatrix},再追加一个方程组成方程组:

{Fk+2Fk+1=Fk+1+Fk=Fk+1
\\begin{cases}F_{k+2}& =F_{k+1}+F_{k}\\\\F_{k+1}& =F_{k+1}\\end{cases},再把方程组用矩阵表达得到

[Fk+2Fk+1]=[1110][Fk+1Fk]
\\begin{bmatrix}F_{k+2}\\\\F_{k+1}\\end{bmatrix}=\\begin{bmatrix}1& 1\\\\1& 0\\end{bmatrix}\\begin{bmatrix}F_{k+1}\\\\F_{k}\\end{bmatrix},于是我们得到了

uk+1=Auk,A=[1110]
u_{k+1}=Au_{k}, A=\\begin{bmatrix}1& 1\\\\1& 0\\end{bmatrix}。我们把二阶标量方程(second-order scalar problem)转化为一阶向量方程组(first-order system)。

2)我们的矩阵

A=[1110]
A=\\begin{bmatrix}1& 1\\\\1& 0\\end{bmatrix}是一个对称矩阵,所以它的特征值将会是实数,且他的特征向量将会互相正交。因为是二阶,我们可以直接利用迹与行列式解方程组

{λ1+λ2λ1λ2=1=1
\\begin{cases}\\lambda_1+\\lambda_2& =1\\\\\\lambda_1\\cdot\\lambda_2& =-1\\end{cases}。在求解之前,我们先写出一般解法并观察

|AλI|=1λ11λ=λ2λ1=0
\\left|A-\\lambda I\\right|=\\begin{vmatrix}1-\\lambda& 1\\\\1& -\\lambda\\end{vmatrix}=\\lambda^2-\\lambda-1=0,与前面斐波那契数列的递归式

Fk+2=Fk+1+FkFk+2Fk+1Fk=0
F_{k+2}=F_{k+1}+F_{k}\\rightarrow F_{k+2}-F_{k+1}-F_{k}=0比较,我们发现这两个式子在项数与幂次上非常相近。
用求根公式解特征值得

{λ1=12(1+5)1.618λ2=12(15)0.618
\\begin{cases}\\lambda_1=\\frac{1}{2}\\left(1+\\sqrt{5}\\right)\\approx{1.618}\\\\\\lambda_2=\\frac{1}{2}\\left(1-\\sqrt{5}\\right)\\approx{-0.618}\\end{cases},得到两个不同的特征值,一定会有两个线性无关的特征向量,则该矩阵可以被对角化。
我们先来观察这个数列是如何增长的,数列增长由什么来控制?——特征值。哪一个特征值起决定性作用?——较大的一个。

F100=c1(1+52)100+c2(152)100c1(1+52)100
F_{100}=c_1\\left(\\frac{1+\\sqrt{5}}{2}\\right)^{100}+c_2\\left(\\frac{1-\\sqrt{5}}{2}\\right)^{100}\\approx c_1\\left(\\frac{1+\\sqrt{5}}{2}\\right)^{100},由于

0.618
-0.618在幂增长中趋近于

0
0,所以近似的忽略该项,剩下较大的项,我们可以说数量增长的速度大约是1.6181.618。可以看出,这种问题与求解

Ax=b
Ax=b不同,这是一个动态的问题,

A
A的幂在不停的增长,而问题的关键就是这些特征值。

3)继续求解特征向量,AλI=[1λ11λ]A-\\lambda I=\\begin{bmatrix}1-\\lambda& 1\\\\1& -\\lambda\\end{bmatrix},因为有根式且矩阵只有二阶,我们直接观察

[1λ11λ][??]=0
\\begin{bmatrix}1-\\lambda& 1\\\\1& -\\lambda\\end{bmatrix}\\begin{bmatrix}?\\\\?\\end{bmatrix}=0,由于

AλI
A-\\lambda I是奇异矩阵,所以

AλI
A-\\lambda I的零空间有非零向量,则

[1λ11λ][λ1]=[λ(1λ)+1λλ]=[00]

\\begin{bmatrix}1-\\lambda& 1\\\\1& -\\lambda\\end{bmatrix} \\begin{bmatrix}\\lambda\\\\1\\end{bmatrix}=\\begin{bmatrix}\\lambda(1-\\lambda)+ 1\\\\\\lambda -\\lambda\\end{bmatrix}=\\begin{bmatrix}0\\\\0\\end{bmatrix}



λ2λ1=0
\\lambda^2-\\lambda-1=0,则其特征向量为

[λ1]
\\begin{bmatrix}\\lambda\\\\1\\end{bmatrix},即

x1=[λ11],x2=[λ21]
x_1=\\begin{bmatrix}\\lambda_1\\\\1\\end{bmatrix}, x_2=\\begin{bmatrix}\\lambda_2\\\\1\\end{bmatrix}。

最后,计算初始项

u0=[F1F0]=[10]
u_0=\\begin{bmatrix}F_1\\\\F_0\\end{bmatrix}=\\begin{bmatrix}1\\\\0\\end{bmatrix},现在将初始项用特征向量表示出来

[10]=c1x1+c2x2
\\begin{bmatrix}1\\\\0\\end{bmatrix}=c_1x_1+c_2x_2,计算系数得

c1=55,c2=55
c_1=\\frac{\\sqrt{5}}{5}, c_2=-\\frac{\\sqrt{5}}{5}。

回顾整个问题 对于动态增长的一阶方程组,初始向量是

u0
u_0,关键在于确定

A
A的特征值及特征向量。特征值将决定增长的趋势,发散至无穷还是收敛于某个值。接下来需要找到一个展开式,把u0u_0展开成特征向量的线性组合。
再下来就是套用公式,即

A
A的kk次方表达式

Ak=SΛkS1
A^k=S\\Lambda^kS^{-1},则有

u99=Au98==A99u0=SΛ99S1Sc=SΛ99c
u_{99}=Au_{98}=\\cdots=A^{99}u_{0}=S\\Lambda^{99}S^{-1}Sc=S\\Lambda^{99}c,代入特征值、特征向量得:

u99=[F100F99]=[1+5211521](1+52)9900(152)995555=[c1λ1001+c2λ1002c1λ991+c2λ992]
u_{99}=\\begin{bmatrix}F_{100}\\\\F_{99}\\end{bmatrix}=\\begin{bmatrix}\\frac{1+\\sqrt{5}}{2}& \\frac{1-\\sqrt{5}}{2}\\\\1&1\\end{bmatrix}\\begin{bmatrix}\\left(\\frac{1+\\sqrt{5}}{2}\\right)^{99}& 0\\\\0& \\left(\\frac{1-\\sqrt{5}}{2}\\right)^{99}\\end{bmatrix}\\begin{bmatrix}\\frac{\\sqrt{5}}{5}\\\\-\\frac{\\sqrt{5}}{5}\\end{bmatrix}=\\begin{bmatrix}c_1\\lambda_1^{100}+c_2\\lambda_2^{100}\\\\c_1\\lambda_1^{99}+c_2\\lambda_2^{99}\\end{bmatrix}.
最终结果为

F100=c1λ1001+c2λ1002
F_{100}=c_1\\lambda_1^{100}+c_2\\lambda_2^{100}。
原式的通解为

uk=c1λkx1+c2λkx2
u_k=c_1\\lambda^kx_1+c_2\\lambda^kx_2。

下一讲将介绍求解微分方程。

3.总结


1.

A
A对角化: S1AS=ΛS^{-1}AS=\\Lambda

1.1


\\color{red}{矩阵分解的三种方法}:
1. 矩阵的对角化:

S1AS=Λ
S^{-1}AS=\\Lambda;
2.矩阵消元法中的

A=LU
A=LU 矩阵分解;
3.格拉姆-施密特正交化中的

A=QR
A=QR 矩阵。

1.2


\\color{red}{哪些矩阵可以对角化}:
1.当矩阵A没有重复的特征值,矩阵

A
A必有nn个线性无关的特征向量,则称

A
A可以对角化(diagonalizable);
2.如果存在重复的特征值,那么我们就需要做额外的检查,就是说上面的条件是充分非必要条件。

2.特征值和特征向量的应用
2.1 矩阵的幂

1.对于矩阵AkA^k,其特征值也会取平方

Λk
\\Lambda^k,而特征向量不变。
2.当

A
A 的所有特征值

|λi|<1
|\\lambda_i|<1 时,从

SΛkS1
S\\Lambda^kS^{-1}易得

k
k\\to\\infty,则

Ak0
A^k\\to 0(趋于稳定),这样的矩阵称作稳定矩阵

2.2一阶差分方程(求

uk+1=Auk
u_{k+1}=Au_k)和斐波那契数列(Fibonacci sequence)。


第二十三课时:微分方程和

eAt
e^{At}

1.微分方程

dudt=Au
\\frac{\\mathrm{d}u}{\\mathrm{d}t}=Au

本讲主要讲解解一阶方程(first-order system)一阶倒数(first derivative)常系数(constant coefficient)线性方程,上一讲介绍了如何计算矩阵的幂,本讲将进一步涉及矩阵的指数形式。我们通过解2个例子来详细介绍计算方法。

1.1 例子1


两个关于时间的方程组

du1dtdu2dt=u1+2u2=u12u2
\\begin{cases}\\frac{\\mathrm{d}u_1}{\\mathrm{d}t}& =-u_1+2u_2\\\\\\frac{\\mathrm{d}u_2}{\\mathrm{d}t}& =u_1-2u_2\\end{cases},则系数矩阵是

A=[1122]
A=\\begin{bmatrix}-1& 2\\\\1& -2\\end{bmatrix},设初始条件为在

0
0时刻u(0)=[u1u2]=[10]u(0)=\\begin{bmatrix}u_1\\\\u_2\\end{bmatrix}=\\begin{bmatrix}1\\\\0\\end{bmatrix}。
这个初始条件的意义可以看做在开始时一切都在

u1
u_1中,但随着时间的推移,将有

du2dt>0
\\frac{\\mathrm{d}u_2}{\\mathrm{d}t}>0,因为

u1
u_1项初始为正,

u1
u_1中的事物会流向

u2
u_2。随着时间的发展我们可以追踪流动的变化。

根据上一讲所学的知识,我们知道第一步需要找到特征值与特征向量。

A=[1122]
A=\\begin{bmatrix}-1& 2\\\\1& -2\\end{bmatrix},很明显这是一个奇异矩阵,所以第一个特征值是

λ1=0
\\lambda_1=0,另一个特征向量可以从迹得到

tr(A)=3
tr(A)=-3。当然我们也可以用一般方法计算

|AλI|=1λ122λ=λ2+3λ=0
\\left|A-\\lambda I\\right|=\\begin{vmatrix}-1-\\lambda& 2\\\\1& -2-\\lambda\\end{vmatrix}=\\lambda^2+3\\lambda=0。

(教授提前剧透,特征值

λ2=3
\\lambda_2=-3将会逐渐消失,因为答案中将会有一项为

e3t
e^{-3t},该项会随着时间的推移趋近于

0
0。答案的另一部分将有一项为e0te^{0t},该项是一个常数,其值为

1
1,并不随时间而改变。通常含有00特征值的矩阵会随着时间的推移达到稳态。)

求特征向量,

λ1=0
\\lambda_1=0时,即求

A
A的零空间,很明显x1=[21]x_1=\\begin{bmatrix}2\\\\1\\end{bmatrix};

λ2=3
\\lambda_2=-3时,求

A+3I
A+3I的零空间,

[2121]
\\begin{bmatrix}2& 2\\\\1& 1\\end{bmatrix}的零空间为

x2=[11]
x_2=\\begin{bmatrix}1\\\\-1\\end{bmatrix}。

则方程组的通解为:

u(t)=c1eλ1tx1+c2eλ2tx2
u(t)=c_1e^{\\lambda_1t}x_1+c_2e^{\\lambda_2t}x_2,通解的前后两部分都是该方程组的纯解,即方程组的通解就是两个与特征值、特征向量相关的纯解的线性组合。我们来验证一下,比如取

u=eλ1tx1
u=e^{\\lambda_1t}x_1带入

dudt=Au
\\frac{\\mathrm{d}u}{\\mathrm{d}t}=Au,对时间求导得到

λ1eλ1tx1=Aeλ1tx1
\\lambda_1e^{\\lambda_1t}x_1=Ae^{\\lambda_1t}x_1,化简得

λ1x1=Ax1
\\lambda_1x_1=Ax_1。

对比上一讲,解

uk+1=Auk
u_{k+1}=Au_k时得到

uk=c1λkx1+c2λkx2
u_k=c_1\\lambda^kx_1+c_2\\lambda^kx_2,而解

dudt=Au
\\frac{\\mathrm{d}u}{\\mathrm{d}t}=Au我们得到

u(t)=c1eλ1tx1+c2eλ2tx2
u(t)=c_1e^{\\lambda_1t}x_1+c_2e^{\\lambda_2t}x_2。

继续求

c1,c2
c_1,c_2,

u(t)=c11[21]+c2e3t[11]
u(t)=c_1\\cdot 1\\cdot\\begin{bmatrix}2\\\\1\\end{bmatrix}+c_2\\cdot e^{-3t}\\cdot\\begin{bmatrix}1\\\\-1\\end{bmatrix},已知

t=0
t=0时,

[10]=c1[21]+c2[11]
\\begin{bmatrix}1\\\\0\\end{bmatrix}=c_1\\begin{bmatrix}2\\\\1\\end{bmatrix}+c_2\\begin{bmatrix}1\\\\-1\\end{bmatrix}(

Sc=u(0)
Sc=u(0)),所以

c1=13,c2=13
c_1=\\frac{1}{3}, c_2=\\frac{1}{3}。
于是我们写出最终结果,

u(t)=13[21]+13e3t[11]
u(t)=\\frac{1}{3}\\begin{bmatrix}2\\\\1\\end{bmatrix}+\\frac{1}{3}e^{-3t}\\begin{bmatrix}1\\\\-1\\end{bmatrix}。

稳定性:这个流动过程从

u(0)=[10]
u(0)=\\begin{bmatrix}1\\\\0\\end{bmatrix}开始,初始值

1
1的一部分流入初始值00中,经过无限的时间最终达到稳态

u()=[2313]
u(\\infty)=\\begin{bmatrix}\\frac{2}{3}\\\\\\frac{1}{3}\\end{bmatrix}。所以,要使得

u(t)0
u(t)\\to 0,则需要负的特征值。
但如果特征值为复数呢?如

λ=3+6i
\\lambda=-3+6i,我们来计算

e(3+6i)t
\\left|e^{(-3+6i)t}\\right|,其中的

e6it
\\left|e^{6it}\\right|部分为

|cos6t+isin6t|=1
\\left|\\cos 6t+i\\sin 6t\\right|=1,因为这部分的模为

cos2α+sin2α=1
\\cos^2\\alpha+\\sin^2\\alpha=1,这个虚部就在单位圆上转悠。所以只有实数部分才是重要的。
所以我们可以把前面的结论改为需要实部为负数的特征值。实部会决定最终结果趋近于

0
0或\\infty,虚部不过是一些小杂音。

收敛态:需要其中一个特征值实部为

0
0,而其他特征值的实部皆小于00。

发散态:如果某个特征值实部大于

0
0。上面的例子中,如果将AA变为

A
-A,特征值也会变号,结果发散。

再进一步,我们想知道如何从直接判断任意二阶矩阵的特征值是否均小于零。对于二阶矩阵

A=[acbd]
A=\\begin{bmatrix}a& b\\\\c& d\\end{bmatrix},矩阵的迹为

a+d=λ1+λ2
a+d=\\lambda_1+\\lambda_2,如果矩阵稳定,则迹应为负数。但是这个条件还不够,有反例迹小于

0
0依然发散:[2001]\\begin{bmatrix}-2& 0\\\\0& 1\\end{bmatrix},迹为

1
-1但是仍然发散。还需要加上一个条件,因为

detA=λ1λ2
\\det A=\\lambda_1\\cdot\\lambda_2,所以还需要行列式为正数。

即:如果矩阵稳定,则迹应为负数;且行列式为正数。(

λ1+λ2<0,λ1λ2>0
\\lambda_1+\\lambda_20)

总结
原方程组有两个相互耦合的未知函数,

u1,u2
u_1, u_2相互耦合,矩阵

A
A 表明u1,u2u_1,u_2 相互耦合,而特征值和特征向量的作则就是解耦,也就是对角化(diagonalize)。(实际上能把这个解表示成

S
S和ΛΛ的形式
)

回到原方程组

dudt=Au
\\frac{\\mathrm{d}u}{\\mathrm{d}t}=Au,将

u
u表示为特征向量的线性组合u=Svu=Sv(

S
S 是特征向量矩阵,以特征向量为基),代入原方程有Sdvdt=ASvS\\frac{\\mathrm{d}v}{\\mathrm{d}t}=ASv,两边同乘以

S1
S^{-1}得

dvdt=S1ASv=Λv
\\frac{\\mathrm{d}v}{\\mathrm{d}t}=S^{-1}ASv=\\Lambda v。以特征向量为基,将

u
u表示为SvSv,得到关于

v
v的对角化方程组,新方程组不存在耦合,此时dv1dtdv2dtdvndt=λ1v1=λ2v2=λnvn\\begin{cases}\\frac{\\mathrm{d}v_1}{\\mathrm{d}t}& =\\lambda_1v_1\\\\\\frac{\\mathrm{d}v_2}{\\mathrm{d}t}& =\\lambda_2v_2\\\\\\vdots& \\vdots\\\\\\frac{\\mathrm{d}v_n}{\\mathrm{d}t}& =\\lambda_nv_n\\end{cases},这是一个各未知函数间没有联系的方程组,它们的解的一般形式为

v(t)=eΛtv(0)
v(t)=e^{\\Lambda t}v(0),则原方程组的解的一般形式为

u(t)=eAtu(0)=SeΛtS1u(0)
u(t)=e^{At}u(0)=Se^{\\Lambda t}S^{-1}u(0)。这里引入了指数部分为矩阵的形式。

2.指数矩阵

eAt
e^{At}

2.1证明

SeΛtS1=eAt
Se^{\\Lambda t}S^{-1}=e^{At}


在上面的结论中,我们见到了

eAt
e^{At}。这种指数部分带有矩阵的情况称为指数矩阵(exponential matrix)。
理解指数矩阵的关键在于,将指数形式展开称为幂基数形式,就像

ex=1+x22+x36+
e^x=1+\\frac{x^2}{2}+\\frac{x^3}{6}+\\cdots一样,将

eAt
e^{At}展开成幂级数的形式为:

eAt=I+At+(At)22+(At)36++(At)nn!+(1)

e^{At}=I+At+\\frac{(At)^2}{2}+\\frac{(At)^3}{6}+\\cdots+\\frac{(At)^n}{n!}+\\cdots\\tag{1}

再说些题外话,有两个极具美感的泰勒级数:

1.

ex=xnn!
e^x=\\sum \\frac{x^n}{n!};
2.

11x=xn
\\frac{1}{1-x}=\\sum x^n。

分析:
1. 如果把第二个泰勒级数(2.)写成指数矩阵形式,有

(IAt)1=I+At+(At)2+(At)3+
(I-At)^{-1}=I+At+(At)^2+(At)^3+\\cdots,这个式子只有在

t
t非常小的时候,后面的高次项近似等于零,所以可以用来近似IAtI-At的逆矩阵,通常近似为

I+At
I+At,当然也可以再加几项。
2. 第一个级数(1.)对我们而言比第二个级数(2.)好,因为第一个级数总会收敛于某个值,所以

ex
e^x总会有意义,而第二个级数需要

A
A特征值的绝对值小于11(因为涉及矩阵的幂运算)。我们看到这些泰勒级数的公式对矩阵同样适用。
回到正题,我们需要证明

SeΛtS1=eAt
Se^{\\Lambda t}S^{-1}=e^{At},继续使用泰勒级数:

eAt=I+At+(At)22+(At)36++(At)nn!+eAt=SS1+SΛS1t+SΛ2S12t2+SΛ3S16t3++SΛnS1n!tn+eAt=S(I+Λt+Λ2t22+Λ3t33++Λntnn+)S1eAt=SeΛtS1

e^{At}=I+At+\\frac{(At)^2}{2}+\\frac{(At)^3}{6}+\\cdots+\\frac{(At)^n}{n!}+\\cdots\\\\
e^{At}=SS^{-1}+S\\Lambda S^{-1}t+\\frac{S\\Lambda^2S^{-1}}{2}t^2+\\frac{S\\Lambda^3S^{-1}}{6}t^3+\\cdots+\\frac{S\\Lambda^nS^{-1}}{n!}t^n+\\cdots\\\\
e^{At}=S\\left(I+\\Lambda t+\\frac{\\Lambda^2t^2}{2}+\\frac{\\Lambda^3t^3}{3}+\\cdots+\\frac{\\Lambda^nt^n}{n}+\\cdots\\right)S^{-1}\\\\
e^{At}=Se^{\\Lambda t}S^{-1}

需要注意的是:

eAt
e^{At}的泰勒级数展开是恒成立的,但我们推出的版本却需要矩阵可对角化这个前提条件。

2.2

eΛt
e^{\\Lambda t}的特性


最后,我们来看看什么是

eΛt
e^{\\Lambda t}:
1.我们将

eAt
e^{At}变为对角矩阵就是因为对角矩阵简单、没有耦合,

eΛt=eλ1t000eλ2t000eλnt
e^{\\Lambda t}=\\begin{bmatrix}e^{\\lambda_1t}& 0& \\cdots& 0\\\\0& e^{\\lambda_2t}& \\cdots& 0\\\\\\vdots& \\vdots& \\ddots& \\vdots\\\\0& 0& \\cdots& e^{\\lambda_nt}\\end{bmatrix}。
有了

u(t)=SeΛtS1u(0)
u(t)=Se^{\\Lambda t}S^{-1}u(0),再来看矩阵的稳定性可知,所有特征值的实部均为负数时矩阵收敛,此时对角线上的指数收敛为

0
0。
2.如果我们画出复平面,则要使微分方程存在稳定解,则特征值存在于复平面的左侧(即实部为负);要使矩阵的幂收敛于00,则特征值存在于单位圆内部(即模小于

1
1),这是幂稳定区域。(上一讲的差分方程需要计算矩阵的幂。)

2.3 微分方程的推广

同差分方程一样,我们来看二阶情况如何计算,有y′′+by+k=0y\’\’+by\’+k=0。我们也模仿差分方程的情形,构造方程组

{y′′y=byky=y
\\begin{cases}y\’\’& =-by\’-ky\\\\y\’& =y\’\\end{cases},写成矩阵形式有

[y′′y]=[b1k0][yy]
\\begin{bmatrix}y\’\’\\\\y\’\\end{bmatrix}=\\begin{bmatrix}-b& -k\\\\1& 0\\end{bmatrix}\\begin{bmatrix}y\’\\\\y\\end{bmatrix},令

u=[y′′y], u=[yy]
u\’=\\begin{bmatrix}y\’\’\\\\y\’\\end{bmatrix}, \\ u=\\begin{bmatrix}y\’\\\\y\\end{bmatrix}。
继续推广,对于

5
5阶微分方程y′′′′′+by′′′′+cy′′′+dy′′+ey+f=0y\’\’\’\’\’+by\’\’\’\’+cy\’\’\’+dy\’\’+ey\’+f=0,则可以写作

y′′′′′y′′′′y′′′y′′y=b1000c0100d0010e0001f0000y′′′′y′′′y′′yy
\\begin{bmatrix}y\’\’\’\’\’\\\\y\’\’\’\’\\\\y\’\’\’\\\\y\’\’\\\\y\’\\end{bmatrix}=\\begin{bmatrix}-b& -c& -d& -e& -f\\\\1& 0& 0& 0& 0\\\\0& 1& 0& 0& 0\\\\0& 0& 1& 0& 0\\\\0& 0& 0& 1& 0\\end{bmatrix}\\begin{bmatrix}y\’\’\’\’\\\\y\’\’\’\\\\y\’\’\\\\y\’\\\\y\\end{bmatrix},这样我们就把一个五阶微分方程化为

5×5
5\\times 5一阶方程组了,然后就是求特征值、特征向量了步骤了。

3. 本章总结


  1. 微分方程

    dudt=Au
    \\frac{\\mathrm{d}u}{\\mathrm{d}t}=Au的求解,以及其稳定性、收敛性和发散性的证明。

  2. u(t)=eAtu(0)=SeΛtS1u(0)
    u(t)=e^{At}u(0)=Se^{\\Lambda t}S^{-1}u(0)的推导过程;微分方程的推广。

  3. SeΛtS1=eAt
    Se^{\\Lambda t}S^{-1}=e^{At}及

    eAt
    e^{At}的性质。


第二十四讲:马尔科夫矩阵、傅里叶级数

1.马尔科夫矩阵

1.1马尔可夫矩阵的定义


马尔科夫矩阵(Markov matrix)是指具有以下两个特性的矩阵:

马尔科夫矩阵(Markov matrix)的定义:
1.矩阵中的所有元素大于等于

0
0;(因为马尔科夫矩阵与概率有关,而概率是非负的。)
2.每一列的元素之和为11。

对于马尔科夫矩阵,我们关心幂运算过程中的稳态(steady state)。与上一讲不同,指数矩阵关系特征值是否为

0
0,而幂运算要达到稳态需要特征值为11。
根据上面两条性质,我们可以得出两个推论:

马尔可夫矩阵的性质:
1.马尔科夫矩阵必有特征值为

1
1;
2.其他的特征值的绝对值皆小于11。

使用第二十二讲中得到的公式进行幂运算

uk=Aku0=SΛkS1u0=SΛkS1Sc=SΛkc=c1λk1x1+c2λk2x2++cnλknxn
u_k=A^ku_0=S\\Lambda^kS^{-1}u_0=S\\Lambda^kS^{-1}Sc=S\\Lambda^kc=c_1\\lambda_1^kx_1+c_2\\lambda_2^kx_2+\\cdots+c_n\\lambda_n^kx_n,从这个公式很容易看出幂运算的稳态。比如我们取

λ1=1
\\lambda_1=1,其他的特征值绝对值均小于

1
1,于是在经过kk次迭代,随着时间的推移,其他项都趋近于

0
0,于是在kk\\to\\infty时,有稳态

uk=c1x1
u_k=c_1x_1,这也就是初始条件

u0
u_0的第

1
1个分量。

1.2稳定性证明


我们来证明第一个推论,取A=0.10.20.70.010.9900.30.30.4A=\\begin{bmatrix}0.1& 0.01& 0.3\\\\0.2& 0.99& 0.3\\\\0.7& 0& 0.4\\end{bmatrix},则

AI=0.90.20.70.010.0100.30.30.6
A-I=\\begin{bmatrix}-0.9& 0.01& 0.3\\\\0.2& -0.01& 0.3\\\\0.7& 0& -0.6\\end{bmatrix}。观察

AI
A-I易知其列向量中元素之和均为

0
0,因为马尔科夫矩阵的性质就是各列向量元素之和为11,现在我们从每一列中减去了

1
1,所以这是很自然的结果。而如果列向量中元素和为00,则矩阵的任意行都可以用“零减去其他行之和”表示出来,即该矩阵的行向量线性相关。
用以前学过的子空间的知识描述,当

n
n阶方阵各列向量元素之和皆为11时,则有

111
\\begin{bmatrix}1\\\\1\\\\\\vdots\\\\1\\end{bmatrix}在矩阵

AI
A-I左零空间中,即

(AI)T
(A-I)^T行向量线性相关。而

A
A特征值11所对应的特征向量将在

AI
A-I的零空间中,因为

Ax=x(AI)x=0
Ax=x\\rightarrow(A-I)x=0。
另外,特征值具有这样一个性质:矩阵与其转置的特征值相同。因为我们在行列式一讲了解了性质10,矩阵与其转置的行列式相同,那么如果

det(AλI)=0
\\det(A-\\lambda I)=0,则有

det(AλI)T=0
\\det(A-\\lambda I)^T=0,根据矩阵转置的性质有

det(ATλIT)=0
\\det(A^T-\\lambda I^T)=0,即

det(ATλI)=0
\\det(A^T-\\lambda I)=0。这正是

AT
A^T特征值的计算式。
然后计算特征值

λ1=1
\\lambda_1=1所对应的特征向量,

(AI)x1=0
(A-I)x_1=0,得出

x1=0.6330.7
x_1=\\begin{bmatrix}0.6\\\\33\\\\0.7\\end{bmatrix},特征向量中的元素皆为正。

1.3 马尔可夫矩阵的应用


接下来介绍马尔科夫矩阵的应用,我们用麻省和加州这两个州的人口迁移为例:

[ucalumass]k+1=[0.90.10.20.8][ucalumass]k
\\begin{bmatrix}u_{cal}\\\\u_{mass}\\end{bmatrix}_{k+1} =\\begin{bmatrix}0.9& 0.2\\\\0.1& 0.8\\end{bmatrix}\\begin{bmatrix}u_{cal}\\\\u_{mass}\\end{bmatrix}_k,元素非负,列和为一。这个式子表示每年有

10
10%的人口从加州迁往麻省,同时有

20
20%的人口从麻省迁往加州。注意使用马尔科夫矩阵的前提条件是随着时间的推移,矩阵始终不变。
设初始情况

[ucalumass]0=[01000]
\\begin{bmatrix}u_{cal}\\\\u_{mass}\\end{bmatrix}_0=\\begin{bmatrix}0\\\\1000\\end{bmatrix},我们先来看第一次迁徙后人口的变化情况:

[ucalumass]1=[0.90.10.20.8][01000]=[200800]
\\begin{bmatrix}u_{cal}\\\\u_{mass}\\end{bmatrix}_1=\\begin{bmatrix}0.9& 0.2\\\\0.1& 0.8\\end{bmatrix}\\begin{bmatrix}0\\\\1000\\end{bmatrix}=\\begin{bmatrix}200\\\\800\\end{bmatrix},随着时间的推移,会有越来越多的麻省人迁往加州,而同时又会有部分加州人迁往麻省。

计算特征值:我们知道马尔科夫矩阵的一个特征值为

λ1=1
\\lambda_1=1,则另一个特征值可以直接从迹算出

λ2=0.7
\\lambda_2=0.7。

计算特征向量:带入

λ1=1
\\lambda_1=1求

AI
A-I的零空间有

[0.10.10.20.2]
\\begin{bmatrix}-0.1& 0.2\\\\0.1& -0.2\\end{bmatrix},则

x1=[21]
x_1=\\begin{bmatrix}2\\\\1\\end{bmatrix},此时我们已经可以得出无穷步后稳态下的结果了。

u=c1[21]
u_{\\infty}=c_1\\begin{bmatrix}2\\\\1\\end{bmatrix}且人口总数始终为

1000
1000,则

c1=10003
c_1=\\frac{1000}{3},稳态时

[ucalumass]=[2000310003]
\\begin{bmatrix}u_{cal}\\\\u_{mass}\\end{bmatrix}_{\\infty}=\\begin{bmatrix}\\frac{2000}{3}\\\\\\frac{1000}{3}\\end{bmatrix}。注意到特征值为

1
1的特征向量元素皆为正。

为了求每一步的结果,我们必须解出所有特征向量。带入λ2=0.7\\lambda_2=0.7求

A0.7I
A-0.7I的零空间有

[0.20.10.20.1]
\\begin{bmatrix}0.2& 0.2\\\\0.1& 0.1\\end{bmatrix},则

x2=[11]
x_2=\\begin{bmatrix}-1\\\\1\\end{bmatrix}。
通过

u0
u_0解出

c1,c2
c_1, c_2,

uk=c11k[21]+c20.7k[11]
u_k=c_11^k\\begin{bmatrix}2\\\\1\\end{bmatrix}+c_20.7^k\\begin{bmatrix}-1\\\\1\\end{bmatrix},带入

k=0
k=0得

u0=[01000]=c1[21]+c2[11]
u_0=\\begin{bmatrix}0\\\\1000\\end{bmatrix}=c_1\\begin{bmatrix}2\\\\1\\end{bmatrix}+c_2\\begin{bmatrix}-1\\\\1\\end{bmatrix},解出

c1=10003,c2=20003
c_1=\\frac{1000}{3}, c_2=\\frac{2000}{3}。
另外,有时人们更喜欢用行向量,此时将要使用行向量乘以矩阵,其行向量各分量之和为

1
1。

2.傅里叶级数

2.1 傅里叶级数的引出及定义


在介绍傅里叶级数(Fourier series)之前,先来回顾一下投影。
q1,q2,qnq_1,q_2,\\cdots q_n为一组标准正交基,则向量

v
v在该标准正交基上的展开为v=x1q1+x2q2++xnqnv=x_1q_1+x_2q_2+\\cdots+x_nq_n,此时我们想要得到各系数

xi
x_i的值。比如求

x1
x_1的值,我们自然想要消掉除

x1q1
x_1q_1外的其他项,这时只需要等式两边同乘以

qT1
q_1^T,因为的

qi
q_i向量相互正交且长度为

1
1,则qTiqj=0,q2i=1q_i^Tq_j=0, q_i^2=1所以原式变为

qT1v=x1
q_1^Tv=x_1。
写为矩阵形式有

[q1 q2  qn]x1x2xn=v
\\Bigg[q_1\\ q_2\\ \\cdots\\ q_n\\Bigg]\\begin{bmatrix}x_1\\\\x_2\\\\\\vdots\\\\x_n\\end{bmatrix}=v,即

Qx=v
Qx=v。所以有

x=Q1v
x=Q^{-1}v,而在第十七讲我们了解到标准正交基有

QT=Q1
Q^T=Q^{-1},所以我们不需要计算逆矩阵可直接得出

x=QTv
x=Q^Tv。此时对于

x
x的每一个分量有xi=qTivx_i=q_i^Tv。
接下来介绍傅里叶级数。先写出傅里叶级数的展开式:

f(x)=a0+a1cosx+b1sinx+a2cos2x+b2sin2x+

f(x)=a_0+a_1\\cos x+b_1\\sin x+a_2\\cos 2x+b_2\\sin 2x+\\cdots

傅里叶发现,如同将向量

v
v展开(投影)到向量空间的一组标准正交基中,在函数空间中,我们也可以做类似的展开。将函数f(x)f(x)投影在一系列相互正交的函数中。函数空间中的

f(x)
f(x)就是向量空间中的

v
v;函数空间中的1,cosx,sinx,cos2x,sin2x,1,\\cos x,\\sin x,\\cos 2x,\\sin 2x,\\cdots就是向量空间中的

q1,q2,,qn
q_1,q_2,\\cdots,q_n;不同的是,函数空间是无限维的而我们以前接触到的向量空间通常是有限维的。

2.2 各个基系数的求解


再来介绍何为“函数正交”。对于向量正交我们通常使用两向量内积(点乘)为零判断。我们知道对于向量

v,w
v,w的内积为

vTw=v1w1+v2w2++vnwn=0
v^Tw=v_1w_1+v_2w_2+\\cdots+v_nw_n=0,也就是向量的每个分量之积再求和。而对于函数

f(x)g(x)
f(x)\\cdot g(x)内积,同样的,我们需要计算两个函数的每个值之积而后求和,由于函数取值是连续的,所以函数内积为:

fTg=f(x)g(x)dx

f^Tg=\\int f(x)g(x)\\mathrm{d}x

在本例中,由于傅里叶级数使用正余弦函数,它们的周期都可以算作

2π
2\\pi,所以本例的函数点积可以写作

fTg=2π0f(x)g(x)dx
f^Tg=\\int_0^{2\\pi}f(x)g(x)\\mathrm{d}x。我来检验一个内积

2π0sinxcosxdx=12sin2x2π0=0
\\int_0^{2\\pi}\\sin{x}\\cos{x}\\mathrm{d}x=\\left.\\frac{1}{2}\\sin^2x\\right|_0^{2\\pi}=0,其余的三角函数族正交性结果可以参考傅里叶级数的“希尔伯特空间的解读”一节。

最后我们来看

cosx
\\cos x项的系数是多少(

a0
a_0是

f(x)
f(x)的平均值)。同向量空间中的情形一样,我们在等式两边同时做

cosx
\\cos x的内积,原式变为

2π0f(x)cosxdx=a12π0cos2xdx
\\int_0^{2\\pi}f(x)\\cos x\\mathrm{d}x=a_1\\int_0^{2\\pi}\\cos^2x\\mathrm{d}x,因为正交性等式右边仅有

cosx
\\cos x项不为零。进一步化简得

a1π=2π0f(x)cosxdxa1=1π2π0f(x)cosxdx
a_1\\pi=\\int_0^{2\\pi}f(x)\\cos x\\mathrm{d}x\\rightarrow a_1=\\frac{1}{\\pi}\\int_0^{2\\pi}f(x)\\cos x\\mathrm{d}x。

于是,我们把函数

f(x)
f(x)展开到了函数空间的一组标准正交基上。

3. 本章总结


1.马尔科夫矩阵

马尔科夫矩阵(Markov matrix)的定义
1.矩阵中的所有元素大于等于

0
0;(因为马尔科夫矩阵与概率有关,而概率是非负的。)
2.每一列的元素之和为11。

马尔可夫矩阵的性质
1.马尔科夫矩阵必有特征值为

1
1;
2.其他的特征值的绝对值皆小于11。

2.傅立叶级数

© 版权声明
THE END
喜欢就支持一下吧
点赞428 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容