第七章__矩阵分解
1
1 || 1 ||2
(0.8, 0.4, 0.4, 0.2)T
2 2 (2,1 )1 (0.4, 0.8, 0.8,1.6)T
2
2 || 2 ||2
(0.2, 0.4, 0.4, 0.8)T
3 3 (3 , 1 )1 (3 , 2 ) 2 (0,1, 1, 0)T
3
3 || 3 ||2
因此 Q% 是列正交单位矩阵,且有
A Q%R
对列满秩的长方阵,Q%也可以是方阵。
定理4 (完全QR分解)设 n闯k (n k) 阶矩 阵 A 是列满秩阵,则必存在 k 阶非奇异上三
角矩阵 R 和 n 阶酉矩阵或正交矩阵 Q ,使
得矩阵 A 具有完全QR分解
得矩阵 A 具有约化QR分解
A Q%R
注意 A 的QR分解不是唯一的!!!
证明: 由题,对任意 x ,都有 Ax
因此 xH AH Ax ( Ax)H Ax 0
所以矩阵 A 是正定Hermite矩阵。从而存在唯
一的上三角矩阵 R ,使得
AH A RH R
令 Q% AR1 ,则 Q%HQ% RH RH RR1 I
R23
(
1 5
) R13
(1) R12
(3)
A
U
.
A
[ R23
(
1 5
)
R13
(1)
R12
(
3)]1U
[
R12
(
3)]1[
R13
(1)]1[
R23
(
1 5
)]1U
LU
R12
(3)
R13
(
1)
R23
(
1 5
)Q
1 0 0 1 2 1
3
1 0 0 5
3
1 1/ 5 1 0 0 12 / 5
一、再谈Gram-Schmidt方法
可逆阵 A 的列向量组 1,2,L ,n 构成欧氏空 间 R( A) 的一个基。而 Gram-Schmidt方法实 际上就是寻找正交向量序列 1, 2,L , j ,使得
span(1,2,L , j ) span(1,2,L , j )
即有
(1,2 ,L
,n ) (1,2,L
L
L11
2 3 1 3
1
1 2
0
1
所以 PA LU
1
2 3 1 3
0 1
1 2
0 3 0 0
1 0
5
2 3
0
6
1
1 2
需要指出的是,在Matlab中使用函数lu计算例 4和例7,例7的结果一致,但例4的结果不同。 这是因为, Matlab中lu函数的实现算法是列 选主元法,而前面例4的算法则未选主元。
§1、矩阵的LU分解
许多分解源自十九世纪对二次型和双线性型的 研究。LU分解源自Gauss处理表示最小二乘问 题的对称正定系统时所使用的消元法,确切地 说,Grass使用的是分解 A LDL T 。 对于双线 性型,则归功于Jacobi(1857)。Dwyer(1944) 最早注意到消元法与其矩阵表示间的联系。
0 1
12 5
x3
4 5
x1
2 x2
x2
1 3 0
x3
1 3
(2)
x1 x2
1 3 0
x3 1 3
(II )
用矩阵形式表示,系数矩阵
1 2 1 r12 (3) 1 2 1
A
3
1
0
0 5
3
1 1 2 r13 (1) 0 1 3
r23
(
1 5
)
1 2 1
0 5
3
U
0 0 12 / 5
角矩阵 L 与一个上三角矩阵 U 的乘积
A LU
则称其为 A 的 LU 分解或三角分解。
什么样的矩阵才有LU 分解呢?我们先考虑可逆 方阵。
设有 A = LU ,则 0 ? det A det L?detU detU 将 A = LU 分块为
A11
A21
A12 A22
L11 L21
O U11
L1
3
1 0 ,U 0 5
3
2 / 5 1 / 5 1 0 0 12 / 5
因为
1 0 0
L
L11
3
1 0
1 1 / 5 1
所以 A LU
1 0 0 1 2 1
3
1 0 0 5
3
1 1 / 5 1 0 0 12 / 5
推论5 ( LDU分解定理 )
如果方阵 A 的顺序主子式
Δk ? 0 (k 1, 2,L , n)
这就是Gauss提出消元法100多年后才被Dwyer 注意到的 LU 分解:
A LU
据此,有
Ax LUx L(Ux) b
因此可通过求解两个特殊的三角方程组
Ly b,Ux y 来求解线性方程组 Ax b ,这就是数值软
件中采用的方法。
二、矩阵的LU分解(Decomposition)
定义2 如果方阵 A 可以分解成一个单位下三
rj
j
可用矩阵表示为
Aj Qj Rj ( j 1, 2,L , n)
这说明列满秩的长方阵也存在QR分解。
例 1 利用Gram-Schmidt方法将下列矩阵进行 QR分解:
4 2 1
A
2
0
1
2 0 1
1
2
1
解: 1 (4, 2, 2,1)T , 1 1 (4, 2, 2,1)T
在标准Gram-Schmidt方法中,1,2,L , n 是逐 步计算出来的,需要计算 j 时,才用到 j ,
此前不需要改动 j 的值。遗憾的是Gram-
Schmidt迭代方法在数值上是不稳定的。
幸运的是,一个简单修正就可以使问题得到改进, 这就是Modified Gram-Schmidt(MGS)方法。
一、从Gauss消元法说起
例 1 求解线性方程组
x1 2 x2 3 x1 x2
x3
0 1
(I)
x1 x2 2x3 1
解:
(I ) (3) 1
x1 2 x2 x3 5x2 3x3
0 1
x2 3x3 1
1 5
(
5 12
)
3 5
x1 2x2 x3 5x2 3x3
L22
O
U12
U22
L11U11
L21U11
L11U12
L21U12
L22U22
因此
det A11 det( L11U11 )
det L11 det U11
1 det U11 det U11 0
考虑到分块矩阵 A 1 1 阶数的任意性,因此上 述结论对矩阵 A 的任意顺序主子式都成立。
则存在唯一的单位下三角矩阵 L 、唯一的单位
上三角矩阵U 以及对角矩阵 D ,使得
A LDU
当矩阵 A 仅为可逆方阵时,我们可以先通过排 列矩阵对 A 的行进行重排,然后就可以使用LU
分解了。 定理6 (列主元LU分解定理 )
对可逆方阵 A ,存在排列矩阵 P ,单位下三 角矩阵 L 与上三角矩阵 U ,使得
么矩阵 L 可逆,即存在可逆矩阵 L1 ,使得 L1 L I
从而 L1 A L1LU U
L1( A, I ) ( L1 A, L1 ) (U , L1 )
这说明,通过行初等变换求出 U 和 L1 后,就
可求出单位下三角阵 L1 的逆矩阵 L 。
例 4 求下列矩阵的LU 分解:
1 2 1
对于任意方阵,甚至长方阵,也有类似结论。例
如对长方阵
1 2
A
3
4
5 6
存在列主元LU分解
0 0 1 1 2 1 0
1
0
0 1
0
3
0 5
4
0.2
6 0.6
1
0.5
5 0
6
0.8
例 8 验证分块矩阵的LDU 分解(即Schur补):
(1) 主子矩阵 A 可逆时,成立
A
3
1
0
1 1 2
解:
1 2 1 1 0 0
( A,
I)
3
1
0 0 1 0
1 1 2 0 0 1
1 2 1 1 0 0 0 5 3 3 1 0 0 1 3 1 0 1
1 2 1 1 0 0
0 5
3
3 1 0
0 0 12 / 5 2 / 5 1 / 5 1
从而得 L1 A U , 这里
1 0 0 1 2 1
那么,这个结论是否也是充分的呢?
定理3 ( LU分解定理 )
如果方阵 A 的各阶顺序主子式
Δk ? 0 (k 1, 2,L , n)
则存在唯一的主对角线上元素全为1的下三角矩
阵(称为单位下三角矩阵) L 与唯一的非奇异
上三角矩阵 U ,使得
A LU
根据 LU 定理,如果存在分解 A LU ,那
A B I OA O I
C
D
CA1
I
O
D
CA1B
O
(2) 右下角的子矩阵 D 可逆时,成立
A1B
I
A B I BD1 A BD1C O I O
C
D
O
I
O
D
D1C
I
定理9 ( Cholesky分解定理 )
如果Hermite阵 A 的顺序主子式
Δk ¹ 0 (k = 1, 2,L , n- 1)
则存在唯一的单位下三角矩阵 L 与唯一的实对