第四章线性方程组直接法,矩阵三角分解
- 格式:doc
- 大小:202.00 KB
- 文档页数:6
解线性代数方程————————————————————————————————作者:————————————————————————————————日期:求解线性方程组的直接解法5.3特殊矩阵的三角分解①实对称矩阵的LDL T分解设A是实对称阵,且A的所有顺序主子式均不为零,则LDR分解中R=L T, 故可用以作LDL T分解.这就是说,当A的对角元素非零时,我们可以作LU分解,也就得到LDL T分解,L相同,是单位上三角阵,U的对角元素构成D.不过没有利用对称性,存储量运算量都未能节省—预计是一半。
试用n=3的计算表格说明如何实现节省。
d1=u11 =a11u12=a12l21=u12/d1u13=a13l31=u13/d1d2=u22=a22-l21u12u23=a23-l21u13l32=u23/d2u33=a33-l31u13-l32u23这样,可用上半部元素逐列计算D,L T。
也可用下半部元素逐行计算L,D。
引进輔助量t1, t2代替u1j,u2j,并利用对称性得到:d1=a11t1=a21l21= t1/d1d2= a22-t1l21t1=a31 l31=t1/d1t2=a32-t1l21l32=t2/d2d3=a33-t1l31-t2l32据此不难写出LDL T分解A=LDL T的计算公式和程序(逐行计算L,D).d1=a11for i=2:nfor j=1:i-1t j=a ij-l j1t1-l j2t2-…-l j,j-1t j-1l ij=t j/d jendd i=a ii-l i1t1-l i2t2-…- l i,i-1t i-1end存储约n(n+1)/2单元,乘加运算各约n3/6.利用LDL T分解解Ax=b分四步:1.分解A=LDL T2.解Lg=b 求g3.解Dy=g 求y4.解L T x=y 求x②实对称正定矩阵的LL T分解A实对称正定时顺序主子式皆正,可作LDL T,D的对角元素皆正,有正的平方根。
用矩阵的直接三角分解法解方程组矩阵的直接三角分解法(LU分解法)是解线性方程组的一种常用方法。
该方法通过将系数矩阵分解为一个下三角矩阵和一个上三角矩阵的乘积,从而简化方程组的求解过程。
下面我们就来详细分步骤地介绍一下这种方法的求解过程。
第一步,将原线性方程组表示为矩阵形式,即将系数矩阵、未知量矩阵和常数矩阵分别表示为A、X和B。
我们的目标是找到一个下三角矩阵L和一个上三角矩阵U,使得方程组可以表示为LUx = B的形式。
第二步,通过高斯消元法将系数矩阵A化为上三角矩阵U。
具体地,我们将系数矩阵A变换为U的过程可以分解为一系列的初等矩阵变换,例如交换两行、乘以一个非零常数和将某一行加上另一行的若干倍等等。
这些初等矩阵变换可以表示为一个矩阵M的乘积,即A =M1M2...MnU。
从而,我们得到了上三角矩阵U。
第三步,同样通过一系列初等矩阵变换将U转化为下三角矩阵L。
这些初等矩阵变换可以表示为一个矩阵N的乘积,即U = NL1L2...Lm。
从而,我们得到了下三角矩阵L。
第四步,将方程组表示为LUx = B的形式。
具体地,我们将A, X 和B分解为L, U和x的乘积,即A = LU,X = UL,B = Ux。
从而,原方程组可以表示为LUx = B,即L(Ux) = B。
第五步,解方程组L(Ux) = B。
由于L是下三角矩阵,因此可以通过前代法求解得到Ux。
具体地,我们先通过Lw = B求解出向量w,然后再通过Ux = w求解出未知量向量x。
总的来说,矩阵的直接三角分解法(LU分解法)是一种常用的解线性方程组的方法。
它将原方程组表示为LUx = B的形式,然后通过前代法和回代法求解得到未知量向量x。
这种方法具有求解速度快、计算量小的优点,因此在实际应用中得到了广泛的应用。
线性方程组的解法及其应用摘要:线性方程组是线性代数的核心内容之一,其解法研究是代数学中经典且重要的研究课题.本文综述了几种不同类型的线性方程组的解法,如消元法、克拉默法则、广义逆矩阵法、直接三角形法、平方根法、追赶法,并以具体例子介绍不同解法的应用技巧. 在这些解法中,广义逆矩阵方法,具有表达式清晰,使用范围广的特点.另外,这些方法利于快速有效地解决线性方程组的求解问题,为解线性方程组提供一个简易平台,促进了理论与实际的结合.关键词:线性方程组解法广义逆矩阵应用实例1. 引言线性方程组理论是高等数学中十分重要的内容,而线性方程组的解法是利用线性方程组理论解决问题的关键.本文主要介绍线性方程组的广义逆矩阵法、追赶法、平方根法等求解方法,为求解线性方程组提供一个平台.文章也给出线性方程组在其他领域中的应用实例,揭示了各学科之间的内通性.首先,我们讨论一般线性方程组.这里所指的一般线性方程组形式为11112211211222221122,,.n n n n s s sn n s a x a x a x b a x a x a x b a x a x a x b +++=⎧⎪+++=⎪⎨⎪⎪+++=⎩ ()i()i 式中(1,2,,)i x i n =代表未知量,(1,2,,;1,2,,)ij a i s j n ==称为方程组的系数,(1,2,,)j b j n =称为常数项.线性方程组)(i 称为齐次线性方程组,如果常数项全为零,即120s b b b ====.令111212122212n n s s sn a a a a a a A a a a ⎡⎤⎢⎥⎢⎥=⎢⎥⎢⎥⎣⎦,12n x x X x ⎡⎤⎢⎥⎢⎥=⎢⎥⎢⎥⎣⎦, 12s b b B b ⎡⎤⎢⎥⎢⎥=⎢⎥⎢⎥⎣⎦,则()i 可用矩阵乘法表示为AX B =,,,.m n n m A C X C B C ⨯∈∈∈2. 线性方程组的解法2.1 消元法在初等代数里,我们已经学过用代入消元法和加减消元法解简单的二元、三元线性方程组.实际上,这个方法比用行列式解方程组更具有普遍性.但对于那些高元的线性方程组来说,消元法是比较繁琐的,不易使用.例 1 解线性方程组123123123123324,32511,23,237.x x x x x x x x x x x x +-=⎧⎪+-=⎪⎨++=⎪⎪-++=-⎩ 解 分别将第一个方程的(-3)倍,(-2)倍和2倍加到第二、三、四个方程上,整理得123232323324,71,555,7 1.x x x x x x x x x +-=⎧⎪-+=-⎪⎨-+=-⎪⎪-=⎩将此方程组第二个方程加到第四个方程上,使该方程两边全为零,并将第三个方程的两边乘以15-,得1232323324,71,1.x x x x x x x +-=⎧⎪-+=-⎨⎪-=⎩再将第三个方程的7倍加到第二个方程上,消去第二个方程中的未知量2x ,整理得123233324,1,6 6.x x x x x x +-=⎧⎪-=⎨⎪-=⎩最后解得123(,,)(2,0,1)T T x x x =--.正如消元法是我们接触比较早的,被我们所熟悉的一种方法,在此只给出三元线性方程组的解法,三元以上的方程组的具体理论、性质和解题过程详见参考文献[1]. 2.2 应用克莱姆法则对于未知个数与方程个数相等的情形,我们有定理1[1] 如果含有n 个方程的n 元线性方程组11112211211222221122,,.n n n n n n nn n n a x a x a x b a x a x a x b a x a x a x b +++=⎧⎪+++=⎪⎨⎪⎪+++=⎩ ()ii的系数矩阵111212122212n n n n nn a a a a a a A a a a ⎡⎤⎢⎥⎢⎥=⎢⎥⎢⎥⎣⎦的行列式111212122212det 0n n n n nna a a a a a A a a a =≠,那么线性方程组()ii 有唯一解:det (1,2,,),det j j B x j n A==其中det j B 是把矩阵中第j 列换成线性方程组的常数项12,,,n b b b 所成的矩阵的行列式,即111,111,11222,122,121,1,1det,1,2,,.j j n j j n j n n j n n j nna ab a a a a b a a B j n a a b a a -+-+-+==此外,还可以叙述为,如果含有n 个未知数、n 个方程的线性方程组Ax b =的系数矩阵的行列式det 0A ≠,则线性方程组Ax b =一定有解,且解是唯一的. 例2 解线性方程组12342341242342344,3,31,73 3.x x x x x x x x x x x x x -+-=⎧⎪-+=-⎪⎨++=⎪⎪-++=-⎩ 解 由已知可得系数行列式12341234123401110111111det 16013015352073173148A ---------====≠----,因此线性方程组有唯一解.又因124234143431110311det 128,det 48,1301110137310331B B -------==-==-341244123401310113det 96,det 0.1311130107310733B B ------====--故线性方程组的解为1234(,,,)(8,3,6,0)T T x x x x =-.克莱姆法则主要给出了解与系数的明显关系,但只能应用于系数矩阵的行列式不为零的线性方程组,并且它进行计算是不方便的. 2.5 直接三角分解法[5]设有线性方程组11112211211222221122,,,n n n n n n nn n n a x a x a x b a x a x a x b a x a x a x b +++=⎧⎪+++=⎪⎨⎪⎪+++=⎩或写成矩阵形式Ax b =,其中111212122212n n n n nn a a a a a a A a a a ⎡⎤⎢⎥⎢⎥=⎢⎥⎢⎥⎣⎦,12n x x x x ⎡⎤⎢⎥⎢⎥=⎢⎥⎢⎥⎣⎦,12n b b b b ⎡⎤⎢⎥⎢⎥=⎢⎥⎢⎥⎣⎦.若A 为非奇异矩阵,且有分解式A LU =,其中U 为上三角矩阵,L 为单位下三角矩阵,即11121212221,1111n n n n n nn u u u l u u A LU l l u -⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥==⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦, 则线性方程组Ax b =的求解等价于 解以下两个三角方程组:(1)Ly b =,求y ; (2)Ux y =,求x .直接三角形分解法求解线性方程组,基本步骤如下: 第一步: 11,(1,2,,),i i u a i n == 1111,(2,3,,)i i l a u i n ==,计算U 的第r 行,L 的第r 列元素,2,3,,r n =.第二步: 11,(,1,,)r ri ri rk ki k u a l u i r r n -==-=+∑.第三步: 11,(1,,;)r ir ir ik kr rr k l a l u u i r n r n -==(-)=+≠∑.求解Ly b =,Ux y =的计算公式如下:第四步: ()1111,,2,3,.i i i ik k k y b y b l y i n -==⎧⎪⎨=-=⎪⎩∑第五步: 1,(),(1,2,,1).n n nn n i i ik k ii k i x y u x y u x u i n n =+=⎧⎪⎨=-=--⎪⎩∑例5 求解线性方程组1231212321,42,227.x x x x x x x x ++=⎧⎪+=-⎨⎪-++=⎩解 由直接三角分解法第二、三步可得211100211410210012221131004A LU ⎡⎤⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥==--=⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥---⎣⎦⎣⎦⎣⎦. 于是线性方程组变为LUx b =,求解线性方程组(1,2,7)T Ly =-,得(1,4,4)T y =--;求解线性方程组(1,4,4)T Ux =--,得(1,2,1)T x =-.2.6 平方根法[7]在许多应用中,欲求解的线性方程组的系数矩阵是对称正定的.所谓平方根法,就是利用对称正定矩阵的三角分解而得到的求解具有对称正定矩阵的线性方程组的一中有效方法,目前在计算机上广泛应用平方根法解此类方程组.定理6[12] 若A 的各阶顺序主子式非零,则A 可以分解为A LDU =,其中L 是单位下三角矩阵,U 是单位上三角矩阵,D 是对角矩阵,且这种分解是唯一的.定理7[12] 设A 为对称正定矩阵,则存在三角分解T A LL =,其中L 是非奇异下三角形矩阵,且当限定L 的对角线元素为正时,这种分解是唯一的.应用对称正定矩阵的平方根法,可以解具有对称正定系数矩阵的线性方程组Ax b =,具体算法如下:1) 对j =1,2,,n ,计算11221()j jj jj jkk l a l -==-∑,11j ij ij ik jk k l a l l -==-∑(1,,)i j n =+.2) 求解线性方程组Ax b =等价于解两个三角方程组,.TLy b L x y =⎧⎨=⎩ 计算11()i i i ik k ii k y b l y l -==-∑,(i =1,2,,n ), 1()ni i ki kii k i x b lx l =+=-∑,(i n =,1n -,,2,1),即可.例6 求解线性方程组12341161 4.25 2.750.5.1 2.75 3.5 1.25x x x -⎡⎤⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥-=-⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦⎣⎦ 解 设1111213121222232313233334111 4.25 2.751 2.75 3.5l l l l l l l l l l l l -⎡⎤⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥-=⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦⎣⎦, 由矩阵乘法得1121223132332,0.5,2,0.5, 1.5, 1.l l l l l l ==-====解下三角方程组123260.520.50.5 1.51 1.25y y y ⎡⎤⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥-=-⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦⎣⎦, 得1233,0.5,1,y y y ===-再由123230.520.50.5 1.511Tx x x ⎡⎤⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥-=⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥-⎣⎦⎣⎦⎣⎦, 得线性方程组的解为123(,,)(2,1,1)T T x x x =-.可以用消元法解此方程组,但发现此方程组的系数矩阵为正定矩阵,运用平方根法解这个方程组比较容易,而且理论分析指出,解对称正定方程组的平方根法是一个稳定的算法,其在工程计算中使用比较广泛. 2.7 追赶法[5]在许多实际问题中,都会要求解系数矩阵为对角占优的三对角方程组11112222211111iiii i n n n n n nn n n x k b c x k a b c a b c x k a b c x k a b x k -----⎡⎤⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦⎣⎦, 简记作 Ax k =, 其中A 满足下列对角占优条件:(1) 110b c >>;(2) i i i b a c ≥+, i a ,i c 0≠(i =2,3, ,1n -);(3) 0n n b c >>.由系数矩阵A 的特点,可以将A 分解为两个三角矩阵的乘积,即A LU =,其中L 为下三角矩阵,U 为单位上三角矩阵.求解线性方程组Ax k =等价于解两个三角方程组Ly k =与Ux y =,先后求y 与x ,从而得到以下解三角方程组的追赶法公式:第一步:计算的递推公式111c b β=,1()i i i i i c b a ββ-=-,(2i =,3,,1)n -;第二步:解Ly k =:111y k b =,11()()i i i i i i i y k a y b a β--=--,(2,3,,)i n =;第三步:解Ux y =:n n x y =,1i i i i x y x β+=-,(1,2,,2,1)i n n =--.例7 求解三对角线性方程组123421001131020111200210x x x x ⎡⎤⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦⎣⎦.解 设有三角分解111122222233333344441111b c p q a b c a p q a b c a p q a b a p ⎡⎤⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦⎣⎦, 由矩阵乘法易得111,,1,2,3.,2,3,4.i i i ii i i p b q c p i p b a q i -=⎧⎪==⎨⎪=-=⎩ 将已知系数矩阵的元素代人上式有11223342,12,52,25,35,53,73.p q p q p q p ==⎧⎪==⎪⎨==⎪⎪=⎩ 解线性方程组112233441121220p y p y p y p y ⎡⎤⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦⎣⎦, 得123412,35,73, 2.y y y y ====再解线性方程组111222333441111x y q x y q x y q x y ⎡⎤⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦⎣⎦,得原线性方程组的为1234(,,,)(0,1,1,2)T T x x x x =-.追赶法是以LU 分解为基础的求解方法,因此它的不足之处是当某个0=k u 时,就不能进行.但是当方程组的系数矩阵A 中有很多零元素时,利用三对角方程组系数矩阵的稀疏性,使零元素不参加运算,可以类似于追赶法来简化计算过程,从而极大地节省了计算量和存储量.这也是追赶法的最大特点.3. 应用举例3.1 线性方程组在解析几何中的应用例8 已知平面上三条不同直线的方程分别为1L :230ax by c ++=,2L :230bx cy a ++=,3L :230cx ay b ++=,试证:这三条直线交于一点的充分必要条件为0a b c ++=.证 必要性 设三直线1L ,2L ,3L 交于一点,则线性方程组232323ax by cbx cy a cx ay b +=-⎧⎪+=-⎨⎪+=-⎩ ()iii有惟一解,故系数矩阵222a b A b c c a ⎡⎤⎢⎥=⎢⎥⎢⎥⎣⎦与增广矩阵232323a b c A b c a c a b --⎡⎤⎢⎥=-⎢⎥⎢⎥-⎣⎦的秩均为2,于是0A -=,即22223236()()23a bcA bc a a b c a b c ab ac bc ca b--=-=++++----=0,所以0a b c ++=.充分性 由0a b c ++=,则从必要性的证明可知,0A -=,故()3r A -<.由于22222132()2[()]2[()]0224a b ac b a a b b a b b b c =-=-++=-++≠, 故()()2r A r A -==.因此线性方程组()iii 有惟一解,即三直线1L ,2L ,3L 交于一点. 3.2 线性方程组在产品生产量中的应用例9 设有一个经济系统包括3个部门,在某一个生产周期内各部门间的消耗及最终产品如表所示:求各部门的总产品.解 设i x 表示第i 部门的总产品.由已知可以得到线性方程组()I A x y -=,其中0.250.10.1()0.20.20.10.10.10.2ij A a ⎡⎤⎢⎥==⎢⎥⎢⎥⎣⎦,0.750.10.10.20.80.10.10.10.8I A --⎡⎤⎢⎥-=--⎢⎥⎢⎥--⎣⎦,(245,90,175)T y =. 利用矩阵的初等变换可以求得1126181810()34118198912017116I A -⎡⎤⎢⎥-=⎢⎥⎢⎥⎣⎦, 所以线性方程组()I A x y -=的解为消耗系数 消耗部门 生产部门123最终产品1 0.25 0.1 0.1 2452 0.2 0.2 0.1 90 30.10.10.21751126181824540010()3411819902508912017116175300x I A y -⎡⎤⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥=-==⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦⎣⎦. 4. 结束语本文针对不同的线性方程组给出了一些计算方法,及线性方程组的应用实例.根据线性方程组自身所具有的特点,可以选择相应合适的方法,而对于那些特殊类型的线性方程组的解法,有待进一步的讨论与研究.参考文献:[1] 北京大学数学系几何与代数教研室前代数小组编. 高等代数[M].3版.北京:高等教育出版社,2003.105-112.[2] 白梅花. 线性方程组若干应用实例举例[J].科技资讯,2011,(27):200-201.[3] 康道坤,陈劲. 广义逆下线性方程组的解结构及其推广[J].大理学院学报,2011,10(4):7-9. [4] 卢刚.线性代数[M]. 北京:高等教育出版社,2002.64-72.[5] 李庆扬,王能超,易大义. 数值分析[M].4版.武汉:华中科技大学出版社,2006.177-185. [6] 苏育才,姜翠波,张跃辉. 矩阵理论[M].北京:科学出版社,2006.200-206. [7] 首都师范大学数学系组编. 数值分析[M].北京:科学出版社,2000.28-32.[8] 徐仲,张凯院,陆全,等. 矩阵论简明教程[M].2版.北京:科学出版社,2005.141-147. [9] 谢寿才,陈渊. 大学数学[M].北京:科学出版社,2010.37-40.[10] 徐仲,张凯院,陆全. 矩阵论[M].西安:西北工业大学出版社,2002.228-245.[11] 尹钊,钟卫民,赵丽君. 线性方程组的广义逆矩阵解法[J].哈尔滨师范大学自然科学学 报,1999,15(5):21-22. [12] 张明淳. 工程矩阵理论[M].1版.南京:东南大学出版社,1995.172-173.[13] 赵树嫄. 线性代数(经济应用数学基础)[M].4版.北京:中国人民大学出版社,2008.150-157.。
线性代数方程组的解法关键词:线性代数方程组;高斯消元法;列主元消元法;三角分解法;杜立特尔分解法;迭代法;雅可比迭代法;高斯-赛德尔迭代法1引言目前,解线性代数方程组在计算机上常用的的方法大致把它分为两类:“直接法”与“迭代法”.在线性代数中曾指出阶线性代数方程组有唯一的解,并且可以用克拉默法则求方程组的解,初次看来问题已经解决,但从使用效果看并不是这样的.因为求阶线性代数方程组,如果用克拉默法则,需要计算个阶行列式,每个阶行列式为项之和,每项又是个元素的乘积,所以计算中仅乘法次数就高达次,当较大时,它的计算量是非常惊人的.因为现在所碰到的很多问题都需要很大的计算量,故需要好用的算法来求解.先来回顾一下回代过程和迭代过程.(1)是一个三角形方程组,当有唯一解时,可以用反推的方式求解,也就是先从第个方程解得, (2)然后代入第个方程,可得到, (3)如此继续下去,假设已得到,, , ,代进第个方程即得的计算, (4)上述求解的过程叫做回代过程.定义1[1] (向量的范数) 若向量的某个实值函数满足1.是非负的,即且的充要条件是 ;2.是齐次的,即 ;3.三角不等式,即对,总是有.那么上向量的范数(或模)就是 .下面给几个最常遇到的向量范数.向量的“1”范数:(5)向量的“2”范数:(6)向量的范数:(7)例1设求 , , .解由式(5),(6)及(7)知.定义2若矩阵的某个实值函数满足1.是非负的,即且的充要条件是 ;2.是齐次的,即 ;3.三角不等式,即对总有;1.矩阵的乘法不等式,即对总有,那么称为上矩阵的范数(或模).表 1是矩阵几个常用算子范数的定义与算式.表 1范数名称记号定义计算公式“1”范数(又名列模)“2”范数(又名谱模)“”范数(又名行模)的极限就是方程组的解向量,这时候在给定允许的误差内,只要适当的大,就可以作为方程组在满足精度要求条件下的近似解.这种求近似解的方法就是解线性方程组的一类基本的迭代解法,其中称为迭代矩阵,公式(9)称迭代公式(或迭代过程),由迭代公式得到的序列叫做迭代序列.如果迭代的序列是收敛的,则称为迭代法收敛;如果迭代的序列是不收敛,则称它是迭代法发散.定理3设 .如果约化主元素,则可以利用高斯消元的方法把方程组约化成三角形方程组来求解,其计算公式如下:(1)消元计算:对依次计算(2)回代计算:3用高斯消元法与列主元消元法解线性代数方程组(重点)!3.1 高斯消元法解方程组用高斯消元的方法求线性代数方程组的解的整个计算过程可分为两个环节,也就是利用按照次序消去未知数的方法,把原来的方程组转化成跟它同解的三角形方程组(这个转化的过程叫消元过程),再通过回代过程求三角形方程组的解,最终得到原来方程组的解.其中按照方程的顺进行消元的高斯消元法,又叫顺序消元法.3.2列主元消元法解方程组列主元消元法实际上是一种行交换的消元法,它跟顺序消元法比较而言,主要特点是在进行第次消元前,不管的值是否等于零,都在子块的第一列中选择一个元,使,并将中的第行元与第行元互相变换(相当于交换同解方程组中的第个方程),然后再进行消元计算得到结果.注:列主元素法的精度虽然稍低于全主元素法[1],但它计算简单,相对比全主元素法它的工作的量大大减少,并且从计算经验和理论分析都可以表明,它与全主元素法同样拥有很好的值稳定性,列主元素法是求解中小型浓密型方程组的最好的方法之一.4用三角分解法解线性代数方程组4.1 矩阵的三角分解定义4把一个阶矩阵分解成两个三角矩阵相乘的形式称为矩阵的三角分解.常见的矩阵三角分解是其中是下三角形的矩阵,是上三角形的矩阵.定理5[1](矩阵三角分解基本定理)设 .若的顺序主子式,那么存在唯一的杜利特尔分解其中是单位下三角形矩阵,为非奇异的上三角形矩阵.如果是单位下三角形的矩阵,是上三角形的矩阵,那么把这种分解法称为杜利特尔分解法,其中杜利特尔分解法是这种三角分解的一种特例,下面主要介绍利用杜利特尔分解法来求方程组的解.4.2 用杜利特尔分解法解线性代数方程组用杜利特尔分解法解方程组的步骤可以把它归纳为(1)实现分解,也就是1.按算式(11)(12)依次计算的第一行元与的第一列元;1.对按算式(13)(14)依次计算的第行元与的第列元.(2)求解三角形方程组,即按算式依次计算 .(3)求解三角形方程组,即按算式依次计算.利用杜利特尔分解法解方程组与高斯消元法是相似的,它重要的优点是:在利用分解,解有相同的系数矩阵的方程组时,用杜利特尔分解法非常方便,只用两个式子就可以得到方程组的解.5用迭代法解线性代数方程组用迭代法求方程组的解,需要考虑迭代过程的收敛性,在下面的讨论中,都假设方程组的系数矩阵的对角阵是不为零的.5.1 用雅可比迭代法解方程组对于一般线性方程组,如果从第个方程解出,就可以把它转化成等价的方程组. (15)从而可以得到对应的迭代公式(16)这就是解一般方程组的分量形式的雅可比(Jacobi)迭代公式.如果把它改成(17)并把系数矩阵表示成(18)其中则可以看出式的左右两端分别是向量和的第个分量,故因为可逆,所以于是就可以得到是雅可比迭代的公式.其中(称为雅可比迭代矩阵), .5.2 用高斯-赛德尔迭代法解方程组高斯-赛德尔迭代法也是常用的迭代法,设线性代数方程组为,则高斯-赛德尔迭代法的迭代公式为(19)其中迭代法(19)就称为高斯-赛德尔迭代法.通过雅可比迭代法类似的途径,就可以得到矩阵的表达式其中(称为高斯-赛德尔迭代矩阵), .高斯-赛德尔迭代法与雅可比迭代法都有算式简单、容易在计算机上实现等优点,但是用计算机来计算时,雅可比迭代法需要两组工作单元用来寄存与的量,而高斯赛-德尔迭代法只需一组工作单元存放或的分量.对于给定的线性方程组,用这两种方法求解可能都收敛或者都不收敛,也可能一个收敛另一个不收敛,两种方法的收敛速度也不一样.5.3 迭代法的收敛条件与误差分析定义6[1]矩阵全部的特征值的模的最大值,叫做矩阵的谱半径,记作 ,即.定理7[1]对任意初始向量迭代过程收敛的充要条件是;当时,越小,那么其收敛的速度是越快的.由定理7可知,用雅可比迭代法求解时,其迭代的过程是收敛的,而用高斯-赛德尔迭代法来求解,其迭代的过程是发散的.在不同条件下,收敛的速度是不同的,对同一矩阵,一种方法是收敛的,一种方法发散.第 7 页。
第四章 习题答案1。
用Gauss 消去法解方程组12312312323463525433032x x x x x x x x x ++=⎧⎪++=⎨⎪++=⎩ 解:方程组写成矩阵形式为12323463525433032x x x ⎛⎫⎛⎫⎛⎫ ⎪ ⎪ ⎪= ⎪ ⎪ ⎪ ⎪ ⎪ ⎪⎝⎭⎝⎭⎝⎭对其进行Gauss 消去得123234414726002x x x ⎛⎫⎛⎫⎛⎫⎪ ⎪ ⎪ ⎪-= ⎪ ⎪ ⎪ ⎪ ⎪ ⎪⎝⎭⎝⎭-⎝⎭得方程组12312323323461314482224x x x x x x x x x ++=⎧=-⎧⎪⎪⎪-=-⇒=⎨⎨⎪⎪=⎩-=-⎪⎩ 2。
用Gauss 列主元素消去法解方程组1233264107075156x x x -⎛⎫⎛⎫⎛⎫ ⎪ ⎪ ⎪-= ⎪ ⎪ ⎪ ⎪ ⎪ ⎪-⎝⎭⎝⎭⎝⎭ 解:因为第一列中10最大,因此把10作为列主元素1233264107075156x x x -⎛⎫⎛⎫⎛⎫ ⎪ ⎪ ⎪-= ⎪ ⎪ ⎪ ⎪ ⎪ ⎪-⎝⎭⎝⎭⎝⎭12r r ↔−−−→1231070732645156x x x -⎛⎫⎛⎫⎛⎫ ⎪ ⎪ ⎪-= ⎪ ⎪ ⎪ ⎪ ⎪ ⎪-⎝⎭⎝⎭⎝⎭21311310122310707161061010550522r r r r x x x +-⎛⎫⎛⎫ ⎪ ⎪-⎛⎫ ⎪ ⎪ ⎪ ⎪ ⎪−−−→-= ⎪ ⎪ ⎪ ⎪ ⎪ ⎪⎝⎭ ⎪⎪⎝⎭⎝⎭23r r ↔−−−→12310707550522161061010x x x ⎛⎫⎛⎫⎪ ⎪-⎛⎫⎪ ⎪⎪⎪ ⎪= ⎪ ⎪ ⎪ ⎪ ⎪ ⎪⎝⎭ ⎪⎪-⎝⎭⎝⎭32125r r +−−−→1231070755052231310055x x x ⎛⎫⎛⎫ ⎪ ⎪-⎛⎫ ⎪ ⎪ ⎪⎪ ⎪= ⎪ ⎪ ⎪ ⎪⎪ ⎪⎝⎭ ⎪ ⎪⎝⎭⎝⎭得到方程组12123233107705551221313155x x x x x x x x ⎧⎪-==⎧⎪⎪⎪+=⇒=-⎨⎨⎪⎪=⎩⎪=⎪⎩ 3。
举例说明一个非奇异矩阵不一定存在LU 分解。
例如:设()0010001000P P B C A A LU M M A D B C P M AB M AC D ⎛⎫⎛⎫⎛⎫⎛⎫=≠≠=== ⎪⎪ ⎪⎪⎝⎭⎝⎭⎝⎭⎝⎭=⎧⎪=⎪⇒=⎨=⎪⎪+=⎩可分解M 0,P 0,有与题设相矛盾,所以一个非奇异矩阵不一定存在LU 分解。
4。
下列矩阵能否分解为LU (其中L 为单位下三角矩阵,U 为上三角矩阵)?若能分解,那么分解是否唯一?123111126241,221,251546733161546A B C ⎛⎫⎛⎫⎛⎫ ⎪ ⎪ ⎪=== ⎪ ⎪ ⎪ ⎪ ⎪ ⎪⎝⎭⎝⎭⎝⎭解:12A 10,0,24=-=而且不能分解;设111221331B ⎛⎫ ⎪= ⎪ ⎪⎝⎭B 可以进行LU 分解,则B=111213212223313233100100100u u u l u u l l u ⎛⎫⎛⎫⎪⎪ ⎪⎪ ⎪⎪⎝⎭⎝⎭计算得111213213122323112322232321,1,1,2,3,0.310 3.u u u l l u a l u l u l l B LU =======+=⨯+⨯=∴∴而可以任意选,的分解不唯一。
12C 0,0,,.25≠≠而且能分解且分解唯一5。
对下列给定的矩阵A 作LU 分解,并利用分解结果计算A -1。
248418166220A -⎛⎫ ⎪=-- ⎪ ⎪--⎝⎭解: 248418166220A -⎛⎫ ⎪=-- ⎪ ⎪--⎝⎭100248210010323110076-⎛⎫⎛⎫ ⎪⎪=- ⎪⎪ ⎪⎪--⎝⎭⎝⎭L=100210311⎛⎫⎪⎪ ⎪-⎝⎭U= 248010320076-⎛⎫ ⎪- ⎪ ⎪-⎝⎭由()1111A LU A LU U L ----===有41613190959511149519095511167676⎛⎫--⎪ ⎪⎪=- ⎪ ⎪ ⎪-- ⎪⎝⎭6。
用Doolittle 分解法解方程组1234102050101312431701037x x x x ⎛⎫⎛⎫⎛⎫⎪ ⎪ ⎪⎪ ⎪ ⎪=⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪⎝⎭⎝⎭⎝⎭ 解:A=1020010112430103⎛⎫ ⎪⎪ ⎪ ⎪⎝⎭=10001020010001011210002101010002⎛⎫⎛⎫⎪⎪⎪⎪⎪⎪⎪⎪⎝⎭⎝⎭其中L=1000010012100101⎛⎫ ⎪⎪ ⎪⎪⎝⎭ U=1020010100210002⎛⎫⎪⎪⎪⎪⎝⎭由Ly=()53617T,,, 解得y=()5364T,,, 由Ux=y , 解得x=()1122T,,,7。
用Crout 分解法接方程组。
12341234214916101827644411681256190x x x x ⎛⎫⎛⎫⎛⎫ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪= ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪⎝⎭⎝⎭⎝⎭ 解:10001234120001361660001411436240001A LU ⎛⎫⎛⎫⎪⎪⎪⎪== ⎪⎪ ⎪⎪⎝⎭⎝⎭由Ly=b=()2,10,44,190T得y=()2,4,3,1T由Ux=y=()2,4,3,1T得x=()1,1,1,1T--8。
用平方根法求解方程组123111111222212331123n x n x n x n n x ⎛⎫⎛⎫⎛⎫ ⎪⎪ ⎪- ⎪ ⎪ ⎪ ⎪ ⎪ ⎪=- ⎪⎪ ⎪ ⎪ ⎪⎪ ⎪ ⎪ ⎪⎝⎭⎝⎭⎝⎭L L L M L L L L L M L解:易知111112221233123A n ⎛⎫ ⎪ ⎪ ⎪= ⎪ ⎪ ⎪⎝⎭L L L L L L L L L 是对称矩阵,可求得1000110011101111L ⎛⎫⎪ ⎪ ⎪=⎪ ⎪ ⎪⎝⎭L L L LL L L L L由Ly=b 得y=(),1,1,,1Tn ---L 由TL x y =解得x=()1,0,0,,1Tn +-L9。
用改进的平方根法求解下列方程组()()123123411611 4.25 2.750.51 2.75 3.5 1.25422102223523144x x x x x x -⎛⎫⎛⎫⎛⎫ ⎪ ⎪ ⎪-=- ⎪ ⎪ ⎪ ⎪ ⎪ ⎪⎝⎭⎝⎭⎝⎭-⎛⎫⎛⎫⎛⎫⎪ ⎪ ⎪-= ⎪ ⎪ ⎪ ⎪ ⎪ ⎪--⎝⎭⎝⎭⎝⎭解(1)A=4111 4.25 2.751 2.75 3.5-⎛⎫ ⎪- ⎪ ⎪⎝⎭分解得L=100110413144⎛⎫ ⎪⎪⎪-⎪ ⎪ ⎪⎝⎭D=400040001⎛⎫ ⎪⎪ ⎪⎝⎭ 由LU=b 得U=()6,1,1T-由Dy=U 得y=31,,124T⎛⎫- ⎪⎝⎭由TL x y =得x=()2,1,1T-(2)12342210223523144x x x -⎛⎫⎛⎫⎛⎫⎪ ⎪ ⎪-= ⎪ ⎪ ⎪ ⎪ ⎪ ⎪--⎝⎭⎝⎭⎝⎭ 分解得10011021212L ⎛⎫ ⎪⎪⎪= ⎪ ⎪ ⎪--⎝⎭D=400010009⎛⎫ ⎪⎪ ⎪⎝⎭由LU=y 得U=()10,0,9T由Dy=U 得y=5,0,12T⎛⎫⎪⎝⎭由TL x=y 得x=()2,2,1T10。
用追赶法求解三对角方程组12345121000012100001210000121000012x x x x x -⎛⎫⎛⎫⎛⎫ ⎪ ⎪ ⎪-- ⎪ ⎪ ⎪ ⎪ ⎪ ⎪=-- ⎪ ⎪ ⎪-- ⎪ ⎪ ⎪ ⎪ ⎪ ⎪-⎝⎭⎝⎭⎝⎭ 解:12,r =22113,2()(1)222l r =-=--⨯-=33224,2()(1)333l r =-=--⨯-=4435,44l r =-=5546,.55l r =-=12341c c c c ====-100002100013100001002224010000103335001000014446001000055L U -⎛⎫⎛⎫ ⎪ ⎪⎪ ⎪-- ⎪ ⎪ ⎪ ⎪-- ⎪ ⎪==⎪ ⎪ ⎪ ⎪-- ⎪ ⎪ ⎪ ⎪⎪ ⎪- ⎪ ⎪⎝⎭⎝⎭ 11111,,,,234552111,,,,63236TTLy b y ux y x ⎛⎫== ⎪⎝⎭⎛⎫== ⎪⎝⎭由得由得。