线性方程组的直接法和迭代法

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

线性方程组的直接法 直接法就就是经过有限步算术运算,无需迭代可直接求得方程组精确解的方法。

线性方程组迭代法 迭代法就就是用某种极限过程去逐步逼近线性方程组精确解的方法.该方法具有 对讣算机的存贮单元需求少,程序设计简单、原始系数矩阵在计算过程中不变等 优点,就是求解大型稀疏矩阵方程组的重要方法.迭代法不就是用有限步运算求 精确解,而就是通过迭代产生近似解逼近精确解•如Jacobi 迭代、Gauss- Seidel 迭代、S0R 迭代法等。

1. 线性方程组的直接法
直接法就就是经过有限步算术运算,无需迭代可直接求得方程组精确解的方 法。

1.1 Cramer 法则
Cramer 法则用于判断具有n 个未知数的n 个线性方程的方程组解的情况。

当 方程组的系数行列式不等于零时,方程组有解且解唯一。

如果方程组无解或者有 两个不同的解时,则系数行列式必为零。

如果齐次线性方程组的系数行列式不等 于零,则没有非零解。

如果齐次线性方程组有非零解,则系数行列式必为零。

定理1如果方程组Ax = b 中»= A 工0,则Ax = b 有解,且解事唯一的, 解为X 严 ¥,/岸,..% 理,D 就是D 中第i 列换成向量b 所得的行列式。

Cramer 法则解n 元方程组有两个前提条件:
1、 未知数的个数等于方程的个数。

2、 系数行列式不等于零
例1 a 取何值时,线性方程组
X] + 兀2 + 兀3 = a
dX] +兀2 +些=1有唯一解。

內+花+ 0勺=1
所以当a 丰1时,方程组有唯一解。

定理2当齐次线性方程组Av = O, |4|乂0时该方程组有唯一的零解。

定理3齐次线性方程组Ar = 0有非零解<=>同=0。

1.2 Gauss 消元法
Gauss 消元法就是线性代数中的一个算法,可用来为线性方程组求解,求出 矩阵的秩,以及求出可逆方阵的逆矩阵。

当用于一个矩阵时,高斯消元法会产生出 一 1 1 1
1 1 1
解:|牛 a 1 1
= () 1-6/ 1-« 1 1 a 0
0 G-1 =_(。

_1丁
个“行梯阵式”。

1.2.1用Gauss消元法为线性方程组求解
eg:Gauss消元法可用来找出下列方程组的解或其解的限制:
2x+y— z = 8(厶)
<-3X-J +2Z =-11(L2)
—lx + y + 2z = -3 (厶)
这个算法的原理就是:首先,要将厶以下的等式中的兀消除然后再将厶2 以下的等式中的y消除。

这样可使整个方程组变成一个三角形似的格式。

之后再将已得出的答案一个个地代入已被简化的等式中的未知数中,就可求出其余的答案了。

在刚才的例子中,我们将斗厶与厶2相加,就可以将厶2中的兀消除了。


后再将厶与厶相加,就可以将厶中的X消除。

方程组则变为:
2x+ y-z = 8
1 1 [
—y+—z=\
2 - 2
2y+ z = 5
现在将-4厶与厶相加,就可将厶中的y消除,方程组变为:
2x + y - z = 8
1 1 |
2' 2
-z = 1
这样就完成了整个算法的初步,一个三角形的格式(指:变量的格式而言,上例中的变量各为3, 2,1个)出现了。

第二步,就就是由尾至头地将已知的答案代入
其她等式中的未知数。

第一个答案就就是Z=-lo然后直接带入,立即就可得出第二个答案:y = 3与最后一个答案x = 2o这样,我们利用高斯消元法解决了这个方程组。

2.线性方程组迭代法
迭代法就就是用某种极限过程去逐步逼近线性方程组精确解的方法.该方 法具有对计算机的存贮单元需求少,程序设计简单、原始系数矩阵在计算过程中 不变等优点,就是求解大型稀疏矩阵方程组的重要方法•迭代法不就是用有限步 运算求精确解,而就是通过迭代产生近似解逼近精确解•如Jacobi 迭代、Gauss —Seidel 迭代、S0R 迭代法等。

2.1 Jacobi 迭代法
aw
a ?2 d33
D = Un - 1. - 1
Un. n 0
ai\
0 L = G31
• • •
U32 • • •
Cln - LI
an -1.2
Cln. 1
Cln. 2 0 0 Cln. n - I 0
0 a\2Q13 …a\.n-\a 1. n
0 a 23 ...02“-16Z2, n
U =0 Q34
• • •• • •
a 3, n
对于线性方程组Ax = b则力二厶+ D + 〃,即将A分解为一个严格下三角矩
阵、一个对角阵与一个严格上三角矩阵之与,从而可写出Jacobi迭代格式的丫仏
+1)— _ r)-I// 丄77、丫伙)I 门(一1%
矩阵表示形式为:兀-2十U丿兀十Q ",其迭代矩阵
J = _£> 1(L + U))称为雅可比迭代矩阵、
将线性方程组Ax = b变为一个通解方程组x = Bx + f,对其进行迭代式改写,x(k+l) = Bx(k) + f ,R = 0,1,2....矩阵B为迭代矩阵
讣+讣+…+讣=4
a21x{+a22x2+--- + a2n x n =b2
[a nX x x+a n2x2+-^+a nn x n^b n
由方程组⑴的第i个方程解岀再(心12・・力),得到一个同解方程组:
+仇)
构造相应的迭代公式
严计八…一曲¥) 严=右(-映"—屛)-…-讣⑷+叫〃)
T
取初始向量兀⑹,利用(III)反复迭代可以得到一个向量序列{兀")},利用此迭代格式求解方程组的解法称为Jacobi迭代法。

用Jacobi迭代求解下列方程组
佔 + 3x? = 24
< 3X[ + 3X2 - x3 = 30
—X] + 4七=—24
输入
A=[4 3 0;3 3 -l;0 -1 4];
b=[24;30;-24];
[x, k, index]=Jacobi(A, b, le~5, 100) 输出:
-2、9998
11、9987
-3、0001 k =
100
index 二
所以解为:旺二-2、9998,心=11、9987,兀二一3、0001
2.2 Gauss-Seide 迭代
若L 、U 、D 为上述的L 、U 、Do 则Gauss —Seidel 迭代法的矩阵表示 为:严"=D~\-Lx {k+'} -Ux ik ' +b),现将 x**+1)显示化由 (D + Qx^ =-Ux a)+b 得.+屮=—(£> + 厶尸乩⑷+(£> + 厶)一% △ G = ~(D + D : g = (D + Ly'b ,则得:x (*+,) = Gx (k} + g ,此即为 -Seidel 迭代法的矩阵表示形式,G 称为迭代阵。

由Jacobi 迭代法中,每一次的迭代只用到前一次的迭代值,若每一次迭代

伙+1) 充分利用当前最新的迭代值,即在讣算笫1个分量"
时,用最新分量 (R+1)
伙+1) 伙+1) r (k)
(k) 伙)
1 ,
2 …口 代替旧分量1严…G ,就得到所 谓解方程组的Gauss-Seidel 迭代法。

其迭代格式为
(k = 0丄2,…;i = 0,12 …刃)
或者写为
(x-k+l) = x-k) +
Ck = k = 0,1,2, • • - ; i = 0,1,2, • • • n) J
1 Z-l /-I w=丄心—2>产严— I
Cl ii 丿=1
丿=/+l 用Gauss-Seide 迭代求解下列方程组
(初始向量),

+1
-丈曲) 7=/+1
nn
4 兀]+ 3X2 = 24
< 3兀]+ 3七 _ 兀3 二30 _x> + = —24
输入
A二[4 3 0;3 3 -l;0 -1 4]; b二[24;30;-24];
x0二[0;0;0];
[v, sN, vChain]=gaussSeidel (A, b, xO, 0、00001, 11) 输出:V 二
0、6169
11、1962
-4、2056
sN 二
11
vChain =
6、000010、0000-6、0000
-1、50002
、0000-3、5000
4、500010、3333-
5、5000
-1、75003
、6667-3、4167
3、250010、6111-5、0833
-1、95835
、0556-3、3472
2、208310、8426-4、7361
-2、13196
、2130-3、2894
1、340311、0355-4、4468
-2、27667
、1775-3、2411
0、616911、1962-4、2056
000
000
000
000
所以结果为:
Y Y
0、6169, 2二11、1962, "3二_4、2056 。

2.3SOR迭代
在很多1W况下,Jacobi与Gauss—Seidel法收敛速度较慢,SOR法就是Gauss —Seidel法的一种加速方法,需要施加合适的松弛因子。

若L、U、D为上述的L、U、D o S0R迭代公式为X'k+l) = L u.X a> + f , 其中厶.= (P-coL)~x((1 —co)D + coU)J' = a)(D-a)L)~l e[1,2] o
用SOR迭代求解下列方程组。

0.76^ -0.0L V2-0.14X3-0.16X4 =0.68
-0.0lx, +O.8&C2 -0 03xj +0.06兀4 = 1.18
一0.14兀]-0.03兀2 + 1.01x3-0.12X4 = 0.12
-0.16x, +0.06吃一0.12疋+0.72*4 =0.74
取初始点x⑼=(0,0,0,0)丁松弛因子co=1.05,精度要求£ = 10“。

输入
A二[0、76 -0、01 -0、14 -0、16;-0、01 0、88 -0、03 0、06;
一0、14 一0、03 1、01 一0、12;-0、16 0、06 一0、12 0、72];
B二[0、68 1、18 0、12 0、72];
X0=[0;0;0;0];
W二1、05
[x, n]=S0R(A, b, x0, w)
输出
x=
1、2715
1、2844
0、4858
1、2843
n=
7
有上述结果得出:经过7次迭代后,该方程组的解为
xl二1、2715, x2=l、2844, x3二0、483& x4=l、2843
2.4迭代法收敛
引理:设A为n阶方阵,则lim屮=0的充要条件为p{A) <1(/?(A)为普 A — 8
半径)。

证明:必要性若lim屮=0
曲矩阵收敛的定义知巴I屮卜0有因为p(A) < ||州所以0 V p(A) < ||A|| 由夹逼定理
可得出lim[Q(A)F = 0 , 乂因为p(A k) = [p(A)r所以由
X->00
lim[p(A)]' = 0 可得出p(A) < 1
A—>X
充分性:若。

(4)<1,取£上:0>0,存在矩阵范数M,使得
||A||< P(A)+£=匕⑷ < 1 则有:!型 ||A『=0,
由算子范数相容性可得:0 < ||^|| <卜厂HII〈…勻I 由夹逼定理可得出lim£ = 0。

A—
定理1:迭代公式x(k+i)=Bx(k)^f,k=0X2....收敛的充分必要条件就是迭代矩阵B的谱半径p{B)<\
证明:必要性
设存在n维向量F,使得lim 士 = x*,则F满足x* = Bx k +f
-V—»OC
由迭代公式得出
k *
X —X = Bx(k-[) + f-Bx-f = B(x(k-[)-x)
= B2(x(k~2)-x)
= B k(x(Q)-x)
所以limB A (x<(), -x*) = lim(x A一疋)=0
.V—>00 \ 丿 A -^00 \ )
因为X(0)为任意n维向量,因此上式成立必须怛圧=0 由引理可得出°(B) <1。

充分性:若0(B) V 1,则兄=1不就是B的特征值,因而有|/ 一3| H 0,于就是对任意的n维向量f,方程组(/ 一B)x = f有唯一解,记为F oE|J:x =Bx^f 且巴少=0又因为
A—>X
x k—x
=Bx(k-[) + f- BT -f
= B(x(k-[)-x^
= B2(x(k~2)-x)
= B k(x(Q)-x)
所以,对任意初始向量尤⑼都有lim(2 -x) = lim B k (?0)-Z) = 0
即迭代公式x(A+,) = Bx(k) +f,k=0X 2....收敛。

注解:代矩阵B的谱半径Q(3) = max旣(B)这里的凡(〃)就是矩阵B的特征值。

定理2:若迭代矩阵的一种范数11^11 < 1,则对任意的初始向量%⑼与任意/。

严I) _ RW f 迭代格式兀"X +J均收敛。

迭代法收敛与否只决定于迭代矩阵的普半径,于初始向量及右端项无关。

对于同一方程组,山于不同的迭代法迭代矩阵不同,可能出现有的方法收敛,有的发散的情形。

注解:三种常用矩阵范数
0卜診严勺的I ||A卜=ID严勺则历
为:7=1, 7曰」nl--^z,(Ai就是A%的最大特
征值)。

由上述两个定理可得:Jacobi迭代收敛的充分必要条件就是Q(B) < 1,收敛的充
分条件就是任一种范数< ^Gauss-Seidel迭代收敛的充分必要条件就是P(B) < 1,收敛的充分条件就是任一种范数11^11 < 1 o
定理3:对角占优线性方程组加=:的Jacobi迭代格式入""=Bx(k} + 了
(A+l) _厂⑹丄
与Gauss一Seidel迭代格式均X~ X &收敛。

注解:n阶方阵A,如果其主对角线元素的绝对值大于同行其她元素绝对值之与,则称A就是对角占优的.
虽然定理1就是充分必要条件,可就是需要计算迭代矩阵B的特征值,我们在线性代数上瞧到一个大型矩阵的特征值就是非常难求的,计算量就是很大的。

定理2与定理3的计算量相对定理1来说就是相当小的,因为它们只就是简单的加减乘除;但就是她们就是充分条件,不满足时需要再改用定理1来判断。

所以收敛的判断可先采用定理2与定理3,不行再选择定理1。

预处理就是用来加速迭代法收敛的一个重要手段。

值得注意的就是,经典的求解线性方程组的迭代法也都能够瞧作就是求解采用不同的因子预处理之后得到的线性方程组的迭代法。

换句话来说,原线性方程组的松弛迭代法等价于预处理之后的方程组的定点迭代法。

谱条件数就是反映预处理因子性态就是否良好的一个有效指标。

在估计特征值与条件数的界的研究领域,虽然已经有了很多的研究成果,但就是支持理论还就是一个全新的概念。

支撑理论就是一个用于分析预处理方程组的最大(或最小)特征值与条件数的代数架构,它最初产生于对称正定的线性方程组⑺2.5迭代法收敛的应用
用Jacobi迭代,Gauss一Seidel迭代两种方法求解下列方程组就是否收敛。

Xj + 2X 2 - 2X 3 = 1 < X] + *2 + 心=2
2x, + 2X 9 + “ = 3
解:因为迭代法收敛与否只决定于迭代矩阵的普半径。

所以求普半径就是否小于 1、
「1 2 -2' j
0 o'
A = 1 1 1 ,D — 0
1 0
2 2 1
0 0 1 _0 0 01
0 2 -2' L = 1 0 0 u = 0 0 1
2 2 0
0 0 0
Jacobi 迭代矩阵 B = —D \L + U )
0-2 2 B = -DT(L + U)= -1 0
-1
-2 -2 0 -2
其特征方程\AI ~B 所以入=入=入=0,所以°(B) = OV1所以Jacobi 迭代法收敛。

Gauss 一Seidel 迭代矩阵 B = —(D + L) 1
2 -2 2-2
3 =久(兄一2尸=0
0 2-2 所以特征值为人=0,人=人=2所以Q (B) = 2> 1所以Gauss-Seidel 迭 代法发散。

上述例子说明对于同一方程组,曲于不同的迭代法迭代矩阵不同,可能出现有的方 法收敛,有的发散的情形。

0 -2
B = —(D + L)T = 0
2 2 -
3 2 2
其特征方程一肛° 0。

相关文档
最新文档