线性方程组的直接解法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第4章 线性方程组的直接解法
本章主要内容
线性方程组的直接解法——消元法(高斯消元法、主元消元法). 矩阵的三角分解法( Doolittle 分解、Crout 分解、 LDU 分解) 紧凑格式 改进平方根法.
本章重点、难点
一、消元法(高斯消元法、列主元消元法)
本章求解的是n 阶线性方程组Ax=b 的(即方程的个数和未知量的个数相等的线性方程组)
⎪⎪⎪⎩⎪⎪⎪⎨⎧=+⋅⋅⋅++⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅⋅
⋅⋅=+⋅⋅⋅++=+⋅⋅⋅++n
n 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 22112
3222212111212111
1. 高斯消元法
①高斯消元法的基本思想:通过对线性方程组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 n
k j i b a a b b a a a a a n k n j i b b a a i ii n
i j j
i ij i i i n nn
n n
n k k k kk k ik k i k i k kj
k kk k ik k ij k ij i i ij ij
对回代公式:
消元公式:
利用高斯消元法进行消元时,消元过程能进行到底的充分必要条件是系数矩阵A 的各阶顺序主子式不为零。或要求),,1(0)
1(n k a k kk =≠-,若0)
1(=-k kk
a (k=1,..,n ),则消元法过程无法进行;若虽然0)
1(≠-k kk
a ,但很小,用它作除数,会引起很大的误差。所以为了
减小舍入误差、提高数值计算的稳定性,通常采用选主元的消元法(包括列主元消元法和全主元消元法)。
2. 主元消元法
①列主元消元法的计算步骤: 在进行第k (k=1,2,…,n-1)步消元时,首先在第k 列下面的n-k+1个元素中选取绝对值最大的元素)
1()1()
1(max ,-≤--=k ik i
k k pk k pk
a a a 即作为列主元素,然
后将列主元所在方程与第k 个方程交换位置,再按照高斯消元法进行消元、回代计算。 ②全主元消元法的计算步骤: 在进行第k (k=1,2,…,n-1)步消元时, 首先在第k 行至第n 行和第k 列至第n 列的(n-k+1)2
个元素中选取绝对值最大的元素
)
1()1()1(,max ,-≤--=k ij j
i k k pq k pq a a a 即作为全主元素,然后将全主元所在行与第k 行交换,将全主元
所在列与第k 列交换,再按照高斯消元法进行消元、回代计算。
例1 用高斯消元法、列主元消元法解线性方程组
⎪⎪⎩⎪
⎪⎨⎧-=+-=-+--=+-1
242222321321321x x x x x x x x x
解 1. 高斯消元法 用矩阵的初等行变换法求解
① 消元
[]⎥⎥
⎥⎦
⎤
⎢⎢⎢⎣⎡----−→−⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-----−→−⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-----=130023102211763023102211121421122211b A
得同解上三角方程组为 :
⎪⎩
⎪
⎨⎧=-=+--=+-132322332321x x x x x x
② 回代,得:
⎪⎪
⎪
⎩
⎪
⎪
⎪⎨⎧=⨯-+-==⨯+==313123233132311
23x x x
方程组的解为:
⎪⎪⎩
⎪
⎪⎨⎧
=
==31331321x x x
2.列主元消元法
① 消元
[]⎥
⎥
⎥
⎥⎦⎤
⎢⎢⎢⎢⎣⎡----−→−⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡----−→−⎥⎥⎥⎦
⎤
⎢⎢
⎢⎣⎡----−→−⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡------−→−⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡-----=3110075.15.175.0012145.105.0075.15.175.00121475.15.175.005.105.0012
14
221121121214121421122211b 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 的计算公式为:⎪⎪
⎩⎪
⎪⎨⎧
⋅⋅⋅=-==∑-=n
k 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 ;