线性方程组的平方根解法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
在求解线性方程组时,直接解法有顺序高斯消元法、列主元高斯消元法、全主元高斯消元法、高斯约当消元法、消元形式的追赶法、LU分解法、矩阵形式的追赶法,当我们遇到对称正定线性方程组时,我们就要用到平方根法(对称LLT 分解法)来求解,为了熟悉和熟练运用平方根法求解线性方程组,下面对运用平方根法求解线性方程组进行解析。
一、运用平方根法求解线性方程组涉及到的定理及定义
我们在运用平方根法求解线性方程组时,要判定线性方程组Ax=b的系数矩阵A是否是对称正定矩阵,那么我们就要了解正定矩阵的性质和如下定理及定义:
1、由线性代数知,正定矩阵具有如下性质:
1) 正定矩阵A是非奇异的
2) 正定矩阵A的任一主子矩阵也必为正定矩阵
3) 正定矩阵A的主对角元素均为正数
4) 正定矩阵 A的特征值均大于零
5) 正定矩阵A的行列式必为正数
定义一线性方程组Ax=b的系数矩阵A是对称正定矩阵,那么Ax=b是对称正定线性方程组。
定义二如果方阵A满足A=AT,那么A是对称阵。
2.1.4 平方根法和改进的平方根法
如果A是n阶对称矩阵,由定理2还可得如下分解定理:
定理2 若A为n阶对称矩阵,且A的各阶顺序主子式都不为零,则A可惟一分解为:A=LDLT,其中L为单位下三角阵,D为对角阵。
证明因为A的各阶顺序主子式都不为零,所以A可惟一分解为:A=LU
因为,所以可将 U分解为:
其中 D为对角矩阵,U1为单位上三角阵.于是:A=LDU1=L(DU1)
因为A为对称矩阵,所以,A=AT=U1TDTLT=U1T(DLT),由 A的 LU分解的惟一性即得:L=U1T,即U1=LT,故A=LDLT。
工程技术中的许多实际问题所归结出的线性方程组,其系数矩阵常有对称正定性,对于具有此类特殊性质的系数矩阵,利用矩阵的三角分解法求解是一种较好的有效方法,这就是对称正定矩阵方程组的平方根法及改进的平方根法,这种方法目前在计算机上已被广泛应用。
定理3 对称矩阵A为正定的充分必要条件是A的各阶顺序主子式大于零。
2 对称正定矩阵的三角分解
定理 (Cholesky分解)设A为n阶对称正定矩阵,则存在惟一的主对角线元素都是正数的下三角阵L,使得:A=LLT。
分解式A=LLT称为正定矩阵的Cholesky分解,利用Cholesky分解来求解系数矩阵为对称正定矩阵的方程组AX=b的方法称为平方根法。
设A为4阶对称正定矩阵,则由定理 4知,A=LLT,即:
将右端矩阵相乘,并令两端矩阵的元素相等,于是不难算得矩阵L的元素的计算公式为:
平方根法的计算框图见图。
用平方根法求解系数矩阵对称正定的线性方程组时,计算过程是数值稳定的。
为了避免开方运算,有时直接使用对称矩阵A 的T LDL 分解来计算,在中令
)(i j l u i j j i >=,根据矩阵乘法可以求出L和D的元素,然后将方程组即b
x LDL T =转化为两个三角形方程组b Ly =,y D x L 1T -=,由前一方程解出y ,代入后一方程便可解出x 。
二、平方根法求解对称正定线性方程组的过程
用平方根法求解对称正定方线性程组Ax=b 的步骤如下: 例 用平方根法求解方程组
⎥⎥⎥⎦
⎤⎢⎢⎢⎣⎡=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡7851102021211321x x x 解 设
⎥⎥⎥⎦
⎤
⎢⎢⎢⎣⎡⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡=⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡3332223121113332312221110000001102021211l l l l l l l l l l l l 右端矩阵相乘并比较等式两端。由第一列有
311121112
112,1,1l l l l l ===
可得 2,1,1312111===l l l
比较第二列有 22322131222221
0,2l l l l l l +=+= 求得 1)2(21221
22=-=l l ,2)0(22213132-=-=l l l 由第三列得233
232
2
31
11l
l l ++=,故3)11(21232
231
33=--=l l l
⎥⎥⎥⎦
⎤
⎢⎢⎢⎣⎡-=32201
1001L 由b Ly = 解得3,3,5321===y y y ,由y x L T =解得1,5,2321==-=x x x 。
一般情形,设
⎥⎥⎥⎥⎦
⎤⎢⎢⎢⎢⎣⎡⎥⎥⎥⎥⎦⎤⎢
⎢⎢⎢⎣⎡==nn n n nn n n l l l l l l l l l l l l M O ΛΛΛO M 222121112122
2111T
LL A 根据矩阵乘法有
n k l l l a kk k s ks k
s ks k k ,,2,1,2
1
1
21
2Λ=+==∑∑-==
及 ∑∑=-=>+==k
s k k k i k s s k s i s k s i k i k i l l l l l l a 1
11
,
于是有
⎪⎪⎩
⎪⎪⎨⎧++=-⇐-⇐∑∑-=-=n k k i l l l a l l a l kk k s ks is ik ik k s ks kk kk ,,2,1,)()(1
12
111
2Λ 在上式中取k =1,2,…,n 便可求出L 的全部元素。
三、平方根法的算法的流程图