线性方程组的平方根解法
数值分析15-平方根法

误差分析
定 义 :如 果 矩 阵 A 或 常 数 项 b 的 微 小 变 化 , 引 起 方 程 组 A x b解 的 巨 大 变 化 , 则 称 此 方 程 组 为 “ 病 态 ” 方 程 组 , 矩 阵 A称 为 “ 病 态 ” 矩 阵 (相对于方程组而言)。 否 则 称 方 程 组 为 “ 良 态 ” 方 程 组 , A称 为 “良态”矩阵。 矩阵的“病态”性质是矩阵本身的特性。 为了定量刻划方程组的“病态”程度,下面 对 方 程 组 A x b就 系 数 矩 阵 或 右 端 项 分 别 有 扰 动 的两种情形进行讨论。
LU 分解唯一
A = LLT
U = LT
用平方根法解线性代数方程组的算法
(1)对矩阵A进行三角分解,即A=LLT,由矩阵乘法:
对于 i = 1, 2,…, n 计算
2 lii aii lik k 1
i 1
1 2
1 i l a l l l ij ij ik jk jj 1 k
1 2 v
A v ( v 1, 2 或
A
A
2
m ax ( A T A ) . T m in ( A A ) 1 , n
当 A为 对 称 矩 阵 时 , c o n d ( A ) 2
其 中 1, n 为 A的 绝 对 值 最 大 和 绝 对 值 最 小 的 特 征 值 。
x A 1 b A 1 b
x x
b
b
此 式 表 明 ,当 右 端 项 有 扰 动 时 ,解 的 相 对 误 差 不 超 过 右 端 项 的 相 对 误 差 的 A A 1 倍 。
误差分析
平方根法计求解线性方程组

解线性n 阶方程组直接法—Cholesky 方法解n 阶线性方程组Ax=b 的choleskly 方法也叫做平方根法,这里对系数矩阵A 是有要求的,需要A 是对称正定矩阵,根据数值分析的相关理论,如果A 对称正定,那么系数矩阵就可以被分解为的T A=L L ∙形式,其中L 是下三角矩阵,将其代入Ax=b 中,可得:T LL x=b进行如下分解:T L x L b y y ⎧=⎨=⎩那么就可先计算y,再计算x ,由于L 是下三角矩阵,是T L 上三角矩阵,这样的计算比直接使用A 计算简便,同时你应该也发现了工作量就转移到了矩阵的分解上面,那么对于对称正定矩阵A 进行Cholesky 分解,我再描述一下过程吧: 如果你对原理很清楚那么这一段可以直接跳过的。
设T A=L L ∙,即1112111112112122221222221212....................................n n n n n n nn n n nn nn a a a l l l l a a a l l l l a a a l l l l ⎡⎤⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦⎣⎦其中,,1,2,...,ij ji a a i j n ==第1步,由矩阵乘法,211111111,i i a l a l l == 故求得111111,2,3,...i i a l l i n a === 一般的,设矩阵L 的前k-1列元素已经求出第k 步,由矩阵乘法得112211k k kk km kkik im km ik kk m m a l l a l l l l --===+=+∑∑, 于是11(2,3,...,n)1(),1,2,...kk k ik ik im km m kk l k l a l l i k k n l -=⎧=⎪⎪=⎨⎪=-=++⎪⎩∑ 注意到21kkk km m a l ==∑,于是有21max km kk ii i nl a a ≤≤≤≤ 这充分说明分解过程中元素2km l 的平方不会超过系数矩阵A 的最大对角元,因而分解过程中舍入误差的放大收到了控制,用平方根法解对称正定方程组时可以不考虑选主元问题。
牛顿迭代法求平方根

⽜顿迭代法求平⽅根迭代是数值分析中通过从⼀个初始估计出发寻找⼀系列近似解来解决问题(⼀般是解⽅程或者⽅程组)的过程,为实现这⼀过程所使⽤的⽅法统称为迭代法(Iterative Method)。
⼀般可以做如下定义:对于给定的线性⽅程组x=Bx+f(这⾥的x、B、f同为矩阵,任意线性⽅程组都可以变换成此形式),⽤公式x(k+1)=Bx(k)+f(括号中为上标,代表迭代k次得到的x,初始时k=0)逐步带⼊求近似解的⽅法称为迭代法(或称⼀阶定常迭代法)。
如果k 趋向⽆穷⼤时limt(k)存在,记为x*,称此迭代法收敛。
显然x*就是此⽅程组的解,否则称为迭代法发散。
跟迭代法相对应的是直接法(或者称为⼀次解法),即⼀次性的快速解决问题,例如通过开⽅解决⽅程x +3= 4。
⼀般如果可能,直接解法总是优先考虑的。
但当遇到复杂问题时,特别是在未知量很多,⽅程为⾮线性时,我们⽆法找到直接解法(例如五次以及更⾼次的代数⽅程没有解析解,参见阿贝⽿定理),这时候或许可以通过迭代法寻求⽅程(组)的近似解。
最常见的迭代法是⽜顿法。
其他还包括最速下降法、共轭迭代法、变尺度迭代法、最⼩⼆乘法、线性规划、⾮线性规划、单纯型法、惩罚函数法、斜率投影法、遗传算法、模拟退⽕等等。
利⽤迭代算法解决问题,需要做好以下三个⽅⾯的⼯作:确定迭代变量 在可以⽤迭代算法解决的问题中,⾄少存在⼀个直接或间接地不断由旧值递推出新值的变量,这个变量就是迭代变量。
建⽴迭代关系式 所谓迭代关系式,指如何从变量的前⼀个值推出其下⼀个值的公式(或关系)。
迭代关系式的建⽴是解决迭代问题的关键,通常可以顺推或倒推的⽅法来完成。
对迭代过程进⾏控制 在什么时候结束迭代过程?这是编写迭代程序必须考虑的问题。
不能让迭代过程⽆休⽌地重复执⾏下去。
迭代过程的控制通常可分为两种情况:⼀种是所需的迭代次数是个确定的值,可以计算出来;另⼀种是所需的迭代次数⽆法确定。
对于前⼀种情况,可以构建⼀个固定次数的循环来实现对迭代过程的控制;对于后⼀种情况,需要进⼀步分析出⽤来结束迭代过程的条件。
平方根法解线性方程组

a (k 1) ij
a / a (k1) ik
(k 1) kk
*
a(k kj
1)
,
i,
j
k
1,
,n
bi(k)
b(k 1) i
a / a (k1) ik
(k 1) kk
*bk(k1) , i k 1,
, n.
(3.9)
由(3.8)逐个回代,可得(3.1)的解
b(2) i
b (1) i
b2(1)mi2 ,
i,
j
3, 4,
, n.
重复上述过程,可以得到与(3.1)等价的上三角方程组:
a11x1
a12 x2 a12 x3
a (1) 22
x2
a (1) 22
x3
a (2) 33
x3
a1n xn b1
k 2
k 1
3
(n 1) (n 2)
2
1
1 2
n(n
1); (for
right
item)
除:(n 1) (n 2)
• 回代过程:
2 1
1 2
n(n
1)
1 2
(n
1)(multiply)
n(divide)
1 2
n(n
1).
• 运算量:1 n(n2 1) 1 n(n 1) 1 n(n 1) n3 3 n2 5 n
2. 即使高斯消元法可行,如果 ak(kk很1)小,运算中用它作分 母会导致其它元素数量计的严重增长和舍入误差的扩散。
解平方根方程的公式

解平方根方程的公式有:
1. 开方法:x = ±√a。
这是解开方程x2 = a的公式,其中a为大于零的数。
2. 乘除法:x = √(a/b)或x = √(ab)。
这是解开方程x2 = a/b或x2 = ab的公式,其中a和b为大于零的数。
3. 平方完成法:x = √(a ± b)。
这是解开方程x2 ± 2bx + b2 = a的公式,其中a和b为大于零的数。
4. 代入法:将开方数代入原方程,看是否成立。
如果成立,则这个开方数就是方程的解。
这主要用于解二次开方方程,如x2 - 6x + 9 = 0,可将x = 3代入,3的平方减6乘3加9等于0,所以x = 3是该方程的一个解。
5. 化为一元二次方程:ax2 + bx + c = 0,可化为(x + b/2a)2 = b2/4a - c,得出x = -b/2a ± √(b2/4a - c),这是解一元二次开方方程的公式。
6. 配方法:将开方数运算放在括号内,根据平方公式(a + b)2 = a2 + 2ab + b2,进行配等运算。
这是解形如(x + a)2 = b(x + c)等方程的公式。
7. 系数变换:将剩余的未知数系数移到等号一侧,化为完全平方形式,再开方得到解。
以上就是解开方程及平方根方程的主要公式与方法。
通过对这些公式与方法的熟练掌握,可以解决绝大多数中学阶段的开方方程问题。
如果遇到更复杂的方程,还需要灵活运用这些公式,并根据方程的具体
情况,选择恰当的解题策略。
平方根法和改进平方根法求解线性方程组例题与程序

平方根法和改进平方根法求解线性方程组例题与程序2、数学原理1、平方根法解n阶线性方程组Ax=b的choleskly方法也叫做平方根法,这里对系数矩阵A是有要求的,需要A是对称正定矩阵,根据数值分析的相关理论,如果A对称正定,那么系数矩阵就可以被分解为的形式,其中L是下三角矩阵,将其代入Ax二b 中,可得:进行如下分解:那么就可先计算y,再计算x,由于L 是下三角矩阵,是上三角矩阵,这样的计算比直接使用A计算简便,同时你应该也发现了工作量就转移到了矩阵的分解上面,那么对于对称正定矩阵A进行Cholesky分解,我再描述一下过程吧:如果你对原理很清楚那么这一段可以直接跳过的。
设,即其中第1步,由矩阵乘法,故求得一般的,设矩阵L的前k-l列元素已经求出第k步,由矩阵乘法得于是2、改进平方根法在平方根的基础上,为了避免开方运算,所以用计算;其中,;得按行计算的元素及对元素公式对于、、计算出的第行元素后,存放在的第行相置,然后再计算的第行元素,存放在的第行、的对角元素存放在的相应位置、对称正定矩阵按分解和按分解计算量差不多,但分解不需要开放计算。
求解, 的计算公式分别如下公式。
3、程序设计1、平方根法function[x]二pfpf(A,b)%楚列斯基分解求解正定矩阵的线性代数方程A二LL'先求LY二b再用L' X二Y即可以求出解X[n,n]=size(A) ;L(1, l)=sqrt(A(l, 1)) ;for k=2:nL(k, l)=A(k, 1)/L(1,1) ; endfor k=2: n-1 L(k, k) =sqrt (A(k, k)_sum(L(k, 1:k-1) > 2)) ; for i=k+l:n L(i,k) = (A(i,k)-stun(L(i, l:kT)、*L(k, l:kT)))/L(k,k); endendL (n, n)=sqrt (A(n, n) -sum(L(n, 1: n-1)、2)) ; %解下三角方程组Ly二b相应的递推公式如下,求出y矩阵y二zeros (n, 1) ;%先生成方程组的因变量的位置,给定y的初始值for k=l: n j=l: k-1; y (k) = (b(k)-L(k, j) *y (j))/L(k, k) ; end%解上三角方程组L' X=Y 递推公式如下,可求出X 矩阵x二zeros (n, 1) ;U=L;%求上对角矩阵for k=n: -1:1 j=k+l:n; x(k) = (y (k)-U(k,j)*x(j))/U(k,k);end » A二[4,2,-4,0,2,4,0,02,2,-1,- 2,1,3,2,01,14,1,-8,-3,5,6 0,-2,1,6,-1,-4,-3,32,1,-8,- 1,22,4,-10,-34,3,-3,-4,4,11,1,-4 0,2,5,-3,-10,1,14,2 0,0,6,3,-3,-4,2,19];>〉b=[0;-6;20;23;9;-22;-15;45];» x=pfpf(A,b)x =121、148160、152810、91202、01852、改进平方根法function[x]=improvecholesky(A,b,n)%用改进平方根法求解Ax=bL=zeros(n,n); %L为n*n矩阵D=diag(n, 0) ; %D 为n*n 的主对角矩阵S=L*D; for i=l: n %L 的主对角元素均为 1 L(i, i) = l; endfor i=l: n for j=l:n %验证 A 是否为对称正定矩阵if (eig(A)<=0) (A(i, j)~=A(j,i))%A的特征值小于0或A非对称时,输出wrongdisp(wrong) ; break; endendendD(1,1)=A(1, 1) ;%将A 分解使得A=LDLTfor i二2:n for j=l:i~l S(i,j)=A(i,j)-sum(S(i,l:j~ l)*L(j,l: j-1)); L(i,l:i-l)=S(i,l:i-l)/D(l:i-l,l:i-l); end D(i, i)=A(i, i)-sum(S(i, 1: i-l)*L(i, 1: i-1)) ; endy=zeros (n, 1) ; % x, y 为阶矩阵x=zeros (n, 1); for i=l: n y(i) = (b(i)-sum(L(i, 1: i-l)*D(l: i-1,1: i-l)*y (1: i-1)))/D(i, i) ;%通过LDy=b 解得y 的值endfor i=n:-1:1 x(i)=y(i)-sum(L(i+l:n, i)*x(i+l:n)) ;%通过LTx=y 解得x 的值end» A二[4,2,-4,0,2,4,0,02,2,-1,-2,1,3,2,01,14,1,-8,- 3,5,6 0,-2,1,6,-1,-4,-3,32,1,-8,-1,22,4,-10,-34,3,-3,- 4,4,11,1,-4 0,2,5,-3,-10,1,14,2 0,0,6,3,-3,-4,2,19];>> b=[0;-6;20;23;9;-22;-15;45];» n=8;»x=improvecholesky(A,b,n)x =121、148160、152810、91202、01854、结果分析和讨论平方根法和改进平方根法求解线性方程组的解为x二(121、1481, -140、1127,29、7515,-60、1528,10、9120,-26、7963,5、4259, -2、0185) To与精确解相比较也存在很大的误差,虽然系数矩阵的对角元素都大于零,原则上可以不必选择主元,但由于矩阵的数值问题较大,不选主元的结果就是产生很大的误差,所以在求解的过程中还是应该选择主元以此消除误差,提高精度。
第2章解线性方程组的直接方法5_6
25 29
9 10 9
y1
b1 l11
9 6
y2
b2
l21 l22
y1
2
b3 l3k yk
y3
k 1
l33
10 29
y1
b1 l11
i1
bi lik yk
yi
k 1
lii
10 7 * 9
6
3
29
174
6
13
即
y ( y1 , y2 , y3 )T
( 9 , 6
u~n1,n u~n1,n1
1
3
D diag(u~11 ,u~22 , ,u~nn ) [diag( u~11 , u~22 , , u~nn )]2
U~
DU
1
D
1 2
D
1
2U 1
11
A L~U~ L%(D 2 D 2U1)
11
而 A 为对称正定阵 , AT A U1T (D 2 D 2 L%T )
l11 li1 ln1
LT
lii
llnnni
------(15) i n 1, ,2,1
对称正定方程 组的平方根法
9
1. 输入系数矩阵A, 右端项b; 2. 作A的Cholesky分解:
for j=1,2,…n 2.1 如果j>1 则 for i= j,j+1,j+2,…,
j 1
§ 2.5 平方根法
一、对称正定矩阵的三角分解(Cholesky分解)
若n阶矩阵A为对称正定矩阵 则det( A) 0, AT A
且A的顺序主子式 det Ak 0, k 1,2, , n
因此A可以进行 LU分解(或Doolittle分解)
(完整word版)线性方程组的平方根解法
浅析线性方程组的平方根解法在求解线性方程组时,直接解法有顺序高斯消元法、列主元高斯消元法、全主元高斯消元法、高斯约当消元法、消元形式的追赶法、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 分解为:⎪⎪⎪⎪⎪⎭⎫ ⎝⎛=nn u u u U 2211⎪⎪⎪⎪⎪⎪⎪⎭⎫ ⎝⎛11122211112 u u u u u u n nn n 1DU =其中 D 为对角矩阵,U1为单位上三角阵.于是:A =LDU1=L(DU1)因为A 为对称矩阵,所以,A =AT =U1TDTLT =U1T(DLT),由 A 的 LU 分解的惟一性即得:L =U1T ,即U1=LT ,故A =LDLT 。
平 方 根 法
L是单位下三角阵, U是上三角阵, 将U再分解
u11
u 22
1
u
nn
u12
u11 1
u1n
u11
u n1,n
DU 0
u n1,n1
1
其中D为对角阵, U0为单位上三角阵,于是
A = L U = L D U0
又
A = AT = U0TD LT
数值计算方法
点l11是 需由a11要此进1例, 行可开l以21方看a运l1出211 算,11。平 1为,方避根免l法31 开解al方13正11 运定12算方 ,2程我组们的改缺
A LDL 用 解ll3232单成位a3三3a2l角2321 阵ll32222作1为11分24解T1阵4,13即的l把32 形对a式称32 l,正22l3其1定l21中矩 0阵11A分2 2
l11 l21 ln1
l22
l
n
2
l
nn
按矩阵乘法展开,可逐行求出分解矩阵L的元素,计
算公式是对于i=1,2,…,n
i1
1
lii (aii li2k ) 2
k 1
i 1
a ji l jk lik
l ji
k 1
lii
j=i+1, i+2,…,n
这一方法称为平方根法,又称乔累斯基(Cholesky)分
数值计算方法
平方根法 工程实际计算中,线性方程组的系数矩阵
常常具有对称正定性,其各阶顺序主子式及 全部特征值均大于0。矩阵的这一特性使它的 三角分解也有更简单的形式,从而导出一些 特殊的解法,如平方根法与改进的平方根法。
MATLAB-平方根法和改进平方根法求解线性方程组例题与程序演示教学
M A T L A B-平方根法和改进平方根法求解线性方程组例题与程序(2)设对称正定阵系数阵线方程组12345678424024000221213206411418356200216143323218122410394334411142202531011421500633421945x x x x x x x x -⎡⎤⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥---⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥----⎢⎥⎢⎥⎢⎥----⎢⎥⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥----⎢⎥⎢⎥⎢⎥----⎢⎥⎢⎥⎢⎢⎥⎢⎥⎢---⎢⎥⎢⎥⎢--⎢⎥⎢⎢⎥⎣⎦⎣⎦⎣⎦⎥⎥⎥⎥ (1,1,0,2,1,1,0,2)T x *=--二、数学原理 1、平方根法解n 阶线性方程组Ax=b 的choleskly 方法也叫做平方根法,这里对系数矩阵A 是有要求的,需要A 是对称正定矩阵,根据数值分析的相关理论,如果A 对称正定,那么系数矩阵就可以被分解为的T A=L L •形式,其中L 是下三角矩阵,将其代入Ax=b 中,可得:T LL x=b 进行如下分解:T L xL by y ⎧=⎨=⎩ 那么就可先计算y,再计算x ,由于L 是下三角矩阵,是T L 上三角矩阵,这样的计算比直接使用A 计算简便,同时你应该也发现了工作量就转移到了矩阵的分解上面,那么对于对称正定矩阵A 进行Cholesky 分解,我再描述一下过程吧: 如果你对原理很清楚那么这一段可以直接跳过的。
设T A=L L •,即1112111112112122221222221212....................................n n n n n n nn n n nn nn a a a l l l l aa a l l l l a a a l l l l ⎡⎤⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦⎣⎦其中,,1,2,...,ij ji a a i j n ==第1步,由矩阵乘法,211111111,i i a l a l l ==g 故求得111111,2,3,...i i a l l i n a === 一般的,设矩阵L 的前k-1列元素已经求出 第k 步,由矩阵乘法得112211k k kk kmkkik im km ik kkm m a l l a l l l l --===+=+∑∑, 于是11(2,3,...,n)1(),1,2,...kk k ik ik im km m kk l k l a l l i k k n l -=⎧=⎪⎪=⎨⎪=-=++⎪⎩∑ 2、改进平方根法在平方根的基础上,为了避免开方运算,所以用TLDL A =计算;其中,11122.........n d D D D d ⎤⎤⎡⎤⎥⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥===⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎢⎢⎥⎣⎦⎣⎣;得1121212212111111n n n n n d l l l d l A l l d ⎡⎤⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦⎣⎦L L M MO O O M L按行计算的L 元素及D 对元素公式 对于n i ,,2,1Λ=11(1,21)j ij ij ik jk k t a t l j i -==-=-∑…,./(1,2,)ij ij j l t d j ==…,i-1.11i i ii ik ikk d a t l -==-∑计算出LD T =的第i 行元素(1,2,i-1)ij t j =…,后,存放在A 的第i 行相置,然后再计算L 的第i 行元素,存放在A 的第i 行.D 的对角元素存放在A 的相应位置.对称正定矩阵A 按T LDL 分解和按T LL 分解计算量差不多,但T LDL 分解不需要开放计算。
- 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 分解为:
i DU i
其中D 为对角矩阵,Ui 为单位上三角阵•于是:A = LDU 仁L(DUI)
因为A 为对称矩阵,所以,A = AT = UITDTL 七U 仃(DLT),由A 的LU 分解的惟一 性即得:L = UIT,即 Ui = LT ,故 A = LDLT
工程技术中的许多实际问题所归结出的线性方程组,其系数矩阵常有对称正定 性,对于具有此类特殊性质的系数矩阵,利用矩阵的三角分解法求解是一种较好 的有效方法,这就是对称正定矩阵方程组的平方根法及改进的平方根法, 这种方
法目前在计算机上已被广泛应用。
定理3对称矩阵A 为正定的充分必要条件是A 的各阶顺序主子式大于零。
2对称正定矩阵的三角分解
定理(Cholesky 分解)设A 为n 阶对称正定矩阵,则存在惟一的主对角线元素 都是正数的下三角阵L ,使得:A = LLT 。
分解式A = LLT 称为正定矩阵的Cholesky 分解,利用Cholesky 分解来求解系数 矩阵为对称正定矩阵的方程组AX ^ b 的方法称为平方根法。
设A 为4阶对称正定矩阵,则由定理
4 知,A = LLT ,即: a ii
a i2
a i3 a i4 l ii 0 0
0 l ii l 2i l 3i l 4i a 21 a 22 a 23
a 24
l 2i
l
22
0 0
0 l 22
l 32
l 42
a 3i
a 32
a 33 a 34 l 3i l 32 l 33 0 0
l 33 l 43
a 4i a 42 a 43 a 44 l 4i l 42
l 43
144
l 44
将右端矩阵相乘, 并令两端矩阵的元素相等, 于是不难算得矩阵 L 的元素的计算
公式为:
平方根法的计算框图见图
用平方根法求解系数矩阵对称正定的线性方程组时,计算过程是数值稳定
U ii
U 22
U l2
U in U ii 1
U nn U 2n
U 22
U nn
为了避免开方运算,有时直接使用对称矩阵A的LDL T分解来计算,在中令U ij IjC i),根据矩阵乘法可以求出L和D的元素,然后将方程组即LDL T x b 转化为两个三角形方程组Ly b , L T X D 1 y,由前一方程解出y,代入后一方程便可解出x。
二、平方根法求解对称正定线性方程组的过程
用平方根法求解对称正定方线性程组Ax=b的步骤如下:
例用平方根法求解方程组
1 12X15
1 20X28
2 011X37
解设
11 2 J00l11l21 l31
120 1211 22001 22 1 32
2011 1311 321 3300 l33
右端矩阵相乘并比较等式两端。
由第一列有
1 h; , 1 l
1」,2 l11 l31
可得ln 1 ,l21 1,l 312
比较第二列有 2 2
2 l21 l22 ,0 l31l21l 32 l 22
求得
1
l22 (2 I;)2 1 ,132(0l 31 l 21 ) l 222
由第三列得11l32 l33,故l33 (11l^1
lj 3
100
L 110
223
由Ly b解得y15,y2 3, y3 3,由L T X y解得X12, X2 5, X3 1一般情形,设
A 根据矩阵乘法有
M1M1丨2151 LL T l21l22l22
l n2
l n1l n2l nn l
nn
k a kk l k kS i
I ks i kk,k 1,2,,n
s 1s1
k k 1
及a
i k l is l ks l is l ks 1ik l kk , i
s 1s 1
于是有
k 11
1 kk(a kk I》
s 1
k 1-1
l ik(a ik I i s I ks ) ■l kk , i k1,k
2
s 1
,n 在上式中取k=1,2,…,n便可求出L的全部元素
三、平方根法的算法的流程图
四、平方根法的程序
五、平方根法的优缺点参考文献:。