数值模拟导论 ——第十一讲 牛顿法实例学习 ——模拟图像滤波器 雅可比 .怀特 Thanks to Deepak Ramaswamy, Andrew Lumsdaine, Jaime Peraire, MichalRewienski, and Karen Veroy SMA-HPC ?2003 MIT 图像分割实例 牛顿迭代法 Gershgorin圆理论 弧长连续 概要: 简单的滤波器 SMA-HPC ?2003 MIT 电路图 光滑输 出 图像输入 非线性滤波器 SMA-HPC ?2003 MIT 电路图 光滑输出 出 图像输 入 非线性滤波器 SMA-HPC ?2003 MIT 电路图 非线性电阻器基本方程 SMA-HPC ?2003 MIT 2 () () 1 v v iv e βγα α ?? = + 电 流 电流 改变β值 SMA-HPC ?2003 MIT 存在的问题 SMA-HPC ?2003 MIT z用什么方程式表示? ——节点-分支法或节点法 z用什么牛顿法? ——标准的,阻尼的,或连续的? ——哪一种连续法? z用什么线性求解器? 电流 ——高斯消去法还是 Krylove法? ——Krylove法能快速收敛么? ——方程式的选择和牛顿法选择是否有冲突? 牛顿迭代法 SMA-HPC ?2003 MIT 基本算法 嵌套迭代 0 x =初始值, 0k = 重复 { ( ) ( ) () () 11 11 , 1 kk F kk k k F kkkk Fx J x J xx Fx x xx x kk α + + ++ ?=? ? =+? =+ 计算 求解(利用成组编码法) 解方程 求得 } ( ) 11 , kk xFx ++ ?直到 足够小为止 成组编码法应该取多大精度? SMA-HPC ?2003 MIT 求解精度要求 成组编码法 l步之后 ( ) N N 1, () kk k kl F l Jx x Fx γ + ? ?=? + 步成组编码 成组编码 后的牛顿 余量 () () () 1 2 , a) ( ) ) ( Lipschitz Cont) ) ( ) ( ) k F FF kl k Jx bJxJy lxy cCFx β γ ? ≤ ?≤? ≤ 如果 反之不成立 导数为 更精确接近收敛 那么 牛顿迭代二次收敛 收敛性证明 SMA-HPC ?2003 MIT 通过定义牛顿迭代 ( )() ( ) 1 1,kk k kkl F xxJxFxγ ? + =? +  接近牛顿方向 多维均值迭代 () () ()( ) 2 2 F l F xFyJyxy xy?? ?≤? 综合上述两式得 ( ) () () () () () () 2 11 1,, 2 kkkkkkl kkkl FF F l Fx Fx J x J x Fx J x Fxγγ ?? + ?? ?? +≤ + ?? ?? 消去上式中雅可比矩阵及其逆得 ()()() () () 2 1 1, , 2 kkkkl kkkl F l Fx Fx Fx J x Fxγγ ? + ?++≤ + 化简并利用三角不等式得 () () () 2 1 1,, 2 kkkklkl F l Fx J x Fx γ γ ? + ≤++ SMA-HPC ?2003 MIT 利用雅可比矩阵的极限和三角不等式 () () 2, 2 2 1, 1 22 kl kk kl l Fx Fx βγ β γ + ?? ?? ≤++ ?? 在迭代求解有误时利用范围限制 () () () 2, 2 22 1 1 22 kl kk k l Fx Fx CFx βγ β + ?? ??≤++ ?? 综合上述得 () () 2, 2 2 1 1 22 kl kk l Fx C Fx βγ β + ?? ?? ?? ?? ≤++ ??  易于限制起值的范围 牛顿迭代法 SMA-HPC ?2003 MIT 矩阵-释放思想 考虑应用成组编码法到牛顿迭代方程中 ( )() 1kk k F J xx Fx + ?=? 在每一次迭代中成组编码法形成一矩阵矢量值 () ( ) () ( ) 1 l kl k k F Jxp Fx p Fxε ε ≈+? 可能采用牛顿成组编码法而无需雅可比矩阵 需要选出一个恰当的ε值 Gerschgorin 圆定理 SMA-HPC ?2003 MIT 定理陈述 给出矩阵 1,1 1, ,1 , N NNN mm M mm ? ? ? ? = ? ? ? ? ? ? " #% # " 对于每一M的特征值都存在一个i,1<i<N 使得 ,,ii i j ji mmλ ≠ ?≤ ∑ 可以得出特征值包含在Gerschgorin圆集合中 Gerschgrion图 SMA-HPC ?2003 MIT 接地电阻丝 SMA-HPC ?2003 MIT 节点矩阵 2.1 -1 -1 2.1 -1 -1 2.1 M ?? ?? ?? ?? %  节点方程式 SMA-HPC ?2003 MIT N 2 -1 -1 2 -1 -1 2 M ? ? ? ? ? ? ? ? ? ? ? ? %  节点方程式 连续方案 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 } F xxx xx Fx xx λ δλ λ δλ λ λλ λλ λλ λλδλδλ δλ δλ δλ λ λ δλ == == < = = = =   前一个 前一个 前一个 前一个 求解 当 试用牛顿法求解 若牛顿收敛 = 否则 , 连续方案 SMA-HPC ?2003 MIT 雅克比迭代定律 定律描述 ( )( ) ( )( ) ( ) ( ) ,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 弧长步? 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 图像过滤实例 ——大的非线性系统方程 ——在选择数值方法中检验问题 牛顿迭代法 ——无需精确求解迭代方程 Gershgorin圆定理 ——有时给出特征值的有利范围 弧长连续 SMA-HPC ?2003 MIT SMA-HPC ?2003 MIT SMA-HPC ?2003 MIT SMA-HPC ?2003 MIT