线性方程组的平方根解法
平方根法

实验名称 平方根法 小组成员 一、实验目的与内容 计算结果的分析 一、实验目的与内容 1.了解平方根法的原理和意义; 2.编程实现用平方根法求解线性方程组。 二、相关背景知识介绍 平方根法又叫 Cholesky 分解法,是求解对称正定线性方程组最常用的方法之一。 我们知道,对于一般方阵,为了消除 LU 分解的局限性和误差的过分积累,而采用了选主元的 方法。但对于对称正定矩阵而言,选主元却是完全不必要的。 若线性方程组 Ax=b 的系数矩阵是对称正定的,我们可按如下的步骤求其解: 1.求 A 的 Cholesky 分解: A LLT ;[1] 2.求解 Ly=b 得到 y, 3.将 y 回代求解 LT x y 得到 x。 三、代码 用平方根法求解下列方程组. n=5,10,100,…( 到你们小组计算能力的极限)求解,对计算解 和准确解比较,观察准确程度
10
15
20
五、计算结果分析 从数据结果可以看出,利用平方根法较为准确,且计算高阶矩阵时较快。在编程过程中 有的组员对计算出 L 阵后的计算不太清楚,造成了计算结果的错误,经过讨论对平方根法的 理解更加深刻了一层。
4教 师 评 语指导教 Nhomakorabea: 年 月 日
5
2.0000,-2.3094,-1.6330,-1.2649,-1.0328 -0.8729,-0.7559,-0.6667,-0.5963,-0.5394 -0.4924,-0.4529,-0.4193,-0.3904,3.7428 2.0000,-2.3094,-1.6330,-1.2649,-1.0328 -0.8729,-0.7559,-0.6667,-0.5963,-0.5394 -0.4924,-0.4529,-0.4193,-0.3904,-0.3651 -0.3430,-0.3234,-0.3059,-0.2902,3.8644
平方根的计算与运用

平方根的计算与运用一、简介平方根是数学中常见的一种数学运算,其运用非常广泛。
本文将介绍平方根的计算方法以及在实际生活中的应用。
二、平方根的计算方法1. 牛顿迭代法牛顿迭代法是一种求解方程近似解的方法,在计算平方根时也可以使用。
其基本思想是通过不断逼近方程 f(x)=0 的根来获得方程的解。
对于求解平方根,可以将问题转化为求解方程 x^2-a=0,其中 a 为待求的数。
具体计算步骤如下:步骤1:初始化,给定一个初始近似解 x0;步骤2:计算迭代公式,得到迭代的下一个近似解 xn+1,公式为xn+1 = (xn + a/xn)/2;步骤3:判断是否满足精度要求,如果满足则停止迭代,否则返回步骤2。
2.二分法二分法是一种逐步逼近的算法,它通过不断缩小一个区间来逼近方程的解。
在计算平方根时,可以将问题转化为求解方程 x^2-a=0,其中a 为待求的数。
具体计算步骤如下:步骤1:初始化,给定一个区间 [l, r],其中 l=0,r=a;步骤2:计算区间中点 m,公式为 m = (l + r)/2;步骤3:判断 m 的平方是否接近 a,如果接近则停止迭代,否则进入下一步;步骤4:根据 m 的平方与 a 的大小关系,调整区间的左右边界,继续迭代。
三、平方根的运用1. 几何学中的应用平方根在几何学中有广泛的应用。
例如在直角三角形中,勾股定理可以描述三边长度之间的关系,其中涉及到平方根的运算。
通过计算平方根,可以求得直角三角形的斜边长度。
2. 统计学中的应用在统计学中,方差是衡量数据分散程度的一个指标,其计算要用到平方根。
具体而言,方差是各个数据与均值之差的平方和的平均值,通过对平方根的运算可以获得方差的真实值。
3. 物理学中的应用平方根在物理学中也有许多应用,例如在牛顿第二定律中,计算加速度所需用到的运算中就包含了平方根。
通过求取平方根,可以获得物体的加速度信息。
4. 工程中的应用在工程学中,平方根有着广泛的应用。
(完整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 。
平方根法和改进平方根法求解线性方程组例题与程序

平方根法和改进平方根法求解线性方程组例题与程序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与精确解相比较也存在很大的误差,虽然系数矩阵的对角元素都大于零,原则上可以不必选择主元,但由于矩阵的数值问题较大,不选主元的结果就是产生很大的误差,所以在求解的过程中还是应该选择主元以此消除误差,提高精度。
平方根的计算方法

平方根的计算方法
平方根的计算方法主要有以下几种:
1. 迭代法:选择一个初始值作为近似解,然后通过无限迭代的方式不断逼近真实的平方根。
迭代法的基本思路是通过当前的近似解不断修正,使得修正后的结果更接近真实的平方根。
常见的迭代公式有牛顿迭代法和二分法。
2. 牛顿迭代法:设待求的平方根为x,可以将平方根的计算问
题转化为求解方程x^2-a=0的问题(其中a为待开方数)。
首
先取初始值x0,然后通过迭代公式不断更新x的值直到收敛,即满足|x^2-a|<ε(其中ε为预设的误差范围)。
具体的迭代公
式为:xn+1 = xn - (xn^2-a)/(2xn)。
3. 二分法:对于给定的待开方数a,可以将平方根的取值范围
设定为[0, a]。
首先取初始的左右边界值为0和a,计算中间值mid=(left+right)/2,并计算mid的平方。
根据mid的平方与a
的大小关系,调整左右边界的取值范围。
如果mid的平方小
于a,则将mid作为新的左边界;反之,如果mid的平方大于a,则将mid作为新的右边界。
不断迭代,直到找到满足条件
的mid,即满足|mid^2-a|<ε。
4. 牛顿-拉弗森法:这是一种更高阶的迭代法,可以更快地逼
近平方根的值。
具体的迭代公式为:xn+1 = xn - (f(xn)/f'(xn)),其中f(x) = x^2 - a,f'(x)为f(x)的导数。
通过不断迭代,可以逐步逼近真实的平方根。
线性方程组的特殊解法——平方根法

, =口/l 23 一n j nl , n l )
从 而确定 了第 的算式 为 : 列
r J一 _ 2 ) 厂 - , 口 … 广 — —
l= ∑[ ) (.l+,, ≠ l (一 ・ / f,' 2 , 口 正 2 =+_ …l j 『 √
因此 , 方根 法 求解对 称正 定矩 阵线 性方 程组 AX= : 用平 b ① 利用 递 推 公 式 ()() 矩 阵 A分 解 为 A 工 , 1 、2将 ②对称正定矩阵线性方程组中图分类号o1222文献标识码a文章编号1674098x200812a023901得到l用公式3解lyb得所以原方程组的解为4结语此算法的优点是在计算过程中不需选主元当n较大时约需n次乘除法运算相当于高斯消元法计算量的一半并且数值稳定储存量小
峰 朱 论 坛
Sic d e nlyn v cnea c og Io e n T h o n
一
I
0
有 方 一 平 根 。 效 法 一 方 法
可以证明对于对称正定矩阵A, 可以唯一地分解成 =工 r 其中L £,
; = 云
兰
,
得到L =
l、 一 3
, =/ 32 : ,
2平方根法递推公式
是非奇 异 下三 角形矩 阵 。因 篇幅有 限 , 明从 略) ( 证 下 面给 出平方 根 法 的递 推算 法 。 设
…
用公式(解 】西得,= , o 3 ) , , I 2 2 . _
再用公式( 解方程 4 )
LX T得 = l , ; , ; , r= , 一/ 3 一
…
=
;
:
…
,
O …
根 据矩 阵乘法 法
线性方程组的平方根解法

浅析线性方程组的平方根解法在求解线性方程组时,直接解法有顺序高斯消元法、列主元高斯消元法、全主元高斯消元法、高斯约当消元法、消元形式的追赶法、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 O 2211⎪⎪⎪⎪⎪⎪⎪⎭⎫⎝⎛11122211112M O ΛΛ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。矩阵的这一特性使它的 三角分解也有更简单的形式,从而导出一些 特殊的解法,如平方根法与改进的平方根法。
- 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 的全部元素。
三、平方根法的算法的流程图
四、平方根法的程序
五、平方根法的优缺点参考文献:。