线性代数方程组数值解法
即对n阶线性方程组:
A
x
=
b
\mathbf{Ax=b}
Ax=b 的数值解法。其中
A
=
(
a
i
j
)
\mathbf{A}=(a_{ij})
A=(aij?)是n×n矩阵且非奇异。(以下讨论皆以矩阵A可逆为前提) 以下摘录了两类数值方法:
- 直接法:
A
x
=
b
?
G
x
=
d
\mathbf{Ax=b}\Longleftrightarrow\mathbf{Gx=d}
Ax=b?Gx=d 其中G通常是对角矩阵、三角矩阵或者是一些结构简单的矩阵。
- 迭代法:
A
x
=
b
?
x
=
B
x
+
k
建
立
迭
代
格
式
:
x
(
i
+
1
)
=
B
x
(
i
)
+
k
,
i
=
0
,
1
,
.
.
.
,
\mathbf{Ax=b}\Longleftrightarrow\mathbf{x=Bx+k}\\建立迭代格式: \\\mathbf{x^{(i+1)}=Bx^{(i)}+k},i=0,1,...,
Ax=b?x=Bx+k建立迭代格式:x(i+1)=Bx(i)+k,i=0,1,..., 迭代收敛。
一.向量范数与矩阵范数
1.1 向量范数
1.1.1 满足三个条件(向量范数公理)
- 非负性:
∥
x
∥
≥
0
\Vert\mathbf{x}\Vert\ge0
∥x∥≥0,且
∥
x
∥
=
0
?
x
=
0
\Vert\mathbf{x}\Vert=0\Longleftrightarrow\mathbf{x=0}
∥x∥=0?x=0;
- 齐次性:
∥
α
x
∥
=
∣
α
∣
∥
x
∥
\Vert\alpha\mathbf{x}\Vert=|\alpha|\Vert\mathbf{x}\Vert
∥αx∥=∣α∣∥x∥;
- 三角不等式:
∥
x
+
y
∥
≤
∥
x
∥
+
∥
y
∥
\Vert\mathbf{x+y}\Vert\le\Vert\mathbf{x}\Vert+\Vert\mathbf{y}\Vert
∥x+y∥≤∥x∥+∥y∥
1.1.2 常用的向量范数
- 1范数:
∥
x
∥
1
=
∑
i
=
1
n
∣
x
i
∣
\Vert{\mathbf{x}}\Vert_1=\sum^n_{i=1}|x_i|
∥x∥1?=∑i=1n?∣xi?∣;
- 2范数:
∥
x
∥
2
=
(
∑
i
=
1
n
∣
x
i
∣
2
)
1
2
\Vert{\mathbf{x}}\Vert_2=(\sum^n_{i=1}|x_i|^2)^{\frac{1}{2}}
∥x∥2?=(∑i=1n?∣xi?∣2)21?;
- ∞范数:
∥
x
∥
∞
=
max
?
∣
x
i
∣
\Vert{\mathbf{x}}\Vert_\infin=\max_{}|x_i|
∥x∥∞?=max?∣xi?∣;
- p范数:
∥
x
∥
p
=
(
∑
i
=
1
n
∣
x
i
∣
p
)
1
p
\Vert{\mathbf{x}}\Vert_p=(\sum^n_{i=1}|x_i|^p)^{\frac{1}{p}}
∥x∥p?=(∑i=1n?∣xi?∣p)p1?;
1.2 矩阵范数
1.2.1 矩阵范数公理(四个条件)
- 非负性:
∥
A
∥
≥
0
\Vert\mathbf{A}\Vert\ge0
∥A∥≥0,且
∥
A
∥
=
0
?
A
=
0
\Vert\mathbf{A}\Vert=0\Longleftrightarrow\mathbf{A=0}
∥A∥=0?A=0;
- 齐次性:
∥
α
A
∥
=
∣
α
∣
∥
A
∥
\Vert\alpha\mathbf{A}\Vert=|\alpha|\Vert\mathbf{A}\Vert
∥αA∥=∣α∣∥A∥;
- 三角不等式:
∥
A
+
B
∥
≤
∥
A
∥
+
∥
B
∥
\Vert\mathbf{A+B}\Vert\le\Vert\mathbf{A}\Vert+\Vert\mathbf{B}\Vert
∥A+B∥≤∥A∥+∥B∥
- 乘法不等式:
∥
A
B
∥
≤
∥
A
∥
∥
B
∥
\Vert\mathbf{AB}\Vert\le\Vert\mathbf{A}\Vert\Vert\mathbf{B}\Vert
∥AB∥≤∥A∥∥B∥
1.2.2 常用的矩阵从属范数
相容性(对于向量范数与矩阵范数而言)
满足:
?
x
,
A
:
∥
A
x
∥
向
量
≤
∥
A
∥
矩
阵
∥
x
∥
向
量
\forall\mathbf{x,A}:\Vert\mathbf{Ax}\Vert_{向量}\le\Vert\mathbf{A}\Vert_{矩阵}\Vert\mathbf{x}\Vert_{向量}
?x,A:∥Ax∥向量?≤∥A∥矩阵?∥x∥向量?
从属范数
由向量范数定义:
∥
A
∥
=
m
a
x
∥
x
∥
=
1
∥
A
x
∥
=
m
a
x
∥
x
∥
≠
0
∥
A
x
∥
∥
x
∥
\Vert{\mathbf{A}}\Vert=max_{\mathbf{\Vert{x}\Vert}=1}\Vert\mathbf{Ax}\Vert=max_{\mathbf{\Vert{x}\Vert}\ne0}\frac{\Vert\mathbf{Ax}\Vert}{\Vert\mathbf{x}\Vert}
∥A∥=max∥x∥=1?∥Ax∥=max∥x∥?=0?∥x∥∥Ax∥? 显然满足相容性。
- 单位矩阵
I
\mathbf{I}
I的的任何一种从属范数
∥
I
∥
\mathbf{\Vert{I}\Vert}
∥I∥=1。
- 从属范数一定与所给定的向量范数相容,反之不然。
常见从属范数
- 1范数:
∥
A
∥
1
=
max
?
1
≤
j
≤
n
∑
i
=
1
n
∣
a
i
j
∣
\Vert{\mathbf{A}}\Vert_1=\max_{1\le j\le{n}}\sum^n_{i=1}|a_{ij}|
∥A∥1?=max1≤j≤n?∑i=1n?∣aij?∣;(最大的绝对值的列之和)
- 2范数:
∥
A
∥
2
=
ρ
(
A
H
A
)
\Vert{\mathbf{A}}\Vert_2=\sqrt{\rho(A^HA)}
∥A∥2?=ρ(AHA)
?;
- ∞范数:
∥
x
∥
∞
=
max
?
1
≤
I
≤
n
∑
J
=
1
n
∣
a
i
j
∣
\Vert{\mathbf{x}}\Vert_\infin=\max_{1\le I\le{n}}\sum^n_{J=1}|a_{ij}|
∥x∥∞?=max1≤I≤n?∑J=1n?∣aij?∣;(最大的绝对值的行之和)
其中:
-
A
H
\mathbf{A^H}
AH是
A
\mathbf{A}
A的共轭转置(即实数不变,虚数取负再转置)。
A
H
A
\mathbf{A^HA}
AHA为对称矩阵。
-
ρ
(
A
H
A
)
=
m
a
x
∣
λ
i
∣
\rho(\mathbf{A^HA})=max|\lambda_i|
ρ(AHA)=max∣λi?∣为
A
H
A
\mathbf{A^HA}
AHA的谱半径。
另可通过
∣
λ
I
?
A
H
A
∣
=
0
|\lambda\mathbf{I-A^HA}|=0
∣λI?AHA∣=0求得特征值。 - 当A为正规矩阵,即
A
H
A
=
A
A
H
\mathbf{A^HA=AA^H}
AHA=AAH时,有
∥
A
∥
2
=
ρ
(
A
)
\Vert\mathbf{A}\Vert_2=\rho(\mathbf{A})
∥A∥2?=ρ(A)。证明见此:正规矩阵的谱半径等于谱范数
要点: A是正规阵,必然存在酉阵Q(QHQ=QQH=I)满足: QHAQ = D ,D为对角阵且每个对角元值为A的特征值。 - 可以验证:由所给定的向量范数定义出的从属范数满足4条矩阵范数公理。
Frobenius范数(F范数)
∥
A
∥
F
=
(
∑
i
=
1
n
∑
j
=
1
n
∣
a
i
j
∣
2
)
1
2
\Vert\mathbf{A}\Vert_F=(\sum^n_{i=1}\sum^n_{j=1}|a_{ij}|^2)^{\frac{1}{2}}
∥A∥F?=(i=1∑n?j=1∑n?∣aij?∣2)21?
二.Gauss消元法
2.1 Gauss消元法
2.2 列选主元素消元法
2.3 全选主元素消元法
三.三角分解法
3.1 LU分解
定理 若A为n阶方阵,且A的所有顺序主子式不等于0,则存在唯一的一个单位下三角矩阵L和一个上三角矩阵U,使A=LU。
3.2 列主元消元法的LU分解
定理 若A非奇异,则一定存在排列矩阵P,使得PA被分解为一个单位下三角阵和一个上三角阵的乘积。
P
A
x
=
P
b
?
L
U
x
=
P
b
\mathbf{PAx=Pb}\Longleftrightarrow{\mathbf{LUx=Pb}}
PAx=Pb?LUx=Pb
3.3 杜立特(Doolittle)分解法
设系数矩阵A不需要进行行行交换,且三角分解唯一(所有顺序主子式不为0),则A=LU:
L
=
[
1
0
0
.
.
.
0
l
21
1
0
.
.
.
0
l
31
l
32
1
.
.
.
0
.
.
.
.
.
l
n
1
l
n
2
l
n
3
.
.
.
1
]
U
=
[
u
11
u
12
u
13
.
.
.
u
1
n
0
u
22
u
23
.
.
.
u
2
n
0
0
u
33
.
.
.
u
3
n
.
.
.
.
.
.
.
0
0
0
.
.
.
u
n
n
]
\mathbf{L}=\begin{bmatrix}1&0&0&...&0\\l_{21}&1&0&...&0\\l_{31}&l_{32}&1&...&0\\.&.&.&.&.\\l_{n1}&l_{n2}&l_{n3}&...&1\end{bmatrix}\\ \mathbf{U}=\begin{bmatrix}u_{11}&u_{12}&u_{13}&...&u_{1n}\\0&u_{22}&u_{23}&...&u_{2n}\\0&0&u_{33}&...&u_{3n}\\ .&.&.&...&.\\0&0&0&...&u_{nn}\end{bmatrix}
L=???????1l21?l31?.ln1??01l32?.ln2??001.ln3??.............?000.1????????U=???????u11?00.0?u12?u22?0.0?u13?u23?u33?.0?...............?u1n?u2n?u3n?.unn????????? 先算第一行、第一列;再顺序向后先行后列计算。 存储可利用原来的系数矩阵A的存储单元。
3.4 Crout分解法
设系数矩阵A不需要进行行行交换,且三角分解唯一(所有顺序主子式不为0),则
A
=
L
^
U
^
\mathbf{A=\hat{L}\hat{U}}
A=L^U^:
L
^
=
[
l
11
0
0
.
.
.
0
l
21
l
22
0
.
.
.
0
l
31
l
32
l
33
.
.
.
0
.
.
.
.
.
l
n
1
l
n
2
l
n
3
.
.
.
l
n
n
]
U
^
=
[
1
u
12
u
13
.
.
.
u
1
n
0
1
u
23
.
.
.
u
2
n
0
0
1
.
.
.
u
3
n
.
.
.
.
.
.
.
0
0
0
.
.
.
1
]
\mathbf{\hat{L}}=\begin{bmatrix}l_{11}&0&0&...&0\\l_{21}&l_{22}&0&...&0\\l_{31}&l_{32}&l_{33}&...&0\\.&.&.&.&.\\l_{n1}&l_{n2}&l_{n3}&...&l_{nn}\end{bmatrix}\\ \mathbf{\hat U}=\begin{bmatrix}1&u_{12}&u_{13}&...&u_{1n}\\0&1&u_{23}&...&u_{2n}\\0&0&1&...&u_{3n}\\ .&.&.&...&.\\0&0&0&...&1\end{bmatrix}
L^=???????l11?l21?l31?.ln1??0l22?l32?.ln2??00l33?.ln3??.............?000.lnn?????????U^=???????100.0?u12?10.0?u13?u23?1.0?...............?u1n?u2n?u3n?.1???????? 先算第一列、第一行;再顺序向后先列后行计算。 存储可利用原来的系数矩阵A的存储单元。
3.5 Cholesky平方根法
定理 系数矩阵A对称正定,则存在下三角阵L,使得A=LLT。当限定L的对角元素为正时,这种分解是唯一的。
A
=
L
ˉ
L
ˉ
T
L
ˉ
=
[
l
ˉ
11
l
ˉ
21
l
ˉ
22
l
ˉ
31
l
ˉ
32
l
ˉ
33
.
.
.
.
.
.
.
.
.
.
.
.
0
l
ˉ
n
1
l
ˉ
n
2
l
ˉ
n
3
.
.
.
l
ˉ
n
n
]
\mathbf{A=\bar{L}\bar{L}^T}\\ \mathbf{\bar{L}}=\begin{bmatrix}\bar{l}_{11}&&&&\\\bar{l}_{21}&\bar{l}_{22}&&&\\\bar{l}_{31}&\bar{l}_{32}&\bar{l}_{33}\\...&...&...&...&0\\\bar{l}_{n1}&\bar{l}_{n2}&\bar{l}_{n3}&...&\bar{l}_{nn}\end{bmatrix}
A=LˉLˉTLˉ=???????lˉ11?lˉ21?lˉ31?...lˉn1??lˉ22?lˉ32?...lˉn2??lˉ33?...lˉn3??......?0lˉnn????????? 缺点:需要开根
3.6 改进的Cholesky平方根法
A
=
L
D
L
T
L
=
[
1
l
21
1
l
31
l
32
1
.
.
.
.
.
.
.
.
.
.
.
.
0
l
n
1
l
n
2
l
n
3
.
.
.
1
]
D
=
[
d
1
d
2
.
.
.
d
n
]
\mathbf{A={LD}{L}^T}\\ \mathbf{{L}}=\begin{bmatrix}1&&&&\\{l}_{21}&1&&&\\{l}_{31}&{l}_{32}&1\\...&...&...&...&0\\{l}_{n1}&{l}_{n2}&{l}_{n3}&...&1\end{bmatrix}\\ \mathbf{D}=\begin{bmatrix}d_1\\&d_2\\&&...\\&&&&d_n\end{bmatrix}
A=LDLTL=???????1l21?l31?...ln1??1l32?...ln2??1...ln3??......?01????????D=?????d1??d2??...??dn???????
3.7 三对角方程组追赶法
Crout分解。
四.矩阵的条件数及误差分析
4.1 条件数
C
o
n
d
(
A
)
=
∥
A
∥
∥
A
?
1
∥
≥
1
Cond(\mathbf{A})=\mathbf{\Vert A\Vert\Vert A^{-1}\Vert}\ge1
Cond(A)=∥A∥∥A?1∥≥1 特别的,由矩阵二范数定义的条件数为矩阵的谱条件数:
C
o
n
d
2
(
A
)
=
∥
A
∥
2
∥
A
?
1
∥
2
Cond_2(\mathbf{A})=\mathbf{\Vert A\Vert_2\Vert A^{-1}\Vert_2}
Cond2?(A)=∥A∥2?∥A?1∥2?
五.线性方程组的迭代解法
六.梯度法
|