当前位置:文档之家› 线性方程组的直接解法

线性方程组的直接解法

第4章 线性方程组的直接解法本章主要内容线性方程组的直接解法——消元法(高斯消元法、主元消元法). 矩阵的三角分解法( Doolittle 分解、Crout 分解、 LDU 分解) 紧凑格式 改进平方根法.本章重点、难点一、消元法(高斯消元法、列主元消元法)本章求解的是n 阶线性方程组Ax=b 的(即方程的个数和未知量的个数相等的线性方程组)⎪⎪⎪⎩⎪⎪⎪⎨⎧=+⋅⋅⋅++⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅=+⋅⋅⋅++=+⋅⋅⋅++nn nn n n n n n b x a x a x a b x a x a x a b x a x a x a 2211232222121112121111. 高斯消元法①高斯消元法的基本思想:通过对线性方程组Ax=b 的进行同解消元变换(也可以用矩阵的初等行变换法进行线性方程组的消元变换),将线性方程组化为上三角形方程组,然后用回代法求出此线性方程组的解。

②高斯消元法计算公式:⎪⎪⎪⎪⎪⎪⎩⎪⎪⎪⎪⎪⎪⎨⎧--=-=--==⎪⎪⎪⎪⎪⎪⎩⎪⎪⎪⎪⎪⎪⎨⎧+=-=-=====-+=------------∑)1,...,2,1()1,...,2,1(,...,1,,,,...,2,1),...,2,1,(,)1(1)1()1()1()1()1()1()1()1()()1()1()1()1()(,)0()0(n n i a x a b x n n i a b x nk j i b a a b b a a a a a n k n j i b b a a i ii ni j ji ij i i i n nnn nn k k k kk k ik k i k i k kjk kk k ik k ij k ij i i ij ij对回代公式:消元公式:利用高斯消元法进行消元时,消元过程能进行到底的充分必要条件是系数矩阵A 的各阶顺序主子式不为零。

或要求),,1(0)1(n k a k kk =≠-,若0)1(=-k kka (k=1,..,n ),则消元法过程无法进行;若虽然0)1(≠-k kka ,但很小,用它作除数,会引起很大的误差。

所以为了减小舍入误差、提高数值计算的稳定性,通常采用选主元的消元法(包括列主元消元法和全主元消元法)。

2. 主元消元法①列主元消元法的计算步骤: 在进行第k (k=1,2,…,n-1)步消元时,首先在第k 列下面的n-k+1个元素中选取绝对值最大的元素)1()1()1(max ,-≤--=k ik ik k pk k pka a a 即作为列主元素,然后将列主元所在方程与第k 个方程交换位置,再按照高斯消元法进行消元、回代计算。

②全主元消元法的计算步骤: 在进行第k (k=1,2,…,n-1)步消元时, 首先在第k 行至第n 行和第k 列至第n 列的(n-k+1)2个元素中选取绝对值最大的元素)1()1()1(,max ,-≤--=k ij ji k k pq k pq a a a 即作为全主元素,然后将全主元所在行与第k 行交换,将全主元所在列与第k 列交换,再按照高斯消元法进行消元、回代计算。

例1 用高斯消元法、列主元消元法解线性方程组⎪⎪⎩⎪⎪⎨⎧-=+-=-+--=+-1242222321321321x x x x x x x x x解 1. 高斯消元法 用矩阵的初等行变换法求解① 消元[]⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡----−→−⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-----−→−⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-----=130023102211763023102211121421122211b A得同解上三角方程组为 :⎪⎩⎪⎨⎧=-=+--=+-132322332321x x x x x x② 回代,得:⎪⎪⎪⎩⎪⎪⎪⎨⎧=⨯-+-==⨯+==31312323313231123x x x方程组的解为:⎪⎪⎩⎪⎪⎨⎧===31331321x x x2.列主元消元法① 消元[]⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡----−→−⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡----−→−⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡----−→−⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡------−→−⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-----=3110075.15.175.0012145.105.0075.15.175.00121475.15.175.005.105.001214221121121214121421122211b A 得同解上三角方程组为 :⎪⎪⎪⎩⎪⎪⎪⎨⎧=-=+--=+-3175.15.175.0124332321x x x x x x② 回代,得方程组的解为:⎪⎪⎪⎩⎪⎪⎪⎨⎧===31331321x x x二 矩阵的三角分解(包括Doolittle 分解和Crout 分解) ㈠ 矩阵的三角分解和线性方程组的关系若线性方程组Ax=b 的系数矩阵A 能进行三角分解,即A=LR ,则解线性方程组Ax=b 等价于求解两个系数矩阵为三角阵的方程组 LY=b 和 RX=Y 。

其中消元法的消元过程就是分解系数矩阵为A=LR ,并解线性方程组LY=b ,而回代过程则是解方程组RX=Y 。

用代入法解方程组LY=b 的计算公式为:⎪⎪⎩⎪⎪⎨⎧⋅⋅⋅=-==∑-=nk y l b y b y k m m km k k ,,3,21111再回代解方程组RX=Y 的计算公式为:⎪⎪⎩⎪⎪⎨⎧⋅⋅⋅-=-===∑+=1,,1/)(3/1n k r x r y x r y x kk n k m m km k k nn n n㈡ 矩阵的三角分解是将给定的n 阶矩阵A ,找到一个下三角矩阵L 和上三角矩阵R,使得A=LR.1. Doolittle 分解:是指将矩阵A 分解为单位下三角矩阵L 和上三角矩阵R,即A=LR.2. Crout 分解: 是指将矩阵A 分解为下三角矩阵L ~和单位上三角矩阵R ~,即3. LDU 分解: 是指将矩阵A 分解为单位下三角矩阵L 、对角矩阵D 和单位上三角矩阵R,即A=LDR.注意:不是任何方阵都可以进行三角分解。

例如二阶非奇异矩阵⎥⎥⎦⎤⎢⎢⎣⎡0110就没有三角分解。

㈢ 矩阵A 进行三角分解的条件与结论:若矩阵A 的所有顺序主子式detA k ≠0(k=1,2,…,n-1),则 ①存在唯一单位下三角阵L 和上三角阵R.使得A=LR ;②存在唯一的单位下三角阵L 、对角阵D 和单位上三角阵U ,使得A=LDU. ㈣ 主元消元法与矩阵分解的条件与结论:若n 阶矩阵A 非奇异,即detA ≠0,则①存在n 阶置换矩阵P,元素绝对值不大于1的单位下三角阵L 和上三角阵R,使得PA=LR ②存在n 阶置换矩阵P 和Q,元素绝对值不大于1的单位下三角阵L 和上三角阵R,使得PAQ=LR 例2 已知矩阵⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=342454122A 检验A 是否满足三角分解的条件,若满足条件,则进行R L A LDU A LR A ~~,,===分解.解 因为02det 1≠=A ,02det 2≠=A ,04det ≠-=A ,所以A 满足三角分解条件, 下面用高斯消元法分解因为0211≠=a ,存在消元阵11-L ,使得⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡--=-22211223424541221112111A L由01)1(22≠=a ,存在消元阵12-L ,使得⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-=--221122222112212111112A L L 于是有⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡==221122121121LR A再取 ⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎣⎡-=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-=-211212121D D⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎣⎡=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎣⎡-==-1212111221122211211R D U 于是有⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎣⎡⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡==1212111212121121LDU A 再取UR LD L =⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-==~222142~于是有⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎣⎡⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-==1212111222142~~R L A三、紧凑格式紧凑格式是利用矩阵乘法和矩阵相等的法则,对矩阵A 直接进行三角分解的一种有一定规律的、便于记忆的分解方法。

并且可以用此方法很容易地求解线性方程组。

紧凑格式的公式为:⎪⎪⎪⎪⎩⎪⎪⎪⎪⎨⎧⋅⋅⋅+=-=⋅⋅⋅=-=⋅⋅⋅=⋅⋅⋅==⋅⋅⋅==∑∑-=-=nk i r r l a l n k j r l a r n ki n j r a l n j a r kk k m mj km ik ik k m mj km kj kj j j j j ,,1,/)(,,,,,2,,2,;),,2,1(,1111111111)(对)(⎪⎩⎪⎨⎧-=-==⎪⎩⎪⎨⎧=-==∑∑+=-=1,,1,)(,,,2,11111 n k r x ry x y x nk y l b y b y kk nk m m kmk k n n k m mkm k k紧凑格式的计算表:利用紧凑格式的计算表对矩阵进行三角分解的步骤:1. 计算顺序:将a ij ,r ij ,l ij 按紧凑格式的计算表排列好,计算时按框从外到内进行,每一框中先计算行,从左向右依次计算r ij ;再计算列,自上而下计算l ij 。

2. 计算方法:按行计算时,需将所求元素r ij 的对应元素a ij 逐项减去r ij 所在行左边各框的元素l ik 乘以r ij 所在列上面各框相应的元素r kj ; 按列计算l ij 时,在作上述运算后还需除以l ij 所在框的对角元素r ii 。

3. 写出矩阵的三角分解式。

例3 利用紧凑格式法对线性方程组AX=b 的系数矩阵A 进行三角分解,并求解此线性方程组。

其中⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡-=1721,542774322b A【思路】可以利用矩阵的乘法和矩阵相等的法则对矩阵A 直接进行三角分解; 也可以利用紧凑格式的计算公式(或列出紧凑格式的计算表)按顺序计算出单位下三角阵L 和上三角阵R 的元素,直接完成A=LR 的三角分解.再分别代入两个三角方程LY=b ,RX=Y 中,求出方程的解X解 方法一解 首先直接完成矩阵A 的三角分解LR A =⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-332322131211323121111542774322r r r r r r l l l根据矩阵乘法法则及矩阵相等的定义, 用L 第一行乘R 各列得3,2,2131211===r r r再用L 第二、三行乘R 第一列得 122,2243121-=-===l l用L 第二、三行乘R 第二、三列得3227,32272322=⨯-==⨯-=r r再用L 第三行乘R 第二列得 232)1(432=⨯--=l最后再用L 第三行乘R 第三列得6123)1(533=⨯-⨯--=r 于是得矩阵A 的三角分解式⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-=600130322121012001A然后解单位下三角形方程组b LY = 即⎪⎩⎪⎨⎧=--==-===⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-=18011721121012001,232131331212211321y l y l b y y l b y b y y y y b LY 则得,即 由第一个方程开始逐个代入得 TY )18,0,1(= 再解上三角形方程组Y RY =即TT x x x x r x r x r y x r x r y x r y x x x x Y RX)3,1,3(),,(3/)(1/)(3/1801600130322321113132121122323223333321--==∴⎪⎩⎪⎨⎧-=--=-=-===⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=方程组的解为则得即又方法二利用紧凑格式的计算公式得()⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-=∴=+-==⨯--=-==⨯-=-==⨯-=-=-=-===========6001303221210120016001303221210120016)(,232141327,3227,122,224;3,2,223321331333322123132321321222312212222113131112121131312121111A R L r l r l a r r r l a l r l a r r l a r r a l r a l a r a r a r 即⎪⎩⎪⎨⎧=--==-===⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-=1811721121012001,232131331212211321y l y l b y y l b y b y y y y b LY 则得,即TT x x x x r x r x r y x r x r y x r y x x x x Y RX )3,1,3(),,(3/)(1/)(3/1801600130322321113132121122323223333321--==∴⎪⎩⎪⎨⎧-=--=-=-===⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=方程组的解为则得即又四、改进平方根法当矩阵A 为对称矩阵时,它有对称的三角分解式,称为改进平方根法。

相关主题