3.2.2 矩阵的doolittle分解
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
...
...
...
...
...
...
a(1) 11
... ...
a(1) 1k
...
...
a(1) 1n
...
A
ak1
...
...
akk ...
... ...
akn
...
lk1 ...
...
1 ...
...
a(k) kk
...
a(k kn
)
... ...
an1 ... ank ... ann ln1 ... lnk ... 1
a(n) nn
LU
也可以直接用比较法导出矩阵A的LU分解的计算公式。 上式可记为
a11 ... a1r ... a1n
...
...
...
...
1
...
...
u11
... u1r
...
u1n
... ...
...
A
ar1 ...
...
arr ...
... ...
arn ...
r
arj lrkukj k 1
j r,..., n r 1, 2,..., n
比较第r行
同样,由
a11 ... a1r ... a1n 1
...
...
...
...
Hale Waihona Puke Baidu
...
...
A
ar1
...
...
arr ...
... ...
arn
...
lr
1,1
...
...
1 ...
u1,n
u2,n
U
...
...
u u n1,n1 n1,n
unn
由上一节三角形方程组的知识,不难得到 Ly b 的解 :
y1 b1
y2 b2 l21 y1
r 1
yr br lrj y j j1
r 2,3,..., n
1
l21
1
L
l31
l32
... ...
ln1 ln2
3.2.2 矩阵的doolittle分解
Gauss消元法的消元过程实际上是对线性代数方程 组进行一系列初等行变换的过程。由线性代数知识知, 线性代数方程组的初等变换相当于对其增广矩阵实行 初等行变换,也即相当于增广矩阵左边乘以一个初等 矩阵。
定理3.12 若n阶方阵A的顺序主子式Dk det Ak 0,
k 1, 2,..., n 1, 则 A的LU分解式 A LU 存在且惟一
L是单位下三角矩阵
U一个上三角矩阵
若n阶方阵A (aij )nn的顺序主子式Dk 0, k 1, 2,..., n
则由前面的分析可知,A的LU分解A LU 存在且惟一,即
a11 ... a1k ... a1n 1
i 2,3,..., n
U的第一行 ------(1) L的第一列 ------(2)
r 1
urj arj lrkukj k 1
r 1, 2,..., n U的第r行 ------(3) j r,..., n
r 1
air likukr
lir
k 1
urr
r 1, 2,..., n 1 i r 1,..., n L的第r列 ------(4)
称上述(1) ~ (4)式所表示的分解过程为矩阵A的 Doolittle分解
思考
A的Doolittle分解 A LU 中 L 为单位下三角 阵,U 为上三角阵。如果将 A LU 中的L 表 示为下三角阵,U 表示为单位上三角阵, 则 称之为 Crout 分解,请找出类似于 (1) ~ (4) 式的表达式.
1
... ...
ln3 ... 1
因此再由Ux y 的解便得到 Ax b的解:
xn
yn unn
n
yr urj x j
lr1
...
...
1 ...
...
urr
...
urn
... ...
an1 ... anr ... ann ln1 ... lnr ... 1
unn
根据矩阵的乘法原理,
A的第一行元素a1
为
j
a1 j u1 j j 1, 2,..., n
比较第1行
A的第r行元素主对角线以右元素arj ( j r,..., n)为
end
对于线性方程组
Ax b
系数矩阵非奇异,经过Doolittle分解后
A LU
线性方程组可化为下面两个三角形方程组
Ly b
Ux y
y为中间未知量向量
1
l21
1
L
l31
l32
1
... ... ... ...
ln1 ln2 ln3 ... 1
u11
u12
u13
...
u22 u23 ...
...
an1 ... anr ... ann ln1 ... lnr ... 1
u11
...
u1r
...
u1n
... ...
...
urr
...
urn
... ...
unn
可知A的第r列元素主对角线以下元素 air (i r 1,..., n)为
r
air likukr k 1
i r 1,..., n r 1, 2,..., n 1
比较第r列
显然, r 1时 , ai1 li1u11 i 2, 3,..., n
综合以上分析,有
a1 j u1 j j 1, 2,..., n
r
j r,..., n
arj lrkukj
k 1
r 1, 2,..., n
r 1
for j=k:n u(k,j)=A(k,j)-l(k,1:k-1)*u(1:k-1,j);
end u(k,k:n)=A(k,k:n)-l(k,1:k-1)*u(1:k-1,k:n);
for i=k+1:n l(i,k)=(A(i,k)-l(i,1:k-1)*u(1:k-1,k))/u(k,k);
end l(k+1:n,k)=(A(k+1:n,k)-l(k+1:n,1:k-1)*u(1:k-1,k))/u(k,k);
arj lrkukj 1 urj k 1
因此可以推导出
ai1 li1u11 i 2, 3,..., n
r
i r 1,..., n
air likukr
k 1
r 1, 2,..., n 1
r 1
air likukr lirurr k 1
u1 j a1 j
li 1
ai 1 u11
j 1, 2,..., n
function [l,u]=lu_Doolittle1(A) % 求可逆矩阵的LU分解 % A为可逆矩阵,l为单位下三角矩阵,u为上三角矩阵 n=length(A); u=zeros(n); l=eye(n); u(1,:)=A(1,:); l(2:n,1)=A(2:n,1)/u(1,1); for k=2:n