第2章 离散方程组的计算机解法-3

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

i 1, 2,, n
若令:
BJ=
c12 c13 … c1n 0 c23 … c2n … … … … cn3 cn4 … 0 g1 g2 .. gn
x=
x1 x2 .. xn
D=
a11 a22 ..
g=
ann
并易看出有: BJ =D-1(D-A)=I - D -1 A
则Jacobi迭代的矩阵公式:
mX
a
X
b
M X
a
向量序列的收敛

(1)若 X 是任一向量序列: ,对 T k xi xi , 则称向量 X x ,..., x 为向量 i=1,…,n都有 lim 1 n k 序列 X k 的极限,或称向量序列 X k 依坐标收敛于向量X*, 记作 lim X ik X

(2)向量序列 X k 依坐标收敛于向量X*充要条件是向量序 k 列 X 是依范数收敛于向量X*,即
lim X k X 0
k
或写成:
(k ) (*) (k ) (*) || x x || 0 x x Lim Lim k k
2、矩阵范数及性质

在矩阵运算的数值分析中,需要对向量和矩阵的“大小” 引进某种度量----范数。

“范数”是绝对值概念的自然推广。 “范数”也是二维和三维向量长度概念的一种推广.
1. 向量范数及其性质:

定义1
对任一向量X,按一定规则确定一个实数与其相对应,该实
数记为||X||,若||X||满足下面三个性质: (1)||X||0,||X||=0当且仅当X=0。------正定性 (2)对任意实数 ,|| X||=| | ||X||。-------齐次性 n (3)对任意向量YR ,||X+Y||||X||+||Y||。--------三角不等式 则称该实数||X||为向量X的范数
n
n k=M? y 输出迭代 失败标志 输出 y1, y2,„ yn
2.5.2 Gauss-Seidel迭代法(高斯-塞德尔迭代法)
为加快收敛速度,同时节省计算机的内存,作如下改进:每算出一个分 量的近似值,立即用到下一个分量的计算中去,即用迭代格式:
xi
(k )

bi aij x j
j 1
( k 1)
后, 就改用新值替代老
xi( k )
进行这一步剩下的计算。
2.5.3 收敛性及误差估计
讨论迭代过程的收敛性要用到:向量范数,矩阵范数,序 列极限等概念。

在实数域中,数的大小和两个数之间的距离是通过绝对值 来度量的。 在解析几何中,向量的大小和两个向量之差的大小是用 “长度”和“距离”的概念来度量的。
x
( k 1)
BJ x
(k )
g
BJ称为雅可比迭代矩阵
雅可比迭代矩阵表示法,主要是用来讨论其收敛 性,实际计算中,要用雅可比迭代法公式的分量 形式。即
1 ( k 1) (k ) (k ) (k ) x ( a x a x a x 12 2 13 3 1n n b1 ) 1 a11 ( k 1) 1 (k ) (k ) (k ) x ( a x a x a x 2 21 1 23 3 2 n n b2 ) a 22 1 ( k 1) (k ) (k ) (k ) x n a (a n1 x1 a n 2 x 2 a n n 1 x n 1 bn ) nn
x2(k+1)=c21x1(k+1)
。。。。。。。。。。。。。。。。。。。。。。。。。。。。
xn(k+1)=cn1x1(k+1) +cn2x2(k+1)+
高斯—塞德尔迭代算法实现
+cn(n-1)xn-1(k+1)
高斯-塞德尔迭代算法的计算步骤与流程图与雅可比迭代法大致 相同,只是一旦求出变元x i 的某个新值 xi 值
2.5 迭代法

解线性方程组的迭代法,基本思想是

将线性方程组 Ax=b 化为 x=Bx+f 再由此构造向量序列{x (k)}: x(k+1)=Bx (k)+f 若{x (k)}收敛至某个向量x *,则可得向量x *就是所求方程组 AX=b 的准确解.

线性方程组的迭代法主要有:


Jocobi迭代法、Seidel迭代法、超松弛(SOR)迭代法、共轭 梯度加速迭代法. Jacoai迭代和Seidel迭代由于收敛速度较慢,在实际应用中使 用得并不多。但是体现了迭代法的最基本的思想,是学习其 它迭代法的基础。
。。。。。。。。。。。。。。。。。。。。。。。。。。。。 xn(k+1)=cn1x1(k) +cn2x2(k)+ +cn(n-1)xn-1(k)
+ gn
则Jacobi迭代公式为: xi 0 c21 … cn1
( k 1)

j 1 j i
n
aij aii
x
(k ) j
bi aii
k
k X k x1k ,..., x n


T
Байду номын сангаас
k
或写成:
Lim x
k
(k )
x (*) Lim x j
k (k ) (*)
(k )
xj
(*)
j 1,2,...,n
式中: x j 及x j 分别是向量x ( k ) 及x (*)的第j个分量
i 1
(k )

j i 1
aij x j
n
( k 1)
aii
这就是Gauss-Seidel迭代法,也称为“异步迭代法”,简称为GS迭代法. 利用Ax=b 及A=L+D+U,其中D为对角矩阵,L,U分别为严格下,上三角矩阵. 则GS迭代法的矩阵形式为:
x D Lx D Ux D b x
max xk
1 k n
一般地:
向量范数性质

(1) 向量的范数满足的不等式:
X

X 1n X

,
X

X
2
n X

, X
2
X 1 n X
2
,

(2)任意两个向量的范数等价 : 即若 X a , X b (a, b 1,2, ) 是向量X的两个范数,则存在正 常数m,M。使得对任意非零向量X,恒有
用矩阵表示: Ax =b (A 为系数矩阵,非奇异;b为右端,x为解向量) 设 aii0 令 cij = -aij /aii (ij) gi= bi /aij , i=1,2,3,n +c1nxn(k)+g1 +c2nxn(k)+g2
则Jacobi迭代具体格式
{
}
x1(k+1)= c12x2(k)+c13x3(k)+ x2(k+1)=c21x1(k) +c23x3(k)+
矩阵范数:
几种常用的矩阵范数:
a11 a12 a1n a21 a22 a2 n 设 A a a a nn n1 n1 A 1 max akj
1 j n k 1 n
列范数
n 则 A max a jk 1 j n k 1 AF

说明:可以用谱半径讨论迭代法的收敛性问题。
4、 线性方程组的性态

(1)假设系数矩阵A是精确的,且非奇异,则右端向量b 的误差对解的影响
X
X

A A
1
b
b
cond( A)
b
b
Cond(A) :矩 阵A的条件数
b 是b的误差,而 X 是X的误差,且有 b 0, X 0 式中

迭代法的特点: 在求解xkx*(k)过程中 ,由机器跳动产生的xk值误差或是 有效数字产生的舍入误差,都会在第k+1次迭代计算中自动弥 补过来或逐步纠正过来。 因此,在迭代求解过程中产生的各种误差是可以忽略的,即迭 代求解无累积误差。 实际上,xk只是解的一个近似,机器的舍入误差并不改变它的 此性质。
行范数
a
j 1 k 1
n
n
2 kj
F范数
A2
是AT A最大特征值.
称A 的2 − 范数
•矩阵范数的性质:
(1)对任意非零矩阵A,有||A||恒为正数,当且仅当A=0,||A||=0. (2)||aA||=|a|||A||(a为任意实数) (3)对于任意两个阶相同的矩阵A、B,恒有||A+B||||A||+||B||. (4)对于与矩阵A有相同维数的向量X,恒有||AX|| ||A|| ||X||. (5)对于同阶矩阵A、B ,恒有 ||AB|| . ||A|| ||B||
cond ( A) A A

1 A A 为矩阵A的条
容易证明,条件数具有下列性质:

⑴ cond(A)≥1 ⑵cond(kA)= cond(A),k为非0常数

(4)可见,系数矩阵的条件数能反映线性方程组的解对 于初始数据误差的敏感程度。


方法简单,易于编制程序;
与求解线性方程的精确法相比,简单迭代法对于字长位数较少 的计算机更为适用,可以用增加迭代次数来弥补字长位数少的 不足. 初值可以任取,因中间结果偶然错误不影响最后结果的获得。

2.5.1 Jacobi 迭代(雅可比迭代)

一: 设有方程组
a11x1+a12x2+· · · · +a1nxn=b1 a21x1+a22x2+· · · · +a2nxn=b2 ..................... an1x1+an2x2+· · · · +annxn=bn
因为 D 0 ,所以 D L D 0 故
( D L) x ( k 1) Ux( k ) b
x (k 1) (D L) 1Ux(k ) (D L) 1 b

Bs (D L)1U ,
gs (D L)1b
(k )
则高斯-塞德尔迭代形式为:
3、矩阵的谱半径

谱实质就是特征值
定义:若λi(i=1,2,…,n)为矩阵A的特征值,则实数
A max i
称为A的谱半径。

i
显然: 性质:

(1)若A为n阶矩阵, A 为A的任一范数,则有:
( A) A
(2)对任给ε>0,则存在范数
A
p
A p,使得
( A)
( k 1)
1
1
1
D Lx
1
( k 1)
D Ux
1
(k )
D b
1
Gauss—Seidel 迭代法矩阵表示的推导:
将A分裂成A =L+D+U,则 Ax ( L+D+U )x = b 于是,则高斯—塞德尔迭代过程
b
等价于
Dx( k 1) Lx ( k 1) Ux( k ) b
(k=0,1,2,…)
雅可比迭代法的算法实现
输入 aij,bi,和 方程阶数 n,ε ,M 1 k
:预先要求的精度 M:迭代次数
(bi aij x j ) / aii yi
j 1 j i
n
i 1,2,, n
max x i y i ?
1 i n
y
k+1k yi xi i =1,2,„,n
n维向量X的范数是一个非负实数。
三种常用的向量范数:
x1 x2 x x n x 1 xk x x
2 n
x的1 − 范数
2



k 1 n

k 1
xk
x的2 − 范数或欧氏范数
x的∞ − 范数或最大范数

(2)假设右端向量b是精确的,则系数矩阵A的误差对 解的影响为
X
X A
1
A
A A 1 1 A A 1
A
A
cond( A)
A
A
1 A 1 A
A
A
1 cond( A)
A
A

A是A的误差,而 X 是X的误差。 式中
(3)方阵的条件数 定义 若A是n阶非奇异矩阵, 则称数 件数。记作 1
x
( k 1)
Bs x
gs
与J法类似,即J法与 GS法有统一的表达式
假设 aii0, 令: cij = -aij /aii
(ij) gi= bi /aij , i=1,2,3,n,则
GS迭代的具体格式 x1(k+1)= c12x2(k)+c13x3(k)+ +c23x3(k)+ +c1nxn(k)+g1 +c2nxn(k)+g2 + gn
相关文档
最新文档