11?8????n?1??n?k?1???n3?nk?122
1312??nnn3,加减法的次数在第二节中我们曾指出,高斯消元法的运算量,乘除法次数为313125n?n?n26,从而,高斯—若当消元法比高斯消元法的运算量乘除法多为31312213121??nnnn?n?n623次,加减法多623次。当n值较大时,高斯消元法比高斯
13n6—若当消元法节省次乘除法和加减法,这个运算量是十分可观的.
n二 逆矩阵
高斯—若当消元法对求 一个矩阵的逆矩阵,或对求解仅常数项不同的很多方程组及矩阵方程是非常有用的. ?求矩阵矩阵分块
A的逆矩阵A?1,即求n阶矩阵X,使AX?In,其中In为n阶单位矩阵.?将
X??x?1?,x?2?,...x?n?? In??e1,e2,...en?
于是,求解AX?In等价于求解n个方程组
Ax?j??ej,j?1,2,...,n
AX?In的增广矩阵为C??A?In?,如果对C应用
?1???B?B. InA高斯-若当方法化为,则
定理 设A为非奇异矩阵,方程组例2 例2 用高斯—若当消元法求
由线性代数理论,我们有下面结论.
?132?A??254?????365??
的逆矩阵
解
A?1.
?132100?C??A|I3???254010?????365001?? ?132100???0?10?210?????0?3?1?301???102?530???0102?10?????00?13?31??
?9??10?
所以
?1001?32???0102?10?????001?33?1???1?32?A?1??2?10??????33?1??
?11?
为了节省存储单元,可不必将单位矩阵存放起来.作为第一步结果的式(9)中第1列已无用
处,而第4列又相当于逆矩阵所求第1列的中间结果,把它移到第1列不影响简化过程的实质.而且第5、6两列的常数项可取消,它们对简化也无实质影响,所以,最终按原位记法(9)式的结果可存放为
同理,式(10)中的n?则按原位记法为
?2n?阶矩阵将第4列移到第1列,第5列移到第2列,取消第6列,
2???53?2?10?????3?3?1?? ?1?32??2?10??????33?1??
32??1??2?10??????3?3?1??
式(11)的原位结果为
即为我们所要求的逆矩阵A,所以在计算中求逆矩阵的过程可简记为
32??132??1A??254????2?10???????365?????3?3?1??
2???53?1?32??2?10??2?10??????1?3?3?1??????33?1??=A ? ?一般地,逆矩阵的计算公式为
?1a?'kjakk?'akjakk1,j?1,...,k?1,k?1,n?12?
akk?13?
aij?aij?akjaik,''i?1,...,k?1,k?1,nj?1,...,k?1,k?1,ni?1,...,k?1,k?1,nk?1,2,...n
?14??15?
a??aika,'ik'kk式(12)—(15)就是求逆矩阵的基本计算公式,对应于每一个k值就是完成了一个消元过程,在消元过程进行中i和
j变量在规定的范围内进行循环.
我们知道,只要矩阵A的行列式det?0,则A总是可逆的,然而,当主元素为零或绝对值
太小时,按上述方法计算机可能要溢出,因此,在约化的过程中也应采用选主元素的方法,如果互换矩阵的两行,对方程组的解来说,这样的对换对结果没有影响;而对求逆矩阵来说,这样的对换改变了所要求的逆矩阵.事实上,是逆矩阵也作了相应两列的互换,所以,计算逆矩阵也可以通过列主元素消元法,只要记住行的交换,然后在结果中施行相应的列交换即可.
第四节 第四节 矩阵分解? 一 矩阵的LU分解
高斯消元过程实际上是对方程组的增广矩阵施行初等行变换,也就相当于用相应的初等矩阵
?1??0??1??0?x?x?bbAA左乘增广矩阵.如果对施行第一次消元后化为, 则存在L1, 使得
?0??1??0??1???bbLAAL11 ,
其中
?1????1l21???1L1???l31???????1???ln1?
?k??k?x?kbA一般地,施行第次消元后化为,则有 ?k?1??k??k?1??k???bbLAALkk ,
其中
重复这一过程,最后得到
?1????????1Lk????1lk?1k?????????1lnk??
Ln?1?L2L1A?0??A?n?1?
Ln?1?L2L1b?0??b?n?1?
?n?1?将上三角矩阵A记为U,则
A?LU
其中
L?L1L2...Ln?1为单位下三角矩阵。
?1?1?1?1??l?1?21?????1??ll?1??n1n2?
这就是说,高斯消元法实质上产生了一个将作用.
A分解为两个三角形矩阵相乘的因式分解,称为
D?0?i?1,2,..n?则A可
A的三角分解或LU分解.于是我们有如下的重要定理,它在解方程组的直接法中起着重要的
定理1(矩阵的LU分解) 设A为n阶矩阵,如果A的顺序主子式i分解为一个单位下三角矩阵L和一个上三角矩阵U的乘积,且这种分解是唯一的. 证明 根据以上高斯消元法的矩阵分析, A?一性,设
LU的存在性已经得到证明,下面证明分解的唯
A?LU?L1U1
L,L1为单位下三角矩阵;U,U1为上三角矩阵,由于A可逆,从而L1与U可逆,故 其中
?1LL?UU1 1
?1上式右边为上三角矩阵,左边为单位下三角矩阵,因此,上式两边都必须等于单位矩阵,于是
L1?L,U1?U例1 例1 求矩阵
的LU分解.
解 由高斯消元法
?111?A??04?1?????2?2?1??
l21?a21a11?0,l31?a31a11?2
且
?111?A?A?0???04?4??A?1?????0?4?1??
?1??4al32?32???1?1?4a22进一步,有,且
?111?A?1???04?1??A?2?????0?4?1??
所以, A?LU,其中
?100??100?L??l2110???010???????2?11?? ?l31l321???U?A?2?
如果把A分解为乘积LU后,求解Ax?b的问题可以看作是相继求解具三角状系数的方程组
的问题,也就是用
?Ly?b??Ux?y
求y,再用
?y1?b1?k?1?lksyj?yk?bk??j?1????k?2,3?,n?
求x,因此,利用LU分解在求解具相同系数矩阵而有不同常数列的方程组时,只要保留L与U的记录就不必要做A的分解及约化的重复工作(这是比较费时的),只要做求解两个三角状系数
方程组的工作就行了,而这两件工作是比较容易和省时的.
二 LU分解的计算公式
定理1告诉我们,如果A的各阶主子式不为0,则存在唯一的LU分解,所以,矩阵分解不一定采用高斯消元法,下面给出一种直接计算方法,设 A?其中
yn?xn??unn??n?/u?x??y?uy??kkksj?kk?j?k?1????k?n?1,n?2?,1?LU ?1?
?1??u11u12u13?u1n??l???1uu?u22232n?21????U???L????????????????????unn??ln1ln2??1????
利用矩阵乘法及矩阵相等则对应元素相等的事实,可以逐一求出L与U的各个元素.首先,从第1行得出U的第1行元素
?2? u1j?a1j,j?1,2,?,n再从第1列算出L的第1列元素
ai1?3?li1?,i?2,3,?,nu11
其次,从第2行算出U的第2行元素
?4? u2j?a2j?l21u1j,j?1,2,?,n再从第2列算出L的第2列元素