矩阵的三角分解
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
... ... ... ... ...
0 ... 0
... 0
a1(1) n ( a 22 ) n ( a33 ) = U n ... (n a nn ) 1
因为 1 l L1 1 = 21 ... l n1 1 ... ... 1 1 1 L1 = l32 2 ... ln 2
左乘A( 2 ),即有 : L2 A( 2 )
0 0 2 ai(2 ) li 2 = ( 2 ) 0 a22 M 1 (1 (1 (1 a11) a12) a13) (2 (2 0 a22 ) a23) (3 = 0 0 a33) ... ... ... ( 0 0 an3) 3
(i = 3,4,..., n)
Doolittle分解
令 a11 a12 ... a1n 1 u11 u12 ... u1n a a22 ... a2 n l21 1 u22 ... u2 n 21 = M M O M M M O O M unn an1 an 2 ... ann ln1 ln 2 ... 1 用比较等式两边元素的方法逐行逐列求解L,U各元素
j = i +1
∑u
n
ij
x j ) / uii (i = n 1,...,2,1);
(4)输出:方程组的解xi (i = 1,2,..., n).
Crout分解 若矩阵A有分解:A=LU,其中L为下三角 阵,U为单位上三角阵,则称该分解为 Crout分解,若矩阵A的Doolitlle分解为 Crout A Doolitlle A=LU ,则矩阵AT的Crout分解为UTLT。 所以得到计算Crout分解的计算方法如下:
∑u
n
ij
x j ) / uii
T
i = n, n 1,...1
可获解x = ( x1 , x2 ,..., xn ) 。
例题
例1.试用Doolittle分解求解方程组. 5 6 x1 10 2 4 13 19 x = 19 2 6 3 6 x 3 30
2 5 6 x1 10 3 7 x = 1 2 4 x3 4 解得:x3 = 1, x2 = 2, x1 = 3 所以方程组的解为x = (3,2,1)T 。
Doolittle分解
(1)输入:aij (i, j = 1,2,..., n), bi (i = 1,2,..., n) (2)分解A = LU 1)ai1 ← li1 = ai1 / a11 (i = 2,3,..., n); 2)对k = 2,3,...n做 akj ← ukj = akj ∑ lkt utj ( j = k , k + 1,...n);
Crout分解
即
k 1 ( j = i + 1,..., n; i = 1,..., n) l ji = a ji ∑ l jt uti t =1 k 1 uij = (aij ∑ lit utj ) / lii ( j = i + 1,..., n; i = 1,..., n) t =1 各元素在计算机内存于A的各位
例题
1、分解LU = A,令 解: 5 6 1 0 2 4 13 19 = l 1 21 6 3 6 l31 l32 k =1 0 u11 u12 0 u22 1 u13 u23 u33
u11 = 2,u12 = 5,u13 = 6;
4 6 l21 = = 2,l31 = = 3。 u11 2
t =1 k 1
Doolittle分解
计算 l k + 1 k ,..., l nk 由于 i ≥ k ,于是由 u1k M u kk = [ l i 1 ..., l ik 1 ,1, 0 ... 0 ] = 0 M 0 l ik = ( a ik
a ik
u11 u12 ... u1n l u 22 ... u2 n 21 M M M M ln1 ln 2 ... u nn
Doolittle分解
再由Ly = b及Ux = yi = bi ∑ lij y j
j =1 i 1
y得
i = 1,2,..., n
xi = ( yi
j =i +1
由此解线性方程组Ax = b就等价于解两 个三角方程: Ly = b L(Ux) = b Ux = y 因此,关键问题在于能否对矩阵A直接进 行LU分解。
3.2.2 Doolittle分解
此分解在于如何算出L, U的各元素,以n = 3为例 a11 a12 a13 1 u11 u12 u13 a a22 a23 = l21 1 u22 u 23 21 u 23 a31 a32 a33 l31 l32 1 k = 1时:a1 j = u1 j ∴ u1 j = a1 j ( j = 1,2,3) 由 a21 = u11l21 由 a31 = u11l31 a21 得 l21 = ; u11 a31 得 l31 = u11
1 ... a1(n) ( ... a22 ) n ( 3) ( ... a33) = A n ... ... (3 ... ann)
以此类推可得
(1 a11) 0 Ln 1 Ln 2 ... L2 L1 A = 0 ... 0 (1 a12) (2 a 22 ) (1 a13) (2 a 23 ) (3 a33 )
t =1 k 1
aik ← lik = (aik ∑ lit utk ) / ukk (i = k + 1,..., n);
t =1
k 1
(3)解Ly = b和Ux = y 1) 2) y1 = b1 ; yi = bi ∑ lij y j (i = 2,..., n);
j =1 i 1
xn = yn / anm ; xi = ( yi
(1) (1) 1 a11 a12 ... a(1) a(1) ... l 1 22 21 21 l31 0 1 ... ... ... ...... ... ... ... ... ln1 0 0 ...... 1 a(1) a(1) ... n1 n2 L1 A(1)
k = 2时:a22 = l21u12 + u 22 由 a23 = l21u13 + u 23 由 a32 = l31u12 + l32u 23
得 u 22 = a22 l21u12; a32 l31u12 得 l32 = u 22
得 u 23 = a23 l21u13;
k = 3时:由a33 = l31u13 + l32u 23 + u33 得 u33 = a33 (l31u13 + l32u 23 )
∑l
t =1
k 1
it
u tk + l ik u kk
得
∑l
t =1
k 1
it
u tk ) / u ቤተ መጻሕፍቲ ባይዱk
( i = k + 1,... n )
Doolittle分解
即
k 1 ( j = k ,..., n; i = k + 1,..., n) ukj = akj ∑ lkt utj t =1 k 1 lik = (aik ∑ lit utk ) / u kk k = 1,2,..., n t =1 各元素在计算机内存于A的各位
Doolittle分解
k = 1时 : 由a1 j = 1× u1 j 再由ai1 = u11li1 k = 2时: 由a2 j = l21u1 j + 1× u2 j 再由ai 2 = li1u12 + li 2u22 得u 2 j = a2 j l2i u1 j ( j = 2,3,..., n); ai 2 li1u12 得li 2 = (i = 3,4,..., n)。 u22 得 u1 j = a1 j ( j = 1,2,...n); ai1 得 li1 = (i = 2,3,..., n)。 u11
Doolittle分解
第k步时:计算ukk , ukk +1 ,...ukn j≥k u1 j u 2j M k 1 akj = [lk1lk 2 ...lkk 110...0] u jj = ∑ lkt utj + u kj 0 t =1 M 0 有 u kj = akj ∑ lkt utj (j = k , k + 1,...n)
则 (1)行× (-l ) + (i)行
i1
i = 2,..., n,其矩阵形式为 3,
(1 (1 ... a1(1) a11 ) a12 ) ... n (1) 2 ... a 2 n a(22 ) ... ... ... = ... ... ... ... ... ... ... ... 1 ( ... a(nn) an2) ... 2 A( 2)
矩阵的三角分解
主讲 孟纯军
3.2 矩阵的三角分解法 我们知道对矩阵进行一次初等变换,就相 当于用相应的初等矩阵去左乘原来的矩阵。 因此我们这个观点来考察Gauss消元法用 矩阵乘法来表示,即可得到求解线性方程 组的另一种直接法:矩阵的三角分解。
3.2.1 Gauss消元法的矩阵形式
1 ai(1 ) (1 第1步等价于: a11) ≠ 0时,将(1) a31) an1) a21 , (1 ,..., (1 消零, 令li1 = (1) a11
例题
k = 2时:u22 = a22 l21u12 = 13 2 × 5 = 3, u23 = a23 l21u13 = 19 2 × (6) = 7 l32 = (a32 l31u12 ) / u22 = 4 k = 3时:u33 = a33 l31u13 l32u23 = 4 1 2 5 6 2 1 3 7 = LU 所以A = 3 4 1 4
Doolittle分解 若矩阵A有分解:A=LU,其中L为单位下 三角阵,U为上三角阵,则称该分解为 Doolittle分解,可以证明,当A的各阶顺 Doolittle A 序主子式均不为零时,Doolittle分解可以 实现并且唯一。
A的各阶顺序主子式均不为零,即
a11 ... a1k Ak = ... ... ... ≠ 0 (k = 1,2,...n) ak1 ... akk
1
所以
A = ( Ln 1 Ln 2 ...L2 L1 ) 1U = L11 L1...L1 2 L1 1U 2 n n
1 l 1 21 U = LU = l31 l32 1 ... ... ... O ln1 ln 2 ... lnn 1 1 其中L为单位下三角阵,U为上三角阵
Cruou分解
令 a11 a12 ... a1n l11 1 u12 ... u1n a l 1 ... u2 n 21 a22 ... a2 n = 21 l22 M M O M M M O O M an1 an 2 ... ann ln1 ln 2 ... lnn 1 用比较等式两边元素的方法逐行逐列求解L,U各元素
... a1(1) n ( 2) ... a 2 n ... ... ... ... 2 ... a(nn )
(2 同理第2步等价于:若a22 ) ≠ 0时,用矩阵
0 0 ... 1 0 1 0 ... L2 = 0 l32 1 ... ... ... ... O 0 ln 2 0 ...
例题
2、解方程组 ( )解Ly = b 1 1 y1 10 2 1 y = 19 2 3 4 1 y3 30 得y1 = 10, y2 = 19 20 = 1, y3 = 34 30 = 4 即 y = (10,1,4)T
例题
( 2) 解Ux = y