研究生数值分析 直接三角分解法

合集下载

研究生数值分析(8)直接三角分解法

研究生数值分析(8)直接三角分解法
§2 直接三角分解法
三角分解法也是直接法,基本思想是: 将系数矩阵A分解为两个三角形矩阵L和U的 乘积A=LU ,将方程组AX=b的求解问题归结为 两个三角形方程组 LY=b与UX=Y的求解问题。
即:先由LY=b求出Y ,然后由UX=Y求出X , 从而获得AX=b的解。
(1) A为一般稠密(零元素占很小比例)矩阵 的杜利特尔(Doolittlr)和克劳特(Crout)分解法;
1 0 0
3

7

2
2 2

1 12
7 6

1

0
0
16

3
等价的三角方程组为


12


3 3 2
3 7
2

x1

x2


15

15

2

16


x3

16
an1
bn1
cn1


xn1


fn1

an bn xn fn
其中方程组AX=f 的系数矩阵A的元素满足条件:
b1 c1 0

bi ai ci

bn

an
0
(1) 且 aici 0
(i 2,3, , n 1)
由以上推导过程知,方程组AX=f 有唯一解
由(3)式可得计算 i 的递推公式
1i

c1 ci
/ b1 /(bi

ai i1)
(i 2,3,
(4)

数值分析课程课件 直接三角分解方法

数值分析课程课件  直接三角分解方法


u22
u11
u2n



l n1 l n2
1

unn


a11 a12 a 21 a22
a1n
a2n


u11 l21u11
u12 l21u12 u22
u1n

l21u1n

u2n


a n1 a n2
ann
ln1u 11
由(5.3.1)- (5.3.4)求得L和U后,解方程组Ax=b 化为求解LUx=b,若记Ux=y,则有Ly=b。于是可分两部解 方程组LUx=b,只要逐次向前代入的方法即可求得y。第
二步求解Ux=y,只要逐次用向后回代的方法即可求得x。 设 x=(x1 ,x2, ···xn) T, y=(y1, y2, ···yn) T,
n

i1
lniuin

unn

第四章方程组的直接解法
由A的第1行和第1列可计算出U的第1行和L的第1列,即
u1 j a1 j , j 1, 2, , n,
(5.3.1)
lk1

ak1 u11
,k

2, 3,
, n.
(5.3.2)
如果U的第1至k-1列和L的第1至k-1列已经算出,则由
解 设 A=LU,即
l11 a11 1, l21 a21 2, l31 a31 0
u12

a12 l11
2, u13

a13 l11
1,

l22 a22 l21u12 3, l32 a32 l31u12 1

ch7-3直接三角分解法_数值计算方法

ch7-3直接三角分解法_数值计算方法

Y:
y 1
b1
k 1
y b -
k
k
lkj y j
j 1
k 2, 3, , n
注意 yk的求法与uij相同,故可用紧凑格式。
三、直接三角分解法
u11 u12 u13
Ux
u22 u23
O
x:xn
y n
unn
u1n x1 y1
u2n unn
x2 xn
y2 yn
Li U j
li1,li2 ,li3 ,
lii1 ,1,0,
,0
u
jj
aij
0
第j个分量
0
n
mini , j
aij lik ukj
lik ukj
k 1
k 1
二、矩阵的三角分解
根据矩阵乘法及相等的定义,有
n
1
a1 j
l1k ukj
l1k
ukj
l 11
u1
Ux y
Ly
b
于是可首先求解向量y使 Ly=b
然后求解 Ux=y,从而达到求解线性方程组 Ax=b的目 的.
三、直接三角分解法
1 0 0
0 y1 b1
l21 1 0
0 y2 b2
Ly
l31
l32
1
0
y3
b3
l
n1
ln2
ln3
ln n1
1
yn
bn

A
8
7
2
10
4 8 3 6
提示
12 6 11 20
作LU分解
4 2 1 5
A
8

数值分析第5章4-5节

数值分析第5章4-5节
差的累积. k1 如果 非A奇异,可通过交换 的A行实现矩阵 的PA分解L.U
2021/8/24
9
采用与列主元消去法类似的方法,将直接三角分解法修 改为(部分)选主元的三角分解法.
设第 r步分1 解已完成,这时有
u11
l21
A lr 1,1
lr1
ln1
u12 u22
lr 1,2 lr 2
k i1
由计算公式1知
所以
j
a jj
l
2 jk
k 1
(i 1,2,, n),
2021/8/24
22
于是
l
2 jk
a jj
max{a
1 jn
jj
},
max{l j,k
2 jk
}
max{a
1 jn
jj }.
这个结果说明,分解过程中元素 l jk l jj 恒为正数.
于是不选主元素的平方根法是一个数值稳定的方法.
2021/8/24
12
arr urr sr
air lir si /urr air / arr (i r 1,,n, 且r n)
r1
ari uri ari lrkuki
(i r 1,,n, 且r n)
k 1
求解 Ly b, Ux y. 2. 对于 i 1,2,, n 1
(1) t Ip(i) (2) 如果 则i转(3t )
3
A 2 1 0 0 1 4 LU.
3 5 1 0 0 24
按(4.4)求解 Ly (14,18,20)T , 得 y (14,10,72)T ,
求解
U x (14,10,72)T ,
y1 b1;
i1

数值分析第4讲矩阵的三角分解法

数值分析第4讲矩阵的三角分解法

a1 b1
1
1 1
c2
a2
cn
bn1 an
2
2
n
n
1
n 1
1
ii
ci ai
, i 2,
ci i1 ,
,n i 1,
,n
i bi i , i 1, , n
, c1 0
yi
(
fi
ci yi1)
i
xi yi i xi1 ,
, i 1, , n
i n, ,1 (n 0)
r 1
这时lir 1
ari uri ari lrkuki (i r 1, , n, r n) k 1
数值分析
求解Ly=Pb及Ux=y的算法:
2. 对i 1,2, ,n 1,
(1) t Ip(i) (2) 如果i t则转(3)
bi bt
(3) 继续循环
i 1 3. bi bi lik bk (i 2,3, , n)
bi lij y j
yi
j 1
lii
, i 1, , n
n
xi yi uij x j , i n, ,1 j i 1
数值分析
数值分析
定理2.4 若矩阵A非奇异,则存在置换矩阵Q, 使得QA可以作Doolittle分解
QA=LU 其中L是单位下三角矩阵,U是上三角矩阵。
数值分析
选主元直接三角分解法
数值分析
所以,有计算过程如下:
i ai ci i1
i
yi
bi
i
( fi
ci
yi 1 )
i
xk yk k xk1 ,
1 2 n和y1 y2 yn 为追;xn xn1 x1为赶.

2.4直接三角分解法

2.4直接三角分解法

§4 直接三角分解法 一、教学设计1.教学内容:Doolittle 分解法、Crout 分解法,紧凑格式的Doolittle 分解法、部分选主元的Doolittle 分解法。

2.重点难点:紧凑格式的Doolittle 分解法、部分选主元的Doolittle 分解法。

3.教学目标:了解直接三角分解法的基本思想,掌握基本三角分解法及其各种变形。

4.教学方法:讲授与讨论。

二、教学过程在上节中我们用矩阵初等变换来分析Gauss 消去法,得到了重要的矩阵LU 分解定理(定理 3.1,3.2)。

由此我们将得到Gauss 消去法的变形:直接三角分解法。

直接三角分解法的基本想法是,一旦实现了矩阵A 的LU 分解,那么求解方程组b x =A 的问题就等价于求解两个三角形方程组 (1)b y =L ,求y ; (2)y x =U ,求x 。

而这两个三角形方程组的求解是容易的。

下面我们先给出这两个三角形方程组的求解公式;然后研究在LU A =或LU PA =时,U L ,的元素与A 的元素之间的直接关系。

4-0 三角形线性方程组的解法 设⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=nn n n l l l l l l L21222111, 11121222n n nn u u u u u U u ⎡⎤⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥⎣⎦则b y =L 为下三角形方程组,它的第i 个方程为),2,1(11,22111n i b y l y l y l y l y l ii ii i i i i i ij j ij ==++++=--=∑假定0≠ii l ,按n y y y ,,,21 的顺序解得:⎪⎪⎩⎪⎪⎨⎧=+-==∑-=),,3,2(/111111n i l b y l y l b y ii i i j j ij i上三角形方程组y x =U 的第i 个方程为),2,1(11,n i y x u x u x u x u in in i i i i ii nij j ij ==+++=++=∑假定0≠ii u ,按121,,,,x x x x n n -的顺序求解得:⎪⎪⎩⎪⎪⎨⎧--=+-==∑+=)1,2,,2,1(/1n n i u y x u x u y x ii i n i j j ij i nnn n4-1 基本的三角分解法设矩阵n n ij a A ⨯=)(的各阶顺序主子式均不为零,由定理3.1,A 有LU 分解如下⎥⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎢⎣⎡nn nrn n rn rrr r n rn ra a a a a a a a a a a a a a a a 2121222221111211 LU u u u u u u u u u u l l l l l l nn rn rrn r n r nrn n r r =⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎣⎡⎥⎥⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎢⎢⎣⎡= 22221112112121211111比较等式两边的第1行上的相应元素,得U 的第1行元素:),,2,1(11n i a u i i == (4.4)比较等式两边的第1列上的相应元素(从第2开始),得L 的第1列元素:),,3,2(1111n i u a l i i ==(4.5) 比较等式两边的第2行上的相应元素(从第2开始),得i i i u u l a 21212+=故得U 的第2行元素:),,3,2(12122n i u l a u i i i =-=比较等式两边的第2列上的相应元素(从第3开始),得2222121i i i a u l u l =+,得L 的第2列元素:),,4,3(2212122n i u u l a l i i i =-=假设已求得U 的第1至1-r 行,L 的第1至1-r 列,比较等式两边的第r 行上的相应元素(从第r 开始),得rnrn n r r r n r n r r r r r r r r r r r r r rrrr r r r r r r r r a u u l u l u l a u u l u l u l a u u l u l u l =++++=++++=++++--+++--++--,11,22111,1,1,11,1,221,11,11,2211即),,1,(11n r r i a u u l riri r k ki rk +==+∑-=故得U 的第r 行元素:),,3,2;,,1,(11n r n r r i u l a u r k ki rk ri ri =+=-=∑-= (4.6)比较等式两边的第r 列上的相应元素(从第1+r 开始),得nrrr nr r r r n r n r n r r rr r r r r r r r r r r r r rr r r r r r r r r r r a u l u l u l u l a u l u l u l u l a u l u l u l u l =++++=++++=++++--++--+++++--+++,11,2211,2,2,11,222,211,2,1,1,11,122,111,1即),,2,1(,11n r r i a u l u l ir rr ir r k kr ik ++==+∑-=故得L 的第r 列元素:)1,,3,2;,,2,1(,11-=++=-=∑-=n r n r r i u u l a l rrr k krik ir ir (4.7)称由(4.4)-(4.7)式所表示的矩阵分解为Doolittle 分解。

数值分析矩阵的三角分解

数值分析矩阵的三角分解
= 2 1 0 0 1 0 1 0
1 0 0 = 2 1 0
1 1 1
0 0 1 0 1 1
数值分析
数值分析
记 A A(1) a1M(11)
... O
a1M(1n)
1(1)
,
(1) 2
,
...,
(1) n
an(11)
...
a(1) nn
第一步:设a1(11) 0, 取mi1 aa((1i1111)), i 2, ..., n
j
0
L
010L
0
M
ln j
数值分析
数值分析
1
Lj
I
l jeTj
O 1 1 l j1 j 1
M
O
ln j
1 0 0 0
L2
0 0
0
1 l3,2 l4,2
0 1 0
0 0
I
l 2e2T
1
1
数值分析
数值分析
Gauss变换阵的性质:
1
O
1
1. Lj1 I l jeTj
m21
M
mn1
1 O
a(1) 11 M
... O
1
a(1) n1
...
a1M(1n)
a(1) nn
a1(11)
L1 A(1)
a(1) 12
L
a(2) 22
L
MO
a(2) n2
L
a(1) 1n
a(2) 2n
M
A( 2 )
1(
2
)
,
(2 2
)
,
...,
(2) n
0
3

高斯列主元消去法和直接三角分解法(LU分解)

高斯列主元消去法和直接三角分解法(LU分解)

实验六高斯列主元消去法和直接三角分解法(LU分解)一、实验名称:分别用高斯列主元消去法和直接三角分解法(LU分解)求方程组的解系数矩阵:10 7 8 7 常向量:107 5 6 5 88 6 10 9 67 5 9 10 7精确解为:(-60,102,-27,16)二、试验目的:分别用高斯列主元消去法和直接三角分解法(LU分解)求方程组的解,比较二者不同的特点。

三、算法描述:2、直接三角分解法(LU分解)四、源程序:1、高斯列主元消去法#include <stdio.h>void main(){float a[4][4]={{10,7,8,7},{7,5,6,5},{8,6,10,9},{7,5,9,10}}, y[4],c[4][4],x[4],d[4],m,b; int i,n,j,f;printf("请输入右端项:\n");for(i=0;i<=3;i++)scanf("%f",&y[i]);for(n=0;n<=2;n++){ m=a[n][n]; f=n;for(i=(n+1);i<=3;i++){if(m<a[i][n]){m=a[i][n]; f=i;}}if(f!=n){for(j=0;j<=3;j++){c[n][j]=a[n][j]; a[n][j]=a[f][j];a[f][j]=c[n][j];}d[n]=y[n]; y[n]=y[f]; y[f]=d[n];}for(i=(n+1);i<=3;i++){b=-a[i][n]/a[n][n];for(j=0;j<=3;j++)a[i][j]=a[n][j]*b+a[i][j];y[i]=y[n]*b+y[i];}}x[3]=y[3]/a[3][3];x[2]=(y[2]-a[2][3]*x[3])/a[2][2];x[1]=(y[1]-a[1][3]*x[3]-a[1][2]*x[2])/a[1][1];x[0]=(y[0]-a[0][3]*x[3]-a[0][2]*x[2]-a[0][1]*x[1])/a[0][0];printf("x1的值为%f\nx2的值为%f\nx3的值为%f\nx4的值为%f\n",x[0],x[1],x[2],x[3]);}2、直接三角分解法(LU分解)#include <stdio.h>void main (){float a[4][4]={{10,7,8,7},{7,5,6,5},{8,6,10,9},{7,5,9,10}},y[4], l[4][4],x[4],u[4][4],b[4]; int i,n,j;printf("请输入右端项:");for(i=0;i<=2;i++)scanf ("%f",&b[i]);for (i=0;i<=3;i++){ u[0][i]=a[0][i];l[i][0]=a[i][0]/u[0][0];}for (n=1;n<=2;n++){for(j=0;j<=(3-n);j++){u[n][n+j]=a[n][n+j];for (i=0;i<n;i++)u[n][n+j]=u[n][n+j]-l[n+j][i]*u[i][n]; }if (n=1){l[2][1]=(a[2][1]-l[2][0]*u[0][1])/u[1][1]; l[3][1]=(a[3][1]-l[3][0]*u[0][1])/u[1][1]; } else if (n=2){l[3][2]=(float)(a[3][2]-l[3][0]*u[0][2]-l[3][1]*u[1][2])/u[2][2]; } }for (n=0;n<=3;n++){y[n]=b[n];for (i=0;i<n;i++)y[n]=y[n]-l[n][i]*y[i]; }for (n=3;n>=0;n--){x[n]=y[n];for (i=3;i>n;i--)x[n]=(x[n]-u[n][i]*x[i]);x[n]=x[n]/u[n][n]; }for(i=0;i<=3;i++)printf("x%d的的值为:%f\n",i+1,x[i]); }五、输出结果1、高斯列主元消去法(1)请输入右端项:10 8 6 7X1的值为-59.999584X1的值为101.999306X1的值为-26.999817X1的值为15.999890(2)请输入右端项:5 6 7 8X1的值为-98.999306X1的值为163.998840X1的值为-40.999695X1的值为24.999817六、对算法的理解和改进改变右端项会对结果产生明显的影响,高斯列主元消去法仅考虑依次按列选取主元素,然后按行使之变到主元位置,再进行消去运算,消元结果冲掉A,计算解X冲掉常数项b,则在计算过程中由于右端项的不同解必然不同。

第2节 直接三角分解方法

第2节  直接三角分解方法

ln2 ln3
u11 u12 u1n u22 u2 n unn
a11 a12 a 21 a22 a n1 a n 2
a1n a2n a nn

u11 u12 l 21 u22 l n1 l n 2
(5.3)
i 1 uij a ij l im umj , m 1 i 1 1 l ki ( a ki l km umi ), uii m 1
j i , i 1, , n
(5.4)
k i 1, , n
y1 b1 k 1 yk bk l ki yi , k 2,3, , n i 1 x n yn / unn n x y i uij x j uii , i n 1, n 2, ,1 i j i 1
比较等式两端第二行元素,有
a2 i l21u1i u2 i , 即 u2 i a2 i l21u1i , i 2, 3, , n
比较等式两端第二列元素,有
ai 2 li 1u12 li 2 u22 , 即 li 2 (ai 2 li 1u12 ) / u22 , i 3,4,, n
下面介绍矩阵三角分解的Doolittle分解方法。
A LU
根据 A=LU 有等式成立:
a11 a12 a1n a a22 a 2 n 21 an1 an 2 a nn
1 l 1 21 l 31 l 32 1 l n1 l n 2 l n 3 1
4 x1 y1 2 6 12 x2 y2 0 6 24 x3 y3 0 0 24 x4 y4 2 3

研究生数值分析(8)分解

研究生数值分析(8)分解

b1 bk
k 1
lkj
yj
j 1
(k 2,3,
(5)
, n)
xn
xk
yn / unn (yk
n
ukj xj ) / ukk
j k 1
(6)
(k n 1,n 2, ,1)
杜利特尔矩阵分解 求解线性方程组的过程为: 10 实现A=LU分解,即
(a)按计算公式(1),(2)依次计算U的第1行元素
(i k, k 1, , n) (3)
k 1
lik (aik liju jk ) / ukk j 1
(i k 1, , n; k n) (4)
在我们利用杜利特尔矩阵分解解线性方程 组AX=b时,只要实现矩阵分解A=LU,依次解三角 形方程组LY=b与UX=Y即可。
计算公式:
y1
yk
u1i (i 1, 2, , n) 与L的第1列元素 li1 (i 2,3, , n)
(b) 对k+2,3,…,n 按计算公式(3),(4)依次
计算U的第k行元素 uki (i k, k 1, , n) 与L的第
k列元素 lik (i k 1, , n; k n)
20 求解三角形方程组LY=b,即按计算公
若U为单位上三角阵(对角元都是1的上三角阵),
L为下三角阵,则称为克劳特(Crout)分解。
下面分析实现矩阵杜利特尔(Doolittle)分解和克 劳特(Crout)分解的条件,讨论这些分解的唯一性。
定理2 (矩阵三角分解基本定理)
设 A Rnn 。若A的顺序主子式
det( Ak ) 0
(k 1, 2, , n)
li,k 1
lik
ln,k 1

52直接三角分解法

52直接三角分解法

思考
A的Doolittle 分解A ? LU中L为单位下三角阵 U 为上三角阵,如果将 A ? LU中的L表示为下三 角阵,U 表示为单位上三角阵 , 请找出 Crout分解 类似于 (1) ~ (4)式的表达式 .
9
对于线性方程组
Ax? b
系数矩阵非奇异 ,经过Doolittle分解后
A ? LU
显然 , r ? 1时 , a i1 ? li1u11 i ? 2,3,? , n
7
综合以上分析 ,有
a1 j ? u1 j j ? 1,2,? , n
?r
j ? r ,? ,n
arj ? lrk ukj
k?1
r ? 1,2,? , n
a i1 ? li1u11
i ? 2,3,? , n
r
? a ir ? likukr k?1
?? ??u11 ?
?? ?
? ?
?? ?
1???
? ??
u1r ? ?
urr ? ?
u1n ?? ??
urn
? ?
??
unn ??
根据矩阵的乘法原理 , A的第一行元素 a1 j为
a1 j ? u1 j j ? 1,2,? , n
A的第 r 行元素主对角线以右元 素arj ( j ? r ,? , n)为
a1n ?
?? ?
a kn ?
a nn
? ? ???
?
LU
5
上式可记为
?? ?
a 11 ?
? ?
A ? ?????aa?nr 11
? ?
a1r ? ? arr ? ?? anr ?
a1n ?
?? ?
?? ?

数值分析(05)矩阵的三角分解

数值分析(05)矩阵的三角分解
第四节 初等变换及矩阵的分解
一、初等变换阵 二、矩阵的三角分解
三、矩阵的正交分解
一、初等变换阵 1、初等变换阵的一般定义
定义 设U ,V R , R是实常数,
n
I 是n阶单位阵, 形如 E (U ,V ; ) I UV T 称为初等变换阵(初等矩阵).
(单位阵和一个秩1的矩阵之差 )
2 1 2 w1 2 w2 w1 H 2 wn w1
2 w1 w2 2 w1 w n 2 1 2 w2 2 w2 w n 2 2 wn w2 1 2 wn
(1)三角阵A R nn 当i j 时, aij 0, A为上三角阵; 当i j 时, aij 0, A为下三角阵. 若A为 上(下)三 角 阵 则A1是 上(下)三 角 阵 ;
反 证 法 : 若 奇 异 , 则 0有 非 零 解 A Ax 设 为x ( x1 , x2 ,..., xn )T 0 不 妨 设 i 0, 且xi 1, x j 1, j 1,...n, x
则aii aij x j 0
0 0 1 解:L2 0 2 0 3 1 0 0 1 L2 x 0 2 0 3 0 0 1 0 0 0 1 0 0 0 0 1 0 1 1 0 3 3 0 6 0 1 9 0
数值分析
(3)初等反射阵(Householder变换阵) 是初等变换阵
定义 设非零向量W R n ,W ( w1 , w2 , , wn )T , 且满足条件 W 2 1, 形如 H E (W ,W , 2) I 2WW T 的n阶方阵称为初等反射阵, 或称为Householder 变换阵.

5.2直接三角分解法

5.2直接三角分解法

yr −
华长生制作
xr =
j =r +1
∑u
n
rj
xj

u13 u23 O
L L u n −1 , n −1
u1 , n u2 ,n M u n −1 ,n unn
urr
r = n − 1, n − 2 , L ,2 ,1
11
上述解线性方程组的方法称为 直接三角分解法的 Doolittle法 例1. 用Doolittle法解方程组
可知A的第r列元素主对角线以下元 素 air (i = r + 1,L , n )为
air = ∑ lik u kr
k =1
r
i = r + 1,L , n
r = 1 ,2 , L , n − 1 i = 2 ,3 , L , n
7
显然 , r = 1时 , ai 1 = li 1u 11
华长生制作
华长生制作
9
对于线性方程组
Ax = b
系数矩阵非奇异,经过Doolittle分解后
A = LU
线性方程组可化为下面两个三角形方程组
Ly = b
y为中间未知量向量
1 l21 L = l31 M l n1
华长生制作
Ux = y
O L 1
1 l32 M ln 2
r = 1,2 , L , n − 1
a rj = ∑ lrk u kj + 1 ⋅ u rj
k =1
r −1
air = ∑ lik u kr + lir u rr
k =1
因此可以推导出
u 1 j = a1 j ai 1 li 1 = u 11

数值分析5-3 矩阵的三角分解法

数值分析5-3 矩阵的三角分解法

b1 c1
a2 b2 c2
A a3
cn1
an bn
1
1 1
a 22 2
1 2
a 33

n1
ann n
1
通过比较可得各参数,注意γi的取值。
注:追赶法的基本思想与高斯消去法及三角 分解法相同,只是由于系数矩阵中出现 了大量的零,计算中可以将它们撇开, 从而使计算公式简化。
u1n u11
un1,n
DU 0
un1,n1
1
其中D为对角阵,U0为单位上三角阵,于是
A LU LDU0

A
AT
U
T 0
(
DLT
)
由分解的唯一性得
L
U
T 0

A LDLT
原理2 (对称正定阵的三角分解定理)
设A为n阶对称阵,且A的所有顺序主子式均
大于零,则存在一个非奇异下三角阵 L 使
1 1 m32 (4) / 4
4 1 1 4 1 故由高斯消去法可得A
1 1
4 1 0 2
1 0 0 1 1 1
0
1
0 • 0
4
1
LU
2 1 1 0 0 2
则求解原方程组可转化为如下两个三角形方
程组:
1 0 0 y1 6
0
1
0

y2
5
2 1 1 y3 1
解 得
l22 ...
0
...
ln1
ln2
...
lnn
比较A与LLT的相应元素,可得计算公式。
三、追赶法
1. 初步介绍 追赶法适用于系数矩阵为三对角阵的方程组 的求解。其利用系数矩阵的特点,可以将A 分解为两个三角阵的乘积,A=LU,其中L为 下三角矩阵,U为单位上三角矩阵。

研究生数值分(8)直接三角分解法

研究生数值分(8)直接三角分解法
u1i (i 1, 2, , n) 与L的第1列元素 li1 (i 2,3, , n)
(b) 对k+2,3,…,n 按计算公式(3),(4)依次
计算U的第k行元素 uki (i k, k 1, , n) 与L的第
k列元素 lik (i k 1, , n; k n)
20 求解三角形方程组LY=b,即按计算公
(i k, k 1, , n) (3)
k 1
lik (aik liju jk ) / ukk j 1
(i k 1, , n; k n) (4)
在我们利用杜利特尔矩阵分解解线性方程 组AX=b时,只要实现矩阵分解A=LU,依次解三角 形方程组LY=b与UX=Y即可。
计算公式:
y1
yk
对那些明确是1或是0的元素不再求。 由矩阵乘法规则与相等条件,
利用 aij 在上述计算过程中,
导出计算 lij 或 uij 的公式。
例如
第一步计算由 ai1 li1u11 得
u1i a1i (i 1,2, ,n)
第二步计算由 a1i u1i 得 li1 ai1 / u11 (i 2,3, ,n)
, n 1)
因此有 1 c1 / a1且0 1 1 由 a2 b2 a21 b2 a2 1 b2 a2 c2 0 有 2 c2 / a2且0 2 1
一般地,用归纳法可以证明
ai ci 0 (即0 i 1) (i 1, 2, , n 1)
因此我们从关系式(2)解出待定系数为
5 3 2, 2 3 5
3
2
3
4
b 7
1
0
2、用追赶法求方程组的解
4 1 0 0 x1 3
1
4
1

数值分析ch05三角分解法

数值分析ch05三角分解法
17
计算 1 2 n1 及 y1 y2 yn 的过程,称为追的过程,计算方程组的解 xn xn1 x1 的过程称为赶的过程,因此上述
方法称为追赶法。
计算量:5n-4
18
追赶法Matlab程序
function pursue[A,b] [n,m]=size(A); a=zeros(1,n); a(2:n)=diag(A,-1); c=diag(A,1); b=diag(A); if b(1)==0 error('主对角元素不能为0'); return; end alpha(1)=b(1); beta(1)=c(1)/b(1);
j 1 j i
n
15
追赶法
对角占优的三对角矩阵的 LU 分解
b1 c1 1 1 1 a2 a 1 2 2 c n 1 n an n an bn 1
第五章
解线性方程组的直接方法 —— 矩阵三角分解法
1
直接三角分解法
Matrix Factorization method
直接三角分解的基本思想 如果将线性方程组Ax=b的系数矩阵A分解成两个 三角矩阵L和U,即A=LU(也称为LU分解), 则:
Ax b
LUx b
Ly b Ux y
14
定理:若A为对角占优三对角阵,且满足
| b1 | | c1 | 0, | bn | | an | 0, ai 0 , ci 0
| bi || ai | | ci | , ai ci 0 i 2 , , n 1
则方程组有唯一的LU分解。
| aii | | aij |

直接三角分解法

直接三角分解法
直接三角分解法
• 直接三角分解法简介 • 直接三角分解法的算法原理 • 直接三角分解法的实现过程 • 直接三角分解法的应用案例 • 直接三角分解法的优化与改进
01
直接三角分解法简介
定义与特点
定义
高效
直接三角分解法是一种线性代数中的方法 ,用于将一个矩阵分解为一个下三角矩阵 和一个上三角矩阵的乘积。
计算分解矩阵
根据所选方法计算出左奇 异矩阵、右奇异矩阵和奇 异值矩阵。
提取关键信息
从分解矩阵中提取关键信 息,如主成分或特征向量, 用于后续分析。
结果
可视化结果
将分解结果以图表、图像等形式呈现,便于直观 理解。
量化分析
对分解结果进行量化分析,如计算各主成分的贡 献率或方差解释率。
决策建议
根据分析结果提供决策建议,指导后续工作。
图像修复
通过直接三角分解法,可以将图像中的损坏或缺失部分进行修复或替 换,从而得到完整的图像。
05
直接三角分解法的优化与改进
算法优化
减少计算量
通过选择合适的算法和数据结构,减少不必要的计算和重复计算, 提高算法的效率。
并行化处理
将算法中的计算任务分解为多个子任务,并利用多核处理器或多 线程技术并行处理,加快计算速度。
利用三角分解法,可以方便地计算矩阵的逆和行列式,对于解决一些数学问题具有重要意义。
在机器学习中的应用
矩阵分解
在推荐系统和协同过滤等机器学习算法中,矩阵分解是一种常见的方法。通过直接三角分 解法,可以将矩阵分解成低秩矩阵和稀疏矩阵,从而更好地表示用户和物品之间的关系。
降维处理
在处理高维数据时,直接三角分解法可以用于降维处理,将高维数据投影到低维空间,保 留主要特征,降低计算复杂度。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(2) A为三对角的追赶法。
1、 Doolittle分解法和Crout 分解法 把一个n阶矩阵A分解成两个三角形矩阵相
乘的形式称为矩阵的三角分解。
矩阵三角分解的常见形式是:
A=LU,其中L为下三角阵,U为上三角阵。
作为特例,若L为单位下三角阵(对角元都是 1的下三角阵),U为上三角阵,则称为杜利特尔 (Doolittle)分解;
u1i (i 1, 2, , n) 与L的第1列元素 li1 (i 2,3, , n)
(b) 对k+2,3,…,n 按计算公式(3),(4)依次计
算U的第k行元素 uki (i k, k 1, , n) 与L的第k列 元素 lik (i k 1, ,n;k n)
20 求解三角形方程组LY=b,即按计算公
3
等价的三角方程组为
12
3 3 2
3 7
2 16
x1
x2
x3
15
15
2
16
3
用回代法解得
x3 3, x2 2, x1 1
4 追赶法求解三对角线性方程组 在样条函数的计算,微分方程数值求解中常遇到
则存在唯一的杜利特尔分解A=LU,其中L 为单位下三角阵,U 为非奇异上三角阵。
还可以证明存在唯一的克劳特Crout分解
A LU
这里 L为非奇异下三角阵,U 为单位上三角阵。
如果A是一般非奇异阵,由列主消元法,A适
当行交换后,可使A的各阶顺序主子式det( Ak ) 0 ,
从而实现杜利特尔Doolittle或克劳特Crout分解。
(k 2,3, , n)
它与公式(3)相似。若将 b作为增广矩阵的最后
一列元素,那么对增广矩阵作LU分解, b 也作相应
运算,仍在最后一列,则分解后的最后一列即为 y 。
于是
k 1
ukj aki lkju ji j 1
(i k, k 1, , n, n 1)
例3:将方程组
12x1 3x2 3x3 15 18x1 3x2 x3 15 x1 2x2 x3 6 的系数矩阵作LU分解,并求方程组的解。
b1 bk
k 1
lkj y j
j 1
(k 2,3,
(5)
, n)
xn
xk
yn / unn (yk
n
ukj xj ) / ukk
j k 1
(6)
(k n 1,n 2, ,1)
杜利特尔矩阵分解 求解线性方程组的过程为: 10 实现A=LU分解,即
(a)按计算公式(1),(2)依次计算U的第1行元素
若 U 为单位上三角阵(对角元都是 1 的上三角
阵), L为单位下三角阵,则称为克劳特(Crout)分解。
下面分析实现矩阵杜利特尔(Doolittle)分解和 克劳特(Crout)分解的条件,讨论这些分解的唯一性。
定理2 (矩阵三角分解基本定理) 设 A Rnn 。若 A 的顺序主子式
det( Ak ) 0, (k 1, 2, , n)
(i 2,3, , n)

u2i a2i l21u1i
(i 2,3, ,n)
由 ai2 li1u12 li2u22 得
(1)
li2 (ai2 li1u12 ) / u22 (i 3, 4, , n) (2)
第k步计算U的第k行L的第k列元素的公式为:
k 1
uki aki lkju ji j 1
解:增广矩阵为
12 3 3 15 18 3 1 15 1 2 1 6
12 3 3 15
LU分解的紧凑格式为
3
2
3
7
15
2 2 2
1
7
16
16
12 6 3
所以系数矩阵
的三角分解为
A
1 3
0 0 12 3 3
1 0 0
3
7
2
2 2
1
7
1 0
0
16
12 6
对那些明确是1或是0的元素不再求。
由矩阵乘法规则与相等条件,
利用 aij 在上述计算过程中,
导出计算 lij 或 uij 的公式。
例如
第一步 计算由 ai1 li1u11

u1i a1i
(i 1,2, , n)
第二步 计算由 a1i u1i

li1 ai1 / u11
由 a2i l21u1i u2i
杜利特尔Doolittle分解法
设方程组AX=b的系数矩阵的各阶顺序主子式
det(Ak ) 0, (k 1, 2, , n),则存在唯一杜利特尔分解
A LU ,其中
1 l21 1 L l31 l32 1
u11 u12
U
u22
u1n
u2
n
ln1 ln2 ln3
1
unn
下面介绍直接根据A的元素计算L、U元素的分解方法 第一步 求U的第一行元素和L的第一列元素 第二步 求U的第二行元素和L的第二列元素......
(i k, k 1, , n) (3)
k 1
lik (aik liju jk ) / ukk j 1
(i k 1, , n; k n) (4)
在我们利用杜利特尔矩阵分解解线性方程 组AX=b时,只要实现矩阵分解A=LU,依次解三角 形方程组LY=b与UX=Y即可。
计算公式:
y1
yk
li,k 1
lik
ln,k 1
lnk
1步 2步 … k-1步 k步
u1 j u2 j uk 1, j ukj

u1n
u2n
பைடு நூலகம்
uk 1,n
ukn
unn
n步
在解方程组时,对右端项 b 也可不必经过中间过
程而按紧凑格式的方法直接得出 y, 因为 Ly=b ,
所以
y1 b1
k 1
yk bk lkq yq q1
式(5)依次计算 y1, y2 , , yn
30 求解三角形方程组UX=Y,即按计算公
式(6)依次计算 xn , xn1, , x1
为便于记忆,我们给出L、U分解紧凑格式:
u11 u12
l21
u22
A
lk1
lk 2
li1 li2
ln1 ln2
u1k u2k
lk ,k 1
uk 1,k ukk lk 1,k
§2 直接三角分解法
三角分解法也是直接法,基本思想是: 将系数矩阵A分解为两个三角形矩阵L和U的 乘积A=LU ,将方程组AX=b的求解问题归结为 两个三角形方程组 LY=b与UX=Y的求解问题。
即:先由LY=b求出Y ,然后由UX=Y求出X , 从而获得AX=b的解。
(1) A为一般稠密(零元素占很小比例)矩阵 的杜利特尔(Doolittlr)和克劳特(Crout)分解法;
相关文档
最新文档