View
341
Download
2
Category
Preview:
DESCRIPTION
第三节 用矩阵分解法求解线性方程组. 七、 三对角方程组的解法. lupdsv.m % 功能:调用列主元三角分解函数 [LU,p]=lupd(A) % 求解线性方程组 Ax=b 。 % 解法: PA=LU, Ax=b←→PAx=Pb % LUx=Pb, y=Ux % Ly=f=Pb, f(i)=b(p(i)) % 输入:方阵 A ,右端项 b (行或列向量均可) % 输出:解 x (行向量). function x=lupdsv(A,b) n=length(b); [LU,p]=lupd(A); - PowerPoint PPT Presentation
Citation preview
数值分析
数值分析
第三节 用矩阵分解法求解线性方程组
A LU Ax b 一、利用三角分解 求解
PA LU Ax b 二、用列主元的三角分解 求解
TPAQ LU Ax b 三、用全主元的三角分解 求解
TCholesky A LL Ax b 四、利用 分解 求解
A QR Ax b 五、利用正交分解 求解TA U V Ax b 六、利用矩阵奇异值分解 求解
七、 三对角方程组的解法
数值分析
数值分析
A LU
A LU Ax b
LY
Ax b
bLUx b
Ux Y
设已有 代入一、利用三角分解
得求解原方程
1 2
1 1
1
1
,
( , , , )
:
( 2,3, , )
Tn
k
k k kj jj
LY b
Y y y y
y b
y b l y k n
第 求解下三角方程组 向前回步 代一 求出
nnnnnn b
b
b
y
y
y
lll
ll
l
2
1
2
1
1,21
3231
21
1
1
1
1
1
数值分析
数值分析
nnnn
n
n
kk
n
kjjkjkk
nnnn
y
y
y
x
x
x
u
uu
uuunnk
uxuyx
uyxxYUx
2
1
2
1
222
11211
1
)1,,2,1(
)(
,: 向后回代求出求解上三角方程组第二步
数值分析
数值分析
0 1 1 2 0
1 0 0 1 2
2 1 0 1 1
1 3 0 1 6
A b
Ax=b用列主元三角分解求解
其中
例:
PA LU
LY PbAx b PAx Pb LUx
x
U
b
bx
A
PY
二、用列主元的三角分解 求解
1 1
1 1
3, 1
0 0 1 0 2 1 0 1
0 1 0 0 1 0 0 1
1 0 0 0 0 1 1 2
0 0 0 1 1 3 0 1
i i
P P A
解:
数值分析
数值分析
1 1 1
2 1 0 11
31 11 02 2 20 1 1 1 2
1 7 11 02 2 2
L L P A
2 2
2 2 1 1
2 2 2 1 1
4, 2
2 1 0 11 0 0 0
7 100 0 0 1 2 21 1 20 0 1 0
30 1 0 0 1 02 2
2 1 0 117 101 2 2
2 1 130 17 71 1 110 07 7
i i
P P L P A
L L P L P A U
数值分析
数值分析
1 12 1 2 2
1
1 1220 17
1 1 0 12 7
L P L P L
1 1 1 1 1 12 2 1 1 1 1 2 2 1 1 2 2
2 1
1 1 1 1 1 12 1 1 1 2 2 2 1 2 2 2 1 2 2
,L P L P A U A P L P L U P L P L U
P P P
PA P P P L P L U P L P L U L P L P L
PA LU
令
,
数值分析
数值分析
1
2
(1 2 3 4) , (3 2 1 4) ,
(3 4 1 2) , (3 4 1 2)
,
( ) (
, ,
(1) ( (1)) (3), (2) ( (2)) (4)
(3) ( (3)) (1), (4) ( (4)
( )
) 2
)
( )
T T
T T
P
P P
P P
Ax b PA LU PAx Pb
LUx Pb f
f b P b f b P b
f b P b
f i b P
f b P b
i
为排列阵,在计算机中用向量表示
例
数值分析
数值分析
1 1
2 2
3 3
4 4
111
131 12 26,2 130 1 07 7
21 1 110 12 7 7
y y
y yLY Pb f
y y
y y
解 得
1 1
2 2
3 3
4 4
2 1 0 1
7 102 2130 1 07110 0 7
x x
x xUx
x x
x x
-11
132 2
解 = ,得 =137
1117
数值分析
数值分析
lupdsv.m
% 功能:调用列主元三角分解函数 [LU,p]=lupd(A)
% 求解线性方程组 Ax=b 。
% 解法: PA=LU, Ax=b←→PAx=Pb
% LUx=Pb, y=Ux
% Ly=f=Pb, f(i)=b(p(i))
% 输入:方阵 A ,右端项 b (行或列向量均可)
% 输出:解 x (行向量)
数值分析
数值分析
function x=lupdsv(A,b)
n=length(b);
[LU,p]=lupd(A);
y(1)=b(p(1));
for i=2:n
y(i)=b(p(i))-LU(i,1:i-1)*y(1:i-1)';
end
x(n)=y(n)/LU(n,n);
for i=(n-1):-1:1
x(i)=(y(i)-LU(i,i+1:n)*x(i+1:n)')/LU(i,i);
end
数值分析
数值分析
( ) ( )
T
TAx b PA
PAQ LU Ax
Q Qx Pb
b
LU Qx Pb
三、用全主元的三角分解 求解
lupqdsv.m
% 功能:调用全主元三角分解函数 [LU,p,q]=lupqd(A)
% 求解线性方程组 Ax=b 。
% 解法: PAQ-1=LU, Ax=b←→(PAQ-1)(Qx)=Pb
% LU(Qx)=Pb, z=Qx, y=Uz
% Ly=f=Pb, f(i)=b(p(i))
% Uz=y, z=Qx , x(q(i))=z(i).
% 输入:方阵 A ,右端项 b (行或列向量均可)
% 输出:解 x (行向量)
数值分析
数值分析
function x=lupqdsv(A,b)
n=length(b);
[LU,p,q]=lupqd(A);
y(1)=b(p(1));
for i=2:n
y(i)=b(p(i))-LU(i,1:i-1)*y(1:i-1)';
end
z(n)=y(n)/LU(n,n);x(q(n))=z(n);
for i=(n-1):-1:1
z(i)=(y(i)-LU(i,i+1:n)*z(i+1:n)')/LU(i,i);
x(q(i))=z(i);
end
数值分析
数值分析
,
T
n n
T T
Cholesky A LL Ax b
A R Cholesky
A LL LL x b
是对称正定的矩
四、利用 分解 求解
阵,有 分解式
代入原方程 可分成两步
1
( ) / , ( , 1, ,1)
T
n
i i ki k iik i
L x Y
x y l x l i n n
(2)求解上三角方程组
1
1
( ) / , ( 1, 2, , )i
i i ik k iik
LY b
y b l y l i n
(1)求解下三角方程组
数值分析
数值分析
1
2
3
T
T
Ax b QRx b Rx Q b
A QR
b Q b
Rx b
A QR Ax b
,于是可分成三
五、利用正交分
步()正交分解
( )矩阵乘法
( )回代求解上三角方程组
解 求解
3
3
1
32
3
n
n
这种方法没有选主元问题,计算稳定,但计算量略
大,消元法的计算量大约为 ,正交分解法的计算量
大约为 。
数值分析
数值分析
11 12 1 11 12 1
21 22 2 22
1 2
1
1
(1)
,
(2)
, 1,2, ,
(3)
, ( 1, , 2,1)( )
n n
n
n n nn nn
T
n
k ik ii
nn nn
n
nk kj j kkj k
A QRq q q r r r
q q q rQ R
q q q r
b Q b
b q b k n
Rx b
x b r
k nx b r x r
计算
回代求解
数值分析
数值分析
1
, 0, 1,2, ...,
T
n n
T
i
n
A R
A U
A U V Ax b
V
U V i n
对于 非奇异情况,此时有奇异值分解
其中 、 为正交
六、利用矩阵奇异
,
值分解 求
阵
解
1 1
1 2
1 1 1( , , ..., )T T
n
A V U V diag U
显然
1
1 2
1 1 1( , , ..., ) T
n
Ax b x A b
x V diag U b
于是,求解
可化为
数值分析
数值分析
定义 1 若 n 阶矩阵 A=(aij) 的元素满足 : 对于 1<p,q<n 的正整数 p 、q, 有 j≥i+p 及 i≥j+q 时, aij=0 , 则 A 称 为 带 状 矩 阵 . 带 宽 为w=p+q-1 。
nnnn
nnnnnn
aa
aaa
aaa
aa
A
,1,
,11,12,1
232221
1211
00
00
00
A 称为三对角矩阵。
较常见带状矩阵为带宽为 3 ( p=q=2,w=3) 的矩阵。
系数矩阵为三对角矩阵的线性方程组称为三对角方程组。
七、 三对角方程组的解法
数值分析
数值分析
三对角线性方程组
应用追赶法求解三对角线性方程组。追赶法仍然保持 LU 分解特性 , 它是一种特殊的 LU 分解。充分利用了系数矩阵的特点,而且使之分解更简单 , 得到对三对角线性方程组的快速解法。
dAx 用矩阵表示
1 1 1 1
2 2 2 2 2
1n
n n n n
b c x d
a b c x d
c
a b x d
数值分析
数值分析
定理 如果带宽为 w=p+q-1 的 n 阶带状矩阵 A 有 LU分解 :A=LU ,则 L 是带宽为 p 的下三角矩阵, U 是带宽为 q 的上三角矩阵。
11 1
22
1 1,
, 1
11 1
22
1 1,
, 1
0
0
01 0
1
0 1 0
q
p n q n
n n p nn
q
p n q n
n n p nn
a a
a
a a
a a
u u
ul u
l u
例:
数值分析
数值分析
1 1 1, 21 2
2
1
2 2 1 2 2 1 2, 2
,
,
b c a u
b l
u r l
ur u l c c r
1 1
1 1 1 1
2 2 2 2 2 2
3
1 1
, , ( 1, 2, , 1),
1
1
1
i i i
n n
n n
n n n n
A b c b c a i n
b c A LU
b c u r
a b c l u r
l
c r
a b l u
当 为三对角阵 且 ,
时, 有 分解展开式
1
1 1
, 2, 3, ,
, 2, 3, ,
, 2, 3, , 1
k k
k k k k k k
k
k
kk
a u k n
b l r u l c
l
ku
nr
n
c k
数值分析
数值分析
1 1 1, 21 2
2
1
2 2 1 2 2 1 2, 2
,
,
b c a u
b l
u r l
ur u l c c r
(1) (2) (3)A LU LY d Ux Y 追赶法的计算过程分为三步
1
1 1
, 2, 3, ,
, 2, 3, ,
, 2, 3, , 1
k k
k k k k k k
k
k
kk
a u k n
b l r u l c
l
ku
nr
n
c k
1 1
1 1
, ( 1, 2, , 1)2,3, ,
,
k k
k k k k k k k
u b r c k nk n
l a u u b l c
对
数值分析
数值分析
1 1
1 1
1 1
1
1
,
, ( 1,2, , 1)2,3, ,
,
( 2, 3, , )
( ) ( 1, , 2,1)
,
k k
k k k k k k k
k k k k
n n n
k n k k k
LY d
u b r c k nk n
l a u u b l c
y dy d l y k n
x y ux y c x u k
Ux
n
Y
求解三对角方程组的追赶法①计算分解因子阵
②求解
③求解
对
数值分析
数值分析
1 2
1 2
2 3 4
3 4
2 1
2 1
2 0
2 1
x x
x x
x x x
x x
例 求解方程组::
1 1
2 2 2
3 3 3
4 4
12 1
11 2
11 2 1
11 2
1 2 11 1 3 02 2
2 1 2 1331 1 22
u r
l u rA LU
l u r
l u
解:
数值分析
数值分析
求解 Ux=y , x4=0.3333, x3=-0.3333, x
2=-1, x1=-1
求解 Ly=b, y1=1, y2=1.5, y3=1, y4=0.5
数值分析
数值分析
周期三对角方程组的一般形式
基本思想:利用谢尔曼 - 莫里森公式( Sherman-Morrison) 将方程化为三对角方程求解。
Ax d矩阵表示
1 1 1 1
2 2 2 2 2
1 1 1 1 1n n n n n
n n n n
b c x d
a b c x d
a b c x d
a b x d
数值分析
数值分析
。非奇异且、非奇异其中
UAVUVAUAVRVURA
TT
Tnnn
1
1
,,01,,
1 11
1
TA UV A dx A d
1 11 1( )
1
TT A UV A
A UV A
谢尔曼 - 莫里森公式( Sherman-Morrison)
此方程组的解为莫里森公式,利用谢尔曼为三对角矩阵其中
化为使原方程组、选择向量
,)(
AdxUVA
dxAVUT
数值分析
数值分析
1 11
1
TA UV A dx A d
计算
1
1 1 ( )
T T
T T
V A U V Z
A UV A d V W Z
则
1
1
,
,
W A d AW d W
Z A U AZ U Z
令 由 可解出令 由 可解出
1
TV Wx W Z
数值分析
数值分析
,
,
( )
1 (
1.
)
2.T
T
AW d W
AZ U Z
V WX W Z
V Z
求出求
先解两个辅助方程组
利用谢尔曼 莫里森公式可求得原方程组的解出
数值分析
数值分析
TA A UV
如何选取 U,V
1 1
2 2 2
1 1 1
1 1 1
2 2 2
11 1 1
0
1 0 0
0
T
n n n
n n
n n n
n n
b c
a b c
A A UV
a b c
a b
b c b
a b c
ba b c
a b
数值分析
数值分析
1
1
1 1 1 1
( ,0, ,0, ) , (1,0, ,0, )
,
T T
n
n n
U b a Vb
b b
b b b b b b
选取
及 分别修改为
数值分析
数值分析
二版习题 P115----15 , 16
三版习题 P138----10 , 11
11 12 131
21 22 23
31 32 2,
1, 1 1,
, 2 , 1 ,
0
,
0
n n
n n n nn
n n n n n n
Ax b
a a ab
a a a
a a aA b
a ab
a a a
用矩阵分解法求解五对角方程组
其中
试推导求解公式。
Recommended