数值模拟导论 -第十讲 改进的牛顿法 雅克比 ·怀特 感谢 Deepak Ramaswamy, Jaime Peraire, MichalRewienski, and Karen Veroy 概要 阻尼牛顿定律 —若雅可比矩阵是非奇异矩阵,则全局收敛 —奇异雅可比矩阵收敛非常困难 介绍连续定律 —源 /载荷步问题 更通用的连续定律 牛顿算法求解 F(x)=0 多维牛顿法 牛顿算法 SMA-HPC ?2003 MIT 0 0xk= =初始给定值, 重复 { ( ) ( ) ()( ) () () 11 11 , lim 1 kk F kk k k k F kk k Fx J x Jx x x Fx x xx x kk + + ++ ?=? =+ ? =+ 计算 解方程 求得 } 直到 ( ) 11kk xfx ++ ? 足够小 极限牛顿法 阻尼牛顿定律 SMA-HPC ?2003 MIT 一般阻尼定律 ( ) ( ) 11 11 kk k k F kkkk J xx Fx x xx xα + + + ?=? ? =+? + 解方程 求解 主要思想:线性搜索 () ()()() 2 1 2 2 111 2 kkk T kkk kkk kkk Fx x Fx x Fx x Fx x αα α + +++ +? +? ≡ +? +? 找出 使得 取极小值 该法在牛顿收敛方向执行一维搜索 极限牛顿法 阻尼牛顿收敛定律 SMA-HPC ?2003 MIT () () () ( ] () ()() 1 11 a) ( ) ) ( Lipschitz Cont) 0,1 1 k F FF k kkk k Jx bJxJy lxy Fx Fx x Fx β α αγ γ ? ++ ≤ ?≤? ∈ =+?< < 如果 反之不成立 导数为 那么 存在一些列 使得 其中 每进行一步迭代则减小了 F——全局收敛性 极限牛顿法 阻尼牛顿法 SMA-HPC ?2003 MIT 实例 1 0 10 10 d t rr V V ds IV IIe ?= ?? ? ?= ?? ?? 节点方程: () ( ) () 2 0 2 16 0.025 2 1 10 1 0 10 v v fv e ? ? ? ?? =+ ?= ?? ?? SMA-HPC ?2003 MIT 疑问解答续 方阵 极限牛顿法 阻尼牛顿法 实例继续 极限牛顿法 嵌套迭代 SMA-HPC ?2003 MIT =初始值, 0 x 0k = 重复 { ( ) ( ) () () () 11 1 11 , 1 kk F kk k k F kkk kkkk Fx J x Jx x Fx x Fx x xx x kk αα α ++ + ++ ?=? ? +? =+? =+ 计算 解方程 求得 找出 使得 取极小值 } ( ) 11 , kk xFx ++ ?直到 足够小为止 如何求阻尼系数? 极限牛顿法 阻尼牛顿定律 SMA-HPC ?2003 MIT 定理证明 通过定义牛顿迭代 ( ) ( ) 1 1kkk k k F xx JxFxα ? + =?  牛顿方向 多维均值迭代 () () ()( ) 2 2 F l F xFyJyxy xy?? ?≤? 综合以上 ( ) () () () () () () 2 11 1 2 kkkkkk kkk FF F l Fx Fx J x J x Fx J x Fxαα ?? + ?? ?? ≤ ?? ?? SMA-HPC ?2003 MIT 极限牛顿法 阻尼牛顿定律 定理进一步证明 由上述证明 ( ) () () () () () () 2 11 1 2 kkkkkk kkk FF F l Fx Fx J x J x Fx J x Fxαα ?? + ?? ?? ≤ ?? ?? 化简上式,将 移到范数符号外得 () 2 k α ()( )() () () () 2 21 1 1 2 kkkkkkk F l Fx Fx J x Fxααα ? + ?? ≤ 利用雅可比矩阵的极限并分解范数得 ()()()() () 2 2 2 1 1 2 kkkkk l Fx Fx Fx β αα + ?? ≤? + ?? ?? 得出关于阻尼系数的二次方程 牛顿极限法 阻尼定律 SMA-HPC ?2003 MIT 定理进一步证明II 由前面的证明简化二次方程式 () () () 2 2 2 1 1 2 kkk k l Fx Fx β αα + ? ? ≤? + ? ? ? ? 分两种情况讨论: () () () () () () () () () 2 k 2 2 kk 2 2 2 2 kk 2 1 1) α 1 22 1 1 αα 22 11 2) 22 1 1 αα 1 2 2 k k kk k k k l Fx l Fx l Fx lFx l Fx lFx β β β α β β β <= ?? ??+ < ?? ?? ≥= ?? ??+ <? ?? ?? 取 标准牛顿法 取 SMA-HPC ?2003 MIT 牛顿极限法 阻尼定律 定理进一步证明III 综合前面的证明 1 () () kkk Fx Fxγ + ≤ 证明不充分, γ 大小由 κ 决定 上述结果意味着: 10 () () k F xFx + ≤ 不是收敛定理 因为当 时 2 1 () 22 k l Fx β > 0 22 11 11 2()2() kk lFx lFx γ ββ ? ≤? ≤ 注意证明技巧 首先 ——显示收敛性不是递增的 其次 ——利用非递增性证明收敛性 极限牛顿法 阻尼定律 SMA-HPC ?2003 MIT 嵌套迭代 =初始值, 0 x 0k = 重复 { ( ) ( ) () () () 11 1 11 , 1 kk F kk k k F kkk kkkk Fx J x Jx x Fx x Fx x xx x kk αα α ++ + ++ ?=? ? +? =+? =+ 计算 解方程 求得 找出 使得 取极小值 } 多种方法求解 k α 极限牛顿法 阻尼牛顿法 SMA-HPC ?2003 MIT 奇异雅可比矩阵问题 阻尼牛顿法 “推动 ”迭代趋向局部极小值 找出雅可比矩阵的奇异点 连续定律 基本概念 SMA-HPC ?2003 MIT 加载源或载荷步 在给出恰当初始值的情况下牛顿法收敛 —产生一系列问题 —确保前一问题为后一问题提供初始值 导热棒实例 . 初始无热源, T= 0 较接近初始值 . 缓慢增热, T= 0 较接近初始值 SMA-HPC ?2003 MIT 连续定律 基本概念 常用设置 求解 其中()( ) ,0Fxλλ=  易于求解 开始时连续() 0,0 0Fx =  终止时连续 ( )( ) 1,1 ( )F xFx=  充分光滑 难以确保! () x λ SMA-HPC ?2003 MIT 连续定律 基本概念 模板算法 ()( ) ( ) ( ) () () () ()() 0 0 , 0 0, 0 0.01, 1 { ,0 , =+ , 2 1 =+ 2 } Fx x x xx Fx xx λ δλ λ δλ λ λλ λλ λλ λ λ δλ δλ δλ δλ δλ λ λ δλ == == < = = = =   前一个 前一个 前一个 前一个 求解 当 试用牛顿法求解 若牛顿收敛 = 否则 , SMA-HPC ?2003 MIT 连续定律 基本概念 载荷源 /载荷步实例 () () () () () 1 ,0 , 1 s fv i v v V R ivfv vvR λλ λ λ λ =+?= ?? =+← ? ?   二极管 二极管 非丛属 () ( ) () ,0 , ,0 x yl fxy Fx fxy f λ λ =? ? = ? + = ? ? G  连续定律 雅克比迭代定律 定律描述步 问题易于求解且雅克比矩阵非奇异。 ( )()( )( ) ( ) ( ) ,1Fx x xλ λλλ λλ=+?  观察 () ( ) 0 0 ,0 0 0 ((0),0) Fx x Fx I x λ === ? = ?   ()( ) ( )( ) ()() 1 1 ,1 1 1 ((0),0) Fx Fx Fx Fx xx λ == ? ? = ??   重新回到初始的问题和初始雅克比矩 阵 SMA-HPC ?2003 MIT 连续定律 雅克比迭代定律 基本算法 ( )( ) ( ) ( ) () () () ()() 0 0 ,0 0, 0 0.01, 1 { ? ,0 , = + , 2 1 =+ 2 } Fx x x xx Fx xx λ δλ λ δλ λ λλ λλ λ λ λλδλδλ δλ δλ δλ λ λ δλ == == < =+ = = =   前一个 前一个 前一个 前一个 求解 当 试用牛顿法求解 若牛顿收敛 = 否则 , 连续定律 雅克比迭代定律 为每一载荷步估计初始载荷值 SMA-HPC ?2003 MIT 连续定律 雅克比迭代定律 更新改进迭代 ( )()( )( ) () ()() () () ()() () 0 ,, , , ,, Fx Fx Fx xx x Fx x Fx Fx xx x λδλλδλ λλ λλ λδλ λ λλ δλ λλ λλ λδλ λ ++≈ + +? + ? ? ?? ?? ?+?=? ?? ??       最好为下一步牛顿法 由上一步牛顿法得出的 估计初始值 x δλ SMA-HPC ?2003 MIT 连续定律 雅克比迭代定律 更新改进迭代续 如果 ( ) ( ) ( ) ( ) ()( ) ,1Fx Fx xλ λλ λ λλ+?  = 那么 () () () ,Fx Fx x λ λ λ + ?   易于计算 = 连续定律 雅克比迭代定律 更新改进迭代续II ()() ()( ) ()( ) 1 0 ,,Fx Fx xx xx λλ λλ λ δλ λ δλ ?? += ?? ?? ??  - 图形表示: SMA-HPC ?2003 MIT 连续定律 雅克比迭代定律 迭代仍存在问题 连续定律 雅克比迭代定律 弧长步? 需求解λ ()() 2 2 2 2 (, ) 0 0 Fx xx arc λ λλ λ = ? +? ? =  前一个 前一个 SMA-HPC ?2003 MIT 连续定律 雅克比迭代定律 弧长步牛顿法 ( ) () () ( ) () () ()() 1 1 22 2 2 , , 2 2, , kk kk kk kk T k k kk kk Fx Fx xx x xx Fx xx arc λ λ λ λλ λλ λ λ λλ λ + + ? ? ? ? ? ? ? ?? ? = ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??? ? ? ?    前一个 前一个 前一个 前一个 SMA-HPC ?2003 MIT 连续定律 雅克比迭代定律 弧长转折点 ( ) () () ( ) () , , 2 2, kk kk T k k Fx Fx x xx λ λ λ λλ λ ? ? ? ? ? ? ? ?? ? ? ? ? ? ? ?   前一个 前一个 矩阵左上角模块为奇数 小结 SMA-HPC ?2003 MIT 阻尼牛顿定律 —若雅可比矩阵非奇异则全局收敛 —奇异雅可比矩阵收敛困难 介绍连续定律 —载荷源 /载荷步问题 —更普遍的连续方案