计算方法 解线性方程组的迭代法
第四章-解AX=b的迭代法
•迭代格式的收敛性
2 k 引理4.1 (线性代数定理) 设矩阵序列 IM , , M , , M ,
k l i m M 0 ( M ) 1 . k
则
(证明见关治和陈景良编《数值计算方法》P410-412) 定理4.1 设迭代格式为
( k 1 ) ( k ) xM x g , k 0 , 1 , 2 , ( 4 . 3 )
充分性()设ρ(M)<1,证{x(k)}收敛。
如果ρ(M)<1 ,则I-M为非奇异矩阵。事实上,因
为ρ(M)<1,λi<1,因此λ=1不是M的特征值,即
| 1 IM || IM |0 .
所以方程组 (I-M)x = f 有惟一解x*,满足(I-M)x* = f ,即 x*=Mx* + f 。于是
( k ) ( k 1 ) 2 ( k 2 ) x x * M ( x x * ) M ( x x * ) k ( 0 ) k M ( x x * ) M . 0
由引理4.1知,
k () k I f ( M ) < 1 ,t h e nl i m M 0 , l i m ( x x * ) 0 , i . e . k k () k l i m x x * . k
写成矩阵形式
x1 0 x b 2 21 31 x3 b x b n n1
或简记为
b 12 b 13 0 b23 b 0 32 bn2 bn3
b 1n x 1 g 1 b2n x2 g2 b 3n x 3 g3 g x 0 n n
( k ) ( k ) ( k 1 ) ( k ) x x * x x q x x *
第五章 解线性方程组的迭代解法
定义迭代法为: 定义迭代法为:
x ( k + 1) = G J x ( k ) + g
其中Jacobi迭代矩阵:GJ = D1 ( L + U ) 迭代矩阵: 其中 迭代矩阵
g = D 1b = (7.2, 8.3, 8.4)T 取 x ( 0 ) = (0, 0, 0)T , 代入迭代式,得x(1) = Bx ( 0 ) + g = (7.2, 8.3, 8.4)T x ( 2 ) = Bx (1) + g = (9.71,10.70,11.5)T x (9 ) = (10.9994,11.9994,12.9992) 精确解为 x = (11,12,13)T .
记
A = D L U
其中 D = diag (a11 ,, ann ) , L, U 分别为 A 的 严格下、上三角形部分元素构成的三角阵 严格下、上三角形部分元素构成的三角阵. Gauss-Seidel方法的矩阵形式为 方法的矩阵形式为
x ( k +1) = D1 ( Lx ( k +1) + Ux ( k ) + b)
或者
x ( k +1) = ( D L)1Ux ( k ) + ( D L)1 b
( 这说明Gauss-Seidel方法的迭代矩阵为 D L)1U 方法的迭代矩阵为 这说明
从而有
定理5.2 定理5.2 Gauss-Seidel方法收敛的充分必要条件为 方法收敛的充分必要条件为
ρ (GG ) < 1 或
计算方法3_线性方程组迭代解法
计算方法3_线性方程组迭代解法线性方程组的迭代解法是解决线性方程组的一种常见方法,常用于大规模的线性方程组求解。
该方法通过不断迭代更新解的近似值,直到满足一定的收敛准则为止。
线性方程组的迭代解法有很多种,其中最经典的是雅可比迭代法、高斯-赛德尔迭代法和超松弛迭代法。
本文将分别介绍这三种迭代解法及其计算方法。
雅可比迭代法是一种比较简单的线性方程组迭代解法,它的基本思想是先将线性方程组转化为对角占优的形式,然后通过迭代求解逐渐接近精确解。
雅可比迭代法的迭代公式为:其中,x^(k+1)是第k+1次迭代的近似解,n是未知数的个数,a_ij 是系数矩阵A的元素,f_i是方程组的右端向量的元素。
雅可比迭代法的计算步骤如下:1.将线性方程组转化为对角占优的形式,即保证矩阵A的对角元素绝对值大于其它元素的绝对值。
2.初始化向量x^(0),设定迭代终止准则。
3.根据雅可比迭代公式,计算x^(k+1)。
4.判断迭代终止准则是否满足,如果满足,则停止迭代,返回近似解x^(k+1);否则,继续进行下一次迭代。
高斯-赛德尔迭代法是雅可比迭代法的改进方法,它的基本思想是在每次迭代计算x^(k+1)时,利用已经计算出的近似解作为x的一部分。
高斯-赛德尔迭代法的迭代公式为:其中,x^(k+1)_i是第k+1次迭代的近似解中第i个未知数的值,x^(k)_i是第k次迭代的近似解中第i个未知数的值。
高斯-赛德尔迭代法的计算步骤如下:1.将线性方程组转化为对角占优的形式。
2.初始化向量x^(0),设定迭代终止准则。
3.根据高斯-赛德尔迭代公式,计算x^(k+1)。
4.判断迭代终止准则是否满足,如果满足,则停止迭代,返回近似解x^(k+1);否则,继续进行下一次迭代。
超松弛迭代法是对高斯-赛德尔迭代法的一种改进方法,它引入了松弛因子ω,通过调整参数ω的值,可以加快迭代的收敛速度。
超松弛迭代法的迭代公式为:其中,0<ω<2,x^(k+1)_i是第k+1次迭代的近似解中第i个未知数的值,x^(k)_i是第k次迭代的近似解中第i个未知数的值。
线性方程组的迭代式求解方法
线性方程组的迭代式求解方法迭代法解方程的基本原理1.概述把 Ax=b 改写成 x=Bx+f ,如果这一迭代格式收敛,对这个式子不断迭代计算就可以得到方程组的解。
道理很简单:对 x^{(k+1)}=bx^{(k)}+f 两边取极限,显然如果收敛,则最终得到的解满足 \lim_{k\rightarrow\infty } x^{(k)}=x^*=Bx^*+f ,从而必然满足原方程 Ax^*=b 。
迭代方法的本质在于这一次的输出可以当作下一次的输入,从而能够实现循环往复的求解,方法收敛时,计算次数越多越接近真实值。
2.收敛条件充要条件:迭代格式 x=Bx+f 收敛的充要条件是 \rho (B)<1充分条件: \Vert B\Vert <1即 \Vert B\Vert <1 \Rightarrow \rho(B)<1\Leftrightarrow 迭代收敛一、Jacobi迭代法怎样改写Ax=b ,从而进行迭代求解呢?一种最简单的迭代方法就是把第i行的 x_i 分离出来(假定 a_{ii} \ne 0 ):\sum_{j=1}^{n}a_{ij}x_j=b_i\Rightarrow x_i=\frac{b_i-\sum_{j=1,j\ne i}^{n}a_{ij}x_j}{a_{ii}}\quad \\这就是Jacobi(雅可比)迭代法。
迭代格式给定x^{(0)}=\left[x_1^{(0)},x_2^{(0)},\cdots,x_n^{(0)}\rig ht]^T ,则Jacobi法的迭代格式(也称分量形式)为x_i^{(k+1)}=\frac{1}{a_{ii}}\left ( {b_i-\sum_{j=1,j\ne i}^{n}a_{ij}x_j^{(k)}}\right),\quadi=1,2,\cdots,n\\矩阵形式设 A=D-L-U。
Jacobi法的矩阵形式(也称向量形式)为x^{(k+1)}=B_Jx^{(k)}+D^{-1}b\\其中迭代矩阵 B_J=D^{-1}(L+U)收敛条件\begin{eqnarray} \left. \begin{array}{lll} \VertB_J\Vert <1 \\ A 严格对角占优\\ A, 2D-A对称正定\end{array} \right \} \end{eqnarray} \Rightarrow \rho (B_J)<1\Leftrightarrow 迭代收敛特别地,若 A 对称正定且为三对角,则 \rho^2(B_J)=\rho (B_G)<1 。
高斯-赛德尔法--数值分析线性方程组的迭代解法
实验六、高斯-塞德尔法
一、实验目的
通过本实验学习线性方程组的迭代解法。掌握高斯-赛德尔迭代法编程。
二、计算公式
}
if(k==T)printf("\nNo");
else
printf("\n",k);
for(i=0;i<M;i++)
printf("x(%d)=%15.7f\n",i+1,x[i]);
}
四、例题
书P189页例6:用高斯-塞德尔迭代解线性方程组:
取 使得
#include<math.h>
#define M 3
#define N 4
main()
{
double a[M][N]={{8,-3,2,20},
{4,11,-1,33},
{6,3,12,36},
};
double x[M]={0,0,0};//初值
double r,t,q,eps=0.0000202;//需要精度
if(j!=i)q=q+a[i][j]*x[j];
x[i]=(a[i][N-1]-q)/a[i][i];
if(fabs(x[i]-t)>r)r=fabs(x[i]-t);
}
if(r<eps)break;
printf("\nk=%d,",k);
for(i=0;i<M;i++)
printf("\nx[%d]=%lf",i,x[i]);
实验4 求解线性方程组的迭代法
实验4 解线性方程组的迭代法一、稀疏矩阵的生成和运算实验内容:稀疏矩阵相关命令的熟悉。
实验要求:1、熟悉sparse、full、nnz、spy等命令的使用方法.(实验报告)注意:spy使用时要加上输入参数,直接运行spy会出现与本课程无关的结果。
2、了解sprand命令的用法。
3、熟悉speye、condest、normest、spdiags等命令的使用方法,并生成107阶的三对角矩阵:(实验报告)二、大型稀疏线性方程组的求解实验内容:用不同的迭代法求解n阶大型稀疏矩阵Ax=b(n=1e+4)。
实验要求:(1)数学问题的生成:(a)使用sprand命令生成,稀疏度0.001,并通过spy观察矩阵的结构;(b)运行PPT第21页的两段代码,分别生成A,运行结果有什么区别?注意:如果用稠密方式生成矩阵,可能会导致内存不够。
(2)增大矩阵阶数到1e+6,使用MATLAB自带的pcg与“\”运算,以及分别Gauss消去法、Jacobi迭代法和Gauss-Seidel迭代法分别求解以下Sx=b,看看运算时间对比:(实验报告)b为全1向量,S为以下代码所生成:m=1000,n=m*m;eone=ones(m,1);s=spdiags([-eone,8*eone,-eone],[-1,0,1],m,m);E=speye(m);a1=blkdiag(kron(E,s));a2=spdiags([ones(n,1)],[m],n,n);A=a1-a2-a2';注意:pcg命令只适用于对称正定矩阵三、病态的线性方程组的求解实验内容:考虑方程组Hx=b的求解,其中系数矩阵H为Hilbert矩阵,首先给定解(例如取为各个分量均为1)再计算出右端b的办法给出确定的问题。
实验要求:(1)设定n=6,分别用Gauss消去法、Jacobi迭代法和Gauss-Seidel迭代法求解方程组,其各自的结果如何?各方法的误差比较如何?(实验报告)(2)逐步增大问题的维数100、1000、3000,仍然用上述的方法来解它们,计算的结果如何?计算的结果说明了什么?(实验报告)。
计算方法 第八章 解线性方程组的迭代法 高斯迭代法 迭代法的收敛性
3
1 1 1 1 1 1 1 1 1
1 . . 0 . 0 . 0 . 0 . 0 . 0 . 0 . 0 . 0
0 2 1 7 5 8 8 2 1 6 9 3 8 9 1 1
1 1 1 1 1 1 1 1 1
1 . 1. 1 . 1 9 . 1 9 . 1 9 . 1 9 . 1 9 . 1 9 . 1 9 . 1 9 . 1 9
x3 0 1.1644 1.282054 1.297771 1.299719 1.299965 1.299996 1.299999 1.3
16
开始
输入aij , bi , N , , i, j 1 N
N 线形方程组组数 A 系数矩阵aij B 常数矩阵bi X 迭代过程中的解xi Y-上一轮迭代的解yi a b 将b的值赋给a 计算步骤: i 1, 2 n 1 .输入原始数据aij j 1, 2 n bi i 1, 2 n , n 2输入初使迭代值x (0) . xi 0, yi 0, i 1, 2 n 3.迭代计算x ( k ) i 1 n j 1 n 如 i j ,则xi 4.精度判断 i 1 n 如 xi yi 则j 1 n yi xi 转第三步再计算 bi aij x j aii
量利用最新的迭代值,得到
xi( k 1)
i 1 n 1 (bi aij x (jk 1) aij x k ) (i 1, 2, , n) j aii j 1 j i 1
上式称为 Gauss-Seidel 迭代法. 13
§8.2 高斯-塞德尔迭代法
( ( ( ( ( x1 k 1) 1 ( a12 x 2k ) a13 x 3k ) a14 x4k ) a1n x nk ) b1 ) a11 ( ( ( ( ( x 2k 1) 1 ( a 21 x1 k 1) a 23 x 3k ) a 24 x4k ) a 2 n x nk ) b2 ) a 22 ( ( ( ( ( x 3k 1) 1 ( a 31 x1 k 1) a 32 x 2k 1) a 34 x4k ) a 3 n x nk ) b3 ) a 33
解线性方程组的迭代法
|| x || 0 (非负性) ; (1)|| x || 0 ,当且仅当 x 0 时,
(2) || x ||| | || x || (齐次性); (3) || x y |||| x || || y || (三角不等式). 则称 || x || 为向量 x 的范数 (或模).
4.1.2 向量范数和向量序列的极限
常用的向量范数:设 x R n (1)向量的 - 范数 (最大范数): || x || max | xi |
1 i n
|| x ||1 (2)向量的 1 - 范数 (绝对值范数):
(3)向量的 2 - 范数:|| x ||2 ( x , x ) (
|| A ||2 3+2 2 , || A ||F 6
4.1.3 矩阵范数和矩阵序列的极限
(k ) ) R nn ,如果存 定义5 (矩阵序列的极限) 设有矩阵序列 Ak (aij
在 A (aij ) R nn,使
k (k ) lim aij aij ,
i, j 1, 2,
(4) || AB |||| A || || B || ; 则称 || A || 为矩阵 A 的范数.
4.1.3 矩阵范数和矩阵序列的极限
相容性: 设有矩阵范数 || ||s 和向量范数 || ||t ,如果对任何向量 x R n 及矩阵 A R nn ,有/2 || A ||F ( aij ) i , j 1 n
它是与向量 2-范数相容的矩阵范数,但不是从属范数.
4.1.3 矩阵范数和矩阵序列的极限
解线性方程组的迭代法
0.9906
0.0355
5 1.01159 0.9953
1.01159 0.01159
6 1.000251 1.005795 1.000251 0.005795
7 0.9982364 1.0001255 0.9982364 0.0017636
可见,迭代序列逐次收敛于方程组的解, 而且迭代7次得到精确到小数点后两位的近似解.
a11x1 a12x2 a13x3 b1 a21x1 a22x2 a23x3 b2 a31x1 a32x2 a33x3 b3
从而得迭代公式
x1
a12 a11
x2
a13 a11
x3
b1 a11
x2
a21 a22
x1
a23 a22
x3
b2 a22
x3
a31 a33
M 00.8 00..75
但(M)=0.8<1,所以迭代法 x(k+1)=Mx(k)+g 是收敛的.
由(3.5)式可见,‖M‖越小收敛越快,且当‖x (k) -x(k-1) ‖很小时,‖x(k) –x*‖就很小,实际中用‖x (k) x(k-1) ‖<作为
迭代终止的条件。 例如,对例1中的Jacobi迭代计算结果
+‖x(k+1) –x*‖‖M‖‖x(k) –x(k-1)‖+‖M‖‖x(k) –x*‖ 从而得‖x(k) –x*‖‖M‖‖x (k) -x(k-1) ‖/(1- ‖M‖)
(3.5) (3.6)
估计式(3.5)得证。利用(3.5)式和
‖x(k+1) 得到
-x(k)
‖‖M‖‖x
(k)
-x(k-1)
‖
解线性方程组 的迭代法
第六章 解线性方程组的迭代法.ppt
称 J 为解 Ax b的雅可比迭代法的迭代阵.
(2.5)
15
研究雅可比迭代法(2.5)的分量计算公式.
记 x(k ) ( x1(k ) ,, xi(k ) ,, xn(k ) )T ,
由雅可比迭代公式(2.5), 有
Dx(k1) (L U )x(k ) b,
或
i1
n
aii
9
定义1 (1) 对于给定的方程组 x Bx f,用公式(1.6) 逐步代入求近似解的方法称为迭代法(或称为一阶定常迭代 法,这里 B与 k无关).
(2) 如果 lim x(k) 存在(记为 x * ),称此迭代法收敛, k
显然 x *就是方程组的解,否则称此迭代法发散. 研究 {x(k )}的收敛性. 引进误差向量
22
例2 用高斯-塞德尔迭代法解线性方程组(1.2).
8x1 3x2 2x3 4x1 11x2 x3
20, 33,
6x1 3x2 12x3 36.
(1.2)
取 x(0) (0, 0, 0)T, 按高斯-塞德尔迭代公式
x ( k 1) 1
记为 Ax b , 其中
(1.2)
8 A4
6
3 2 11 1, 3 12
x1 x x2 ,
x3
20 b 33 .
36
方程组的精确解是 x* (3, 2, 1)T . 现将(1.2)改写为
4
12
于是,求解 Ax b转化为求解 Mx Nx b,即求解
Ax b 求解x M 1Nx M 1b.
可构造一阶定常迭代法
线性方程组迭代法
线性方程组迭代法
线性方程组迭代法,又称坐标下降法,是一种用于解线性方程组的迭代求解方法,常用于线性规划以及单纯形法等技术。
早在上世纪50年代,此方法就在解决
线性规划问题中得到了广泛应用,到目前为止,这种技术仍然广泛使用。
线性方程组迭代法是一种基于不断迭代调整变量,使目标函数达到最优结果的
迭代求解法。
其基本步骤是:
(1) 初始化目标函数变量:首先,初始化线性方程组的目标函数的变量;
(2) 评估梯度:选择合适的算法计算目标函数的梯度;
(3) 根据该梯度更新变量:更新目标函数变量的值,使得在此次更新之后的值
更加有利于满足线性方程组的要求;
(4) 重复上述步骤,直到目标函数足够接近最优值为止;
线性方程组迭代法能够快速地求解出线性规划问题的最优解,因此,它在计算
机上经常被用来优化问题,进而提高系统运行效率。
随着网络技术的发展,线性方程组迭代法在互联网领域得到了广泛应用,这在大大缩短了计算机程序的运行时间,提高了互联网的效率。
同时,线性方程组迭代法也有助于提高系统的性能,改善用户的体验,提升企业的品牌形象。
数值分析第六章线性方程组迭代解法
数值分析第六章线性方程组迭代解法线性方程组是数值分析中的重要内容之一,其求解方法有很多种。
其中一种常用的方法是迭代解法,即通过不断迭代逼近方程组的解。
本文将介绍线性方程组迭代解法的基本思想和常用方法。
线性方程组可以用矩阵形式表示为Ax=b,其中A是系数矩阵,b是常数向量,x是未知向量。
线性方程组的解可以是唯一解,也可以是无穷多个解。
迭代解法的基本思想是通过不断迭代,并利用迭代序列的极限,逼近线性方程组的解。
迭代解法适用于大型的线性方程组,而直接求解法则适用于小型的线性方程组。
常用的迭代解法有雅可比迭代法、高斯-赛德尔迭代法和逐次超松弛迭代法。
雅可比迭代法是最简单的线性方程组迭代解法之一、它的基本思想是将线性方程组的每个方程都单独表示为未知数x的显式函数,然后通过不断迭代求解。
雅可比迭代法的迭代公式为:x(k+1)=D^(-1)(b-(L+U)x(k))其中,D是A的对角元素构成的对角矩阵,L是A的下三角矩阵,U 是A的上三角矩阵,x(k)是第k次迭代的解。
高斯-赛德尔迭代法是雅可比迭代法的改进版。
它的基本思想是将每个方程的解带入到下一个方程中,而不是等到所有方程都迭代完毕后再计算下一组解。
高斯-赛德尔迭代法的迭代公式为:x(k+1)=(D-L)^(-1)(b-Ux(k))其中,D是A的对角矩阵,L是A的下三角矩阵(除去对角线),U是A的上三角矩阵(除去对角线),x(k)是第k次迭代的解。
逐次超松弛迭代法是对高斯-赛德尔迭代法的改进。
它引入了松弛因子w,通过调节松弛因子可以加快收敛速度。
逐次超松弛迭代法的迭代公式为:x(k+1)=(D-wL)^(-1)[(1-w)D+wU]x(k)+w(D-wL)^(-1)b其中,D是A的对角矩阵,L是A的下三角矩阵(除去对角线),U是A的上三角矩阵(除去对角线),w是松弛因子,x(k)是第k次迭代的解。
线性方程组迭代解法需要设置迭代停止准则,通常可以设置迭代次数上限或者设置一个精度要求。
数值分析-- 解线性方程组的迭代法
算法1(高斯 塞德尔迭代法) 设Ax b, A Rnn非奇异,
且aii 0(i 1,2,, n),数组x(n)开始存放x(0),后存放x(k),
N0为最大迭代次数.
1. xi 0.0(i 1,2,,n),
2. 对于k 1,2,, N0,
i1
n
xi
( bi
j1aij x j
j i 1
aij
A D LU,
其中
a11 D
a22
0
,
L
a21 annan1 Nhomakorabea0
an,n1
0
,U
0
a12 0
a1n
.
an1,n
0
就有
Dx(k1) Lx(k) Ux(k) b
雅可比迭代法的矩阵表示形式为
x(k1) D1(L U ) x(k) D1b BJ x(k) f
a21x1
a22x2
a2n xn
b2
an1x1 an2x2 annxn bn
Ax=b.
(2.1)
进行矩阵分裂
A=M-N,
(2.2)
其中M为可选择的非奇异矩阵,且使Mx=d容易求解.
于是,
Ax=b⇔x=M-1Nx+M-1b.
可得一阶定常迭代法:
取初始向量x(0),
x
(
k
1)
Bx(k )
零元素多,适合用迭代法。
我们将介绍迭代法的一般理论及雅可比迭代法、高 斯—塞德尔迭代法、超松弛迭代法,研究它们的收 敛性。
例1 求解线性方程组
8 x1 4 x1
3x2 2 11x2
x3 x3
20, 33,
6x1 3x2 12x3 36.
线性方程组的迭代法
1 20 D 1b
1 8
24 1.2 12 1.5 1 15 30 2
x1( k 1) 0 0.1 0.15 x1( k ) 1.2 ( k 2) x ( k ) 1.5 0 0.125 2 x2 0.125 ( ( x3k 1) 0.133 3 0.2 0 x3k ) 2.0
将方程组AX=b的系数A分解成 A=D+L+U 其中D=diag(a11,a22,,ann) ,L和U分别是A的 对角线下方元素和上方元素组成的严格下三角 阵与严格上三角阵. 即
0 0 a2 1 0 A a n1 an 2
0 a1 1 0 0 0 a1 2 0 0 a2 2 0 0 0 0 0 0 an n 0 0
k 1 r k 1 0 0 (k )
所以Gauss-Seidel迭代 法收敛.
定理 超松弛法收敛的必要条件为 0<<2
证 设其迭代矩阵G的特征值为1,2,, n , 由于迭代收敛,故有 max i 1 1 i n 从而 det G 12 n (max i ) n 1
a
j 1 j i
n
ij
aii
n
(i 1,2, , n )
aij aii 1
故
GJ
max
1i n j 1 j i
从而Jacobi迭代收敛
* * * * 设方程组的精确解为 X ( x1 , x2 , xn )
数值计算方法第三章 线性方程组迭代法
0,1,2,
取x1(0) 0, x2(0) 0,计算结果如下:
k0
x (k) 1
0
x (k) 2
0
1
2
3
4
0.66667 0.50000 0.61111 0.58333
0.50000 0.16667 0.25000 0.19445
5
6
7
8
9
0.60185 0.59722 0.60031 0.59954 0.6005
从而得迭代式 x(k1) (D L)1Ux (k) (D L)1 b, (k 0,1,2, )
上式中矩阵 M (D L)1U 为Gauss-Seidel迭代矩阵。
输入:A,b, n,
置初值: k 0; xi 0(i 1,L , n)
k k 1;e 0
3xx1 12xx22
2 1
精确到3位有效数字。
解 Gauss Siedel迭代格式为
x (k 1) 1
x (k 1) 2
(2 x2(k) ) / 3 (1 x1(k1) ) / 2
,
k
0,1,
2,L
取x1(0)
0,
x (0) 2
0, 计算结果如下:
0
101
0
1
10
2
1 0 0 101 1 1 5
0 0.1 0.2 0.1 0 0.2
0.2 0.2 0
取初值x (0) (0,0,0)T 代入迭代式
x(1) Bx (0) g (7.2,8.3,8.4)T x(2) Bx(1) g (9.17,10.70,11.50)T ,如此下去, x(9) Bx (1) g (10.9994 ,11.9994 ,12.9992 )T
经济学解线性方程组的迭代法
a22
0 a21
0
ann
an1,1
an1
an1,2 an 2
0
an,n1
0
0 a12
0
a1,n1 a2,n1
0
a1n
a2n
DLU.
an1,n
0
(2.4)
13
6.2.1 雅可比迭代法
由 aii 0(i ,1,选2,取 ,为n) 的对角M元素A部分, 即选取 M (对D角阵), A ,D N 由(2.3)式得到 解 Ax 的b雅可比(Jacobi)
,
再将 x(分1) 量代入(1.3)式右边得到 ,x反(2)复利用这个计 算程序,得到一向量序列和一般的计算公式(迭代公式)
x1(0)
x(0) x2(0) ,
x3(0)
x1(1)
x1(k )
x(1) x2(1) , , x(k ) x2(k ) ,
x3(1)
x3( k
迭代法产生的向量序列 x(k不) 一定都能逐步逼近方程组
的解 x.*
如对方程组
x1 2x2 x2 3x1
5, 5.
7
构造迭代法
x ( k 1) 1
x ( k 1) 2
2 x2(k 3x1(k
) )
5, 5.
则对任何的初始向量,得到的序列都不收敛.
对于给定方程组 x ,Bx f 设有唯一解 x*, 则
由雅可比迭代公式(2.5), 有
Dx(k1) (L U )x(k ) b,
或
i1
n
aii xi(k1)
)
5
x ( k 1) 1
(3x2(k )
2x3(k )
20)/8,
数值计算_第4章 解线性方程组的迭代法
如果用高斯-赛德尔迭代法 迭代72次得:
用SOR迭代法 ,只须迭代25次即得:
逐次超松弛迭代算法
下列算法假定迭代矩阵收敛,否则要在WHILE循环中增加判断条件。
1.定义和输入系数矩阵 与常数项向量 的元素,输入松弛因子 的值。
2.FOR i:=1,2,…,n
//假定 ,形成常数项向量
FOR
当方程组的系数矩阵 具有某些性质时,可直接判定由它生成的雅可比迭代矩阵是收敛的。
定理4.3若方程组 的系数矩阵 ,满足下列条件之一,则其雅可比迭代法是收敛的。
(1) 为行对角占优阵,即
(2) 为列对角占优阵,即
证明:(1)雅可比迭代矩阵 其中
(2) 为列对角优阵,故 为行对角占优阵,由系数矩阵 构造的迭代矩阵 为行对角占优阵,则有
通常,把 的迭代称为亚松弛迭代,把 的迭代称为高斯-塞德尔迭代,而把 的迭代称为松弛迭代。
4.4
在线性代数中逆矩阵是按其伴随矩阵定义的,若 则方阵 可逆,且 ,其中 为 的伴随矩阵。要计算 个 阶的列式才能得到一个伴随矩阵,在数值计算中因其计算工作量大而不被采用。通常对 做行的初等的效换,在将 化成 的过程中得到 。在数值计算中,这仍然是一种行之有效的方法。
事实上,在计算 前,已经得到 的值,不妨将已算出的分量直接代入迭代式中,及时使用最新计算出的分量值。因此 的计算公式可改为:
即用向量 计算出 的值,用向量 计算出 的值 ,用向量 计算出 的值,这种迭代格式称为高斯—塞德尔迭代。
对于方程组AX=y,如果由它构造高斯-塞德尔迭代和雅可比迭代都收敛,那么,多数情况下高斯—塞德尔迭代比雅可比迭代的收敛效果要好,但是情况并非总是如此。
又
得到
而 ,
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
任务:设 A Rnn 非奇异 ,b Rn,求解方程组
Ax b
(1)
步骤1:经过某变换构造出方程组(1)的一个等价同解
方程组
x Gx d
步骤2:建立迭代公式:
x(k 1) Gx(k) d, k 0,1,...
步骤3:选定初始向量 x(0) x1(0), x(20), … , x(n0) T ,
4 11
x1
1 11
x3
3
x3
1 2
x1
1 4
x2
3
右端不含x1 右端不含x2 右端不含x3
由此,建立迭代公式:
x1(k 1)
3 8
x(k) 2
1 4
x(k) 3
5 2
x
(k 2
1)
4 11
x(k) 1
1 11
x(k) 3
3
x
(k 3
1)
1 2
x(k) 1
1 4
x(k) 2
3
取初始向量
x(0)
现
迭代法的基本思想
第六章 解线性方程组的迭代法
• 迭代法是求解线性方程组,尤其是具有大型稀疏矩 阵的线性方程组的重要方法之一。
• 凡是迭代法都有一个收敛问题,有时某种方法对一 类方程组迭代收敛,而对另一类方程组进行迭代时 却会发散。
• 一个收敛的迭代法不仅具有程序设计简单,适于自 动计算,而且较直接法更少的计算量就可获得满意 的解。
结果表明,此迭代过程收敛于方程组的精确解 x*= (3, 2, 1)T。
考察一般的方程组,将n元线性方程组
a11x1 a12x2 … a1nxn b1
a21x1
a22x2
… a2nxn …
b2
an1x1 an2x2 … annxn bn
n
写成
aij x j bi
i 1,2,… , n
xx21
x1 2x1
x2 4x2
3 3
建立迭代公式:
迭代不收敛 的例子
xx(2k1(k11))
x1(k) 2x1(k)
x(2k) 4x(2k)
3 3
取:
x(0) 1
x(0) 2
0
xx(2k1(k11))
x1(k) 2x1(k)
x(2k) 4x(2k)
3 3
x(0) 1
x(0) 2
收敛时,在迭代公式
x ( k1) Gx( k) d 中令 k ,则
(k 0,1,…)
x* Gx* d
故 x * 是方程组
Ax b
的解。
【注1】可以构造各种不同的迭代公式。 【注2】并非所有的迭代公式都收敛
例1 用迭代法求解线性方程组
2x1 2x1
x2 5x2
3
3
解: 构造方程组的等价方程组
j 1
若aii 0, (i 1,2, … , n) ,分离出变量 x i
xi
1 aii
(bi
n
aijx j )
j1
ji
i 1,2,… , n
由此,得到如下的被称为解方程组的 Jacobi迭代公式:
x(k 1) i
1 aii
(bi
n
aij
x(k) j
)
j1
ji
i 1,2,… n
实际计算中,要用雅可比迭代法公式的分量形式:
0
进行迭代计算得:
xx(21(11))
3 3,
xx(21(22))
3 3,
xx(21(33))
9 9,
xx(21(44))
15 15,
xx(21(55))
33 33,
迭代解离精确解
x1 1, x2 1
越来越远。 迭代不收敛。原因是迭代公式不正确。
Home
雅可比(Jacobi)迭代法
§6.2 雅可比(Jacobi)迭代法
bn )
(k=0, 1, 2,…)
例3 试用雅可比迭代法解线性方程组
x1 2x2 - 2x3 1 x1 x2 x3 1 2x1 2x2 x3 1
精确解
x1 -3 x2 3 x3 1
解: 先构造雅可比迭代公式:
x(k 1) 1
x1(k 1)
1 a11
(a12x
(k) 2
a13x(3k)
… a1nx(nk)
b1)
x
(k 2
1)
1 a22
(a21x1(k)
a23x(3k)
… a2nx(nk)
b2)
…
x
(k n
1)
1 ann
(an1x1(k)
an2x
(k) 2
…
an
x(k)
n1 n1
计算方法 (Numerical Analysis)
第9次Hale Waihona Puke 解线性方程组的迭代法主要内容
1. 迭代法的基本思想 2. 雅可比(Jacobi)迭代法 3. 雅可比迭代法的矩阵表示 4. 高斯-塞德尔(Gauss-Seidel)迭代法 5. Gauss—Seidel 迭代法的矩阵表示 6. Jacobi迭代与Gauss-Seidel迭代算法实
§6.2.1 雅可比迭代法算法构造
例2. 利用迭代法求解方程组
8x1 3x2 2x3 20 4x1 11x2 x3 33 6x1 3x2 12x3 36
已知精确解: x*=(3, 2, 1)T
解:以下列独特的方式分离出 x1, x,2 x 3
x1
3 8
x2
1 4
x3
5 2
x2
69 22
x(3) 2
45 22
x(3) 3
171 176
当近似解能达到预先要求的精度,迭代终止,以最后
得到的近似解作为线性方程组的解。
当迭代到第10次有:
x ( 10)
( x1( 10),
x
(1 2
0),
x
(1 3
0))
T
( 3 .0 0 0 0 3 21,.9 9 9 8 7,4 0 .9 9 9 8 8)1T
(x1(0) ,
x(0) 2
,
x(0) 3
)T
(0,0,0)T
进行迭代, 可以逐步得出一个近似解的序列:
(x1(k) ,
x(k) 2
,
x(k) 3
),
k
1,2,..., n
同学们, 迭代两次
x(1) 1
5 2
x(1) 2
3
x(1) 3
3
x(2) 1
23 8
x(2) 2
26 11
x(2) 3
1
x(3) 1
§6.1 迭代法的基本思想
若A Rnn 非奇异 ,b Rn,则线性方程组
Ax b
有唯一解x A1b,
a) 将线性方程组转化为便于迭代的等价方程组
b)
对任选一组初始值
x
( i
0
)(
i
1,2,… , n),按某种
计算规则,不断地对所得到的值进行修正,最终
获得满足精度要求的方程组的近似解。
迭代法的基本步骤
反复使用迭代式进行迭代,期望逼近精确解,直到满
足精度要求为止。
收敛定义:如果
x
(k 1
),
x
(k 2
),
… ,
x(k) n
T
当k∞ 时,存在极限
x*
x 1* ,
x
* 2
,
…
,
x
* n
T
则称迭代法是收敛的,否则就是发散的。
迭代法是收敛的意味着:
lim
k
x(k) i
x, i* i
1 , 2 , . . .n,