赞
踩
我们想要计算一个矩阵的特征值,一般是用如下公式:
∣
∣
A
−
λ
I
∣
∣
=
0
→
λ
1
,
λ
2
,
⋯
,
λ
n
但这种方法最大的弊端是对于求解n个解的方程来说,太困难了,当n>100以后,简直无法想象,所以我们只有另辟蹊径,这时候我们想到了相似矩阵的性质,假设矩阵A相似于矩阵
B
B
B,那么矩阵A与矩阵
B
B
B特征值相同;
∣
∣
A
−
λ
a
I
∣
∣
=
∣
∣
B
−
λ
b
I
∣
∣
,
B
=
P
−
1
A
P
∣
∣
A
−
λ
a
I
∣
∣
=
∣
∣
P
−
1
A
P
−
λ
b
I
∣
∣
=
∣
∣
P
−
1
A
P
−
P
−
1
λ
b
I
P
∣
∣
∣
∣
P
−
1
A
P
−
P
−
1
λ
b
I
P
∣
∣
=
∣
∣
P
−
1
∣
∣
∣
∣
A
−
λ
b
I
∣
∣
∣
∣
P
∣
∣
=
∣
∣
A
−
λ
b
I
∣
∣
假设我们有一个矩阵
A
0
A_0
A0,我们知道不管什么方法一定能够通过QR分解,且Q为正交矩阵,R为上三角矩阵。那么可得如下:
A
0
=
Q
0
R
0
,
Q
0
T
Q
0
=
I
我们知道,矩阵
Q
0
Q_0
Q0一定可逆,所以矩阵
A
0
A_0
A0左右两边分别乘以
Q
0
T
,
Q
0
Q_0^T,Q_0
Q0T,Q0
Q
0
T
A
0
Q
0
=
Q
0
T
Q
0
R
0
Q
0
=
R
0
Q
0
我们发现矩阵A乘以矩阵
Q
0
Q_0
Q0后居然得到了
R
0
Q
0
R_0Q_0
R0Q0,我们定义新的矩阵
A
1
=
R
0
Q
0
A_1=R_0Q_0
A1=R0Q0
Q
0
T
A
0
Q
0
=
A
1
→
λ
a
1
=
λ
a
0
小结1:当我们不断地用正交矩阵Q处理的时候,矩阵
A
1
A_1
A1逐渐会变成上三角矩阵
小结2: 当我们矩阵
A
0
A_0
A0通过
Q
0
Q_0
Q0变换成为对角矩阵
Λ
\Lambda
Λ
(
Q
0
Q
1
⋯
Q
n
)
T
A
0
(
Q
0
Q
1
⋯
Q
n
)
=
A
n
→
λ
a
0
=
λ
a
n
由上面可得,当我们定义
A
0
=
Q
0
R
0
A_0=Q_0R_0
A0=Q0R0时,我们只需要反转
Q
0
R
0
→
R
0
Q
0
=
A
1
Q_0R_0\rightarrow R_0Q_0=A_1
Q0R0→R0Q0=A1,就能得到
A
0
∼
A
1
A_0\sim A_1
A0∼A1
Q
0
T
A
0
Q
0
=
A
1
,
Q
0
T
Q
0
=
I
鼎鼎有名的Lapack线性代数库
https://netlib.org/lapack/
同理可以用迭代法求解奇异值,思路还是一样
上双对角矩阵
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。