大型线性方程组的变分迭代解法_何吉欢

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1 a1+ U 2a2 = 0, U
x app = 0, y yapp = 0, y
( 8)
( 9)
从而可得 T 1= T 2= U 1= b2 , a1b2 - a2b1 ( 10)
b1 , a 1b2 - a 2b1 a2 , a 1b2 - a 2b1 a1 . a1b2 - a2b1
U 2= 把它们代入 ( 7)式 , 得:
百度文库
Variational Iterative Solution of Large Linear System
He Jihuan
( Sha ng hai Univ ersity, Sha ng hai Institute o f Applied M athematics and M echa nics , Sha ng hai 200072) Abstract In th e pa pe r, the autho r has propo sed a nov el me tho d called va ria tio nal itera tio n method to solv e larg e linear sy stem. With such m etho d , a mo re accura te a ppro ximation can be a rrived at by successiv e cor rection to its o rigina l a ppr oxima te solutio n by means of La g range multiplie rs , which ca n be identified readily by ma king the co rr ec tion equa tio ns statio nary . Key words lar ge linear sy stem, v ariatio nal itera tio n me tho d.
121
( 11)
( 12) a 1c2 - a 2c1 . a1b2 - a 2b1 我们可以看出 , 这种方法收敛速度很快 , 但也存在着严重的缺陷 , 即识别拉氏乘子的过程 比解原方程还要复杂 . 对于大型的线性方程组需 n× n 个拉氏乘子 ( n 为方程个数 ) , 这是不现 实的 ,为此我们必须作一技术处理 . 设有一线性方程组 : f 1= a11 x 1+ a12 x 2+ … + a 1n x n - c1= 0, f 2= a21 x 1+ a22 x 2+ … + a 2n x n - c2= 0, f n = an 1 x 1+ an 2 x 2+ … + ann x n - cn = 0. 我们引进 2n 个拉氏乘子来校正其初始近似解 ( x 1 , x 2 ,… , x n ): x 1ap p= x 1+ T 11 f 1+ T 12 f 2 ,
1 ( a1 x+ b1 y - c1 )+ U 2 ( a2 x + b2 y - c2 ) , y app= y+ U 1 ,T 2 ,U 1 ,U 2 为拉氏乘子 . 式中 T
( 6)
( 7)
对于 x , y 任意小的变化 , x app , y app应取驻值 , 即 x app = 0, x y app = 0, x 即 1 + T 1a 1+ T 2 a2= 0, T 1b1+ T 2b2= 0, 1 + U 1b1+ U 2b2= 0,
2, i+ 2
), ),
1 ( ai , i+ 1ai+ D
1, i+ 2
1, i+ 1
ai+ ai+ ai+
1, i
ai+ ai+ ai+
2, i
1, i+ 1 1, i+ 2
2, i+ 1 2, i+ 2
注 如果下标为 n+ 1 则置 1; 如果是 n+ 2 则置 2. 如果应用上述迭代公式 , 则例题 ( 18)只需一次迭代即可得精确解 .
可见只需迭代 4次即可得到精确解 . 为了提高收敛速度 , 我们可引进 3n 个拉氏乘子 : x 1app = x 1+ T 11 f 1+ T 12 f 2+ T 13 f 3 , x 2app = x 2+ T 21 f 2+ T 22 f 3+ T 23 f 4 , x napp= x n+ T n 1 f n+ T n 2 f 1+ T n3f 2. 按同样的方法即可识别拉氏乘子 : T i1 = 1 ( ai+ D
21 f 2+ T 22 f 3 , x 2ap p= x 2+ T
( 13)
…… …… …… …… … x
n - 1app
( 14) + T
n- 1, 2
= x
n- 1
+ T
n - 1, 1
f
n- 1
f ,
n
x n app = x n+ T n , 1 f n+ T n, 2 f 1 , 式中 T i 1 ,T i 2 ( i= 1 ~ n )为拉氏乘子 . 在这里拉氏乘子只能近似识别 , 对于上式中的第 i 式而言 , 取以下驻值条件 : x i app = 0, xi x i app x i+ 1 = 0, 即 1 + T i 1aii+ T i 2ai+ T i 1ai , i+ 1+ T i 2ai+ 从而我们可得 : T i 1= i 2= T ai+ 1, i
收稿日期 : 98-05-27
( 3b )
120
工科数学 第 15卷
其实拉氏乘子可用驻值的性质来识别 , 即对于 x 任意小变化 , x app应取驻值 , 即 x app = 0, x 从而我们可以直接得到 ( 3b)式 . 把识别了的拉氏乘子代入 ( 2) ,得 x app = x 或写成更一般的迭代形式: x 式中 x n 为第 n 次迭代的近似值 .
1 引 言
在工程计算中 , 会遇到各种各样的大型线性方程组 . 如各种数值计算方法 (有限元 、有限差 分法、 边界元法等 )都需要求解大型线性方程组 , 因此求解大型线性方程组的迭代方法得到了 普遍的关注 . 由于计算能力的限制 , 迭代格式的收敛性及收敛速度就成了一个关键问题 . 传统 的各种方法在文献 [ 1]有详细的介绍 , 本文将介绍一种新的收敛速度很快的迭代方法 —— 变分 迭代算法 .
第 15 卷第 2期 工 科 数 学 V ol. 15, No. 2 1999 年 4 月 JOU RN AL OF M AT HEM AT ICS FO R T ECHNO LOGY Apr. 1999
大型线性方程组的变分迭代解法
何吉欢
(上海大学 ,上海市应用 数学和力学研究所 ,上海 200072) 摘要 本文提出了一 种求解大型线性方程 组的一种新方法 — — 变分迭代解法 . 这种方法的基 本思想是 : 先给方程一个近似的初值 ,然后引进若 干个拉氏乘子校正 其近似值 ,而 拉氏乘子可用极 值的概 念最佳确定 . 这种方法收敛速 度较快 ,如果 只取 n 个拉氏乘 子 ( n 为 方程个数 ) ,则 该方法即 为 N ew ton 迭代法 . 关键词 线性方程组 变分迭代法 N ew to n 迭代法 拉氏乘子
n
按上述方法即可识别这 6 个拉氏乘子: T 11 = - 2 /7, T 12= - 1 / 7, T 21 = 1 / 11, T 22 = - 3 / 11, T 31 = - 3 / 7, T 33= 2 /7. 设初始近似为 ( 0, 0, 0) , 下表是迭代结果 .
表 1 n x y z 0 0 0 0 1 0. 714 - 0. 869 1. 869 2 0. 981 - 0. 991 1. 991 3 0. 999 - 1. 000 2. 000 4 1. 000 - 1. 000 2. 000
第 2期 何吉欢 : 大型线性方程组的变分迭代解法 参 考 文 献
1 李庆杨等 . 数值分析 . 华中工学院出版社 , 1982
123
2 M . Ino kuti e t al. General U se of the Lag range M ultiplier in N o nlinear M a thema tical Phy sics, in V ariational M ethod in the M echanics of solids. ed. by S. N ema t N asser, Per gamo n Pr ess , 1978, 156- 162
4 讨 论
上面我们讨论了大型线性方程组的变分迭代解法 , 如果引进 m× n 个拉氏乘子 ( 3 ≤m < n ) , 则收敛速度更快 ; 如果只引进 n 个拉氏乘子 , 则得到一般的迭代公式 :
n n 1 x i = x i - aii f i .
为了加速收敛 , 可以同时应用松弛因子等方法 .
( 15)
= 0, = 0.
( 16)
1, i+ 1
ai+
1, i+
1, i+ 1 ii
ai+ 1, i+ 1 a - ai+ 1, i ai , i+
1, i
1
ai , i+ 1 1aii - ai+
( i= 1 ~ n ).
( 17)
ai , i+
1
注 下标如果是 n+ 1 则置 1. 把 ( 17)式代入 ( 14)式即得变分迭代公式 . 下面我们用一个简单的例子来看其收敛性 . f 1= 3x + y - 2z+ 2= 0, 例 f 2= x - 2y+ 3z - 9= 0, f 3= 2x + 3y+ z - 1= 0. ( 18)
2 x+ λ [ f ( x 0 )+ f ′ ( x 0 )W x ]+ O (W x ) x app = x 0+ W
( 1) ( 2)
= x 0+ [ 1 + λ f′ ( x 0 ) ]W x+ O(W x) . 令 λ = 1 , f′ ( x0 ) ( 3a )
2
则校正后的近似解具有二阶精度 . 然而一般来讲 , 精确解我们事先是不知道的 ,所以我们把上 式进一步改写成: 1 . = λ f′ (x )
n+ 1
( 4)
f (x ) , f′ (x)
( 5a )
f ( xn ) = xn , f′ ( xn )
( 5b )
3 方程组的求解
我们先用最简单的二元线性方程组为例 ,阐述如何应用上述概念来求解线性方程组 a1 x+ b1 y = c1 , a2 x+ b2 y = c2 . 设 ( x , y )为初始近似解 ,我们用下式来校正 x app = x + T 1 ( a 1x + b1 y - c1 )+ T 2 (a 2 x+ b2 y - c2 ) ,
2 变分迭代算法的基本概念
变分迭代算法 ( Va ria ti onal It era ti on M ethod )的最初来自量子力学 , 后来被 Inokuti 等 [ 2 ] 应用于求解非线性方程 , 取得了比较理想的效果 . 然而由于这种方法识别拉氏乘子很繁 , 所以 一直未得到普遍的关注和应用 . 为此作者将重新阐述这一基本思想 . f ( x ) = 0. 设 x 0 为其精确解 , x 为近似解 , 则 f ( x )≠ 0, 为此我们按下式校正其近似值 : x app = x+ λ f (x ) , 式中 λ 为拉氏乘子 ,上式右边第二项为校正项 ( Co rrectio n) . 设近似值和精确值相差 W x , 即 x = x 0+ W x ,代入上式得 :
第 2期 何吉欢 : 大型线性方程组的变分迭代解法 b2 b1 x app= x - a 1b2 - a2b1 ( a1 x+ b1 y - c1 )+ a 1b 2 - a 2b1 ( a2 x+ b2 y - c2 ) , a2 a1 y app = y+ ( a 1 x+ b1 y - c1 ) ( a2 x + b2 y - c2 ) . a1b2 - a2b1 a1b2 - a2b1 设 ( 0, 0)为初始近似解 , 则通过一次迭代即可得精确解: c1b2 - c2b1 x app= 1 2 , a b - a 2b1 y app=
122
工科数学 第 15卷
引起 6个拉氏乘子 : x n+ 1= x n+ T 11 f 1+ T 12 f 2 , yn+ 1= y n+ T 21 f 2+ T 22 f 3 , z
n+ 1
( 19)
= z+ T 31 f 3+ T 32 f 1 .
1, i + 1 i+ 2, i+ 2
( 20)
a
- ai+
1, i+ 2
ai+
2, i+ 1
), ( 21)
1 ( ai , i+ 2ai+ T i2 = D T i3 = 其中 aii D= ai , i+ ai , i+
1 2
2, i+ 1
- ai , i+ 1 ai+ - ai , i+ 2 ai+
相关文档
最新文档