数值模拟导论 -第六讲 Krylov子空间矩阵求解方法 雅克比 ·怀特 感谢 Deepak Ramaswamy, Michal Rewienski,Karen Veroy and Jacob White 常规的子空间极小化算法 ——回顾学过的正交化和投射定理 GCR算法 - krylov-子空间 -对称矩阵的简化 -收敛条件 回顾特征值和特征向量 -范数和谱半径 -谱映射定理 概述 任意的子空间方法 SMA-HPC ?2003 MIT 可以近似为向量 的和 任意的子空间方法 近似的解 Mx= b 选择一个 k维的子空间 1 0 k k ii i x wα ? = ?= ∑ null {} 10 ,, ? ??? k ww nullnull { } 01 ,, k ww ? ??? null null ·残向量定义为 如果 残向量最小化的思路为:取 ,最小化式: 1 0 k k ii i xwα ? = =? ∑ null kk rbMx=? 1 0 k ii i bMwα ? = =? ∑ null 任意子空间方法 SMA-HPC ?2003 MIT 最小残向量 11 2 2 ... NN x MxM xM b+++ = nullnull null kk Mxbr ?= i sα ′ i sα ′ ()() 11 2 2 00 T kk T kkk ii ii rrrb Mwb Mwαα ?? == ???? ≡=? ? ???? ???? ∑∑ null null kk rbMx=? 如果 或者 正交于 ,那么我 们将很容易计算出 的最小值。 如果 或者 于 非正交 那么要建立一组正交的向量 使向量 空间 =向量空间 并且 , ( ) ( ) 0 ij Mw Mw = nullnull ( ) i Mw null ( ) j Mw null 任意子空间方法 SMA-HPC ?2003 MIT 最小残向量 算法 2 2 2 2 k ii rb Mwα=? ∑ null { } 01 ,, k pp ? ??? null null {} 01 ,, k ww ? ??? null null () ( ) 0 T ij Mp Mp = nullnull i j≠ ( ) i Mw null ( ) j Mw null ()( ) 0 T ij Mp Mp = nullnull 给定 M, b并且一组搜索方向 1)通过将 正交化生成 for j= 0 to k- 1 2)解 计算 r 的最小值 {} 01 ,, k ww ? ??? nullnull j Mws ′ j p s ′ null 任意子空间方法 SMA-HPC ?2003 MIT 最小残向量 运算步骤 ( ) () ()() 1 0 T k ji jj i T i ii Mw Mp p wp Mp Mp ? = =? ∑ ( ) () ()() ( ) () ()() 0 11 00 TT i kk ii k ii ii ii rMp rMp x pp Mp Mp Mp Mp ?? == ∑∑ k x 1)正交化 2)解计算 r 的最小值 任意子空间方法 SMA-HPC ?2003 MIT 最小残向量 图示计算步骤 j Mws ′ for j= 0 to k- 1 for i= 0 to j-1 正交搜索方向 标准化向量 更新结果 更新残向量 00 rbAx=? 任意子空间方法 SMA-HPC ?2003 MIT 最小化算法 j j pw= ( ) () T j jjii p pMpMpp←? ()() 1 j j T jj p p Mp Mp ← ( ) ( ) 1 T jjj jj xxrMpp + =+ ( ) ( ) 1 T jjj j j rrrMpMp + =+ 选择 的标准 对所有在空间 中的 任意 , 的值都很小 当 时 在向量空间 一种选择,单位向量, 向量空间 如果 k= N进行 QR分解 如果 k<N情况会很糟糕 01 {,, } k ww ? ??? null null i sα ′ 1 0 k k ii i bMxb Mwα ? = = ?? ∑ null 任意子空间方法 SMA-HPC ?2003 MIT 子空间的选择 标准 kN?? 1 A b ? ≈ { } 1 , k k xee∈ ??? null null 01 ,, k ww ? ??? null null 01 {,, } k ww ? ??? nullnull 求 的最小值,其中假设 (对称 矩阵)并且 推导出 x最小化 f. 取向量空间 这便是 f的最快下降方向,但 f并不是残余值。 这种方法不能用于非对成矩阵,和不满足 的情况 () 1 2 TT f xxMxxb=? 任意子空间方法 SMA-HPC ?2003 MIT 子空间的选择 传统方法 T M M= 0 T xMx> ( ) 1 x fx Mxb x Mb ? ?=??= {} ( ) ( ) { } 01 01 ,, ,, k kx x w w fx fx ? ? ??? = ? ???? null null 0 T xMx> 注意: 向量空间 =向量空间 如果: 向量空间 =向量空间 那么 并且向量空间 =向量空间 krylov子空间 01 { ,, } k rr ? ??? ( ) ( ) { } 01 ,, k xx fx fx ? ???? { } 01 ,, k ww ? ??? null null 任意子空间方法 SMA-HPC ?2003 MIT 子空间的选择 krylov子空间 1 0 0 k ki i i rr Mrα ? = =? ∑ { } 00 10 ,,, k rMr M r ? ??? 01 { ,, } k rr ? ??? 01 { ,, } k rr ? ??? 求解第 k步搜索方向的步长 更新结果 更新残向量 计算新的正交搜索方向 krylov方法 SMA-HPC ?2003 MIT GCR算法 GCP的第 k步 ( ) () ()() T k k k T kk rMp MpMp α = ( ) () ()() T k k k T kk rMp MpMp α = 1kk kk rr Mpα + =? ( ) ( ) ()() 1 11 0 T k k j kk j T j jj Mr Mp p rp Mp Mp + ++ = =? ∑ 向量内积, O(n)矩阵向量的内积 O(n)如果是稀疏矩阵需要 O(n)步运算 向量加, O(n) O(K)内积,总共需要 O(nk)步运算 如果 M是稀疏矩阵,当用 k步来逼近 n时,总共需 要运算步= O(n)+O(2n)+…+O(kn)=O(n 3 )具有很好 的收敛性。 ( ) () ()() T k k k T kk rMp MpMp α = 1kk kk xx pα + =+ 1kk kk rr Mpα + =? krylov 方法 SMA-HPC ?2003 MIT GCR算法 k步逼近的计算耗时 1kk kk rr Mpα + =? 我们会发现下面的情况: if M=MT 那么 j<k 一步完成正交 如果 ,那么矩阵对称,稀疏, GCR需要运 算步 更好的收敛速度 1kj rMp + ⊥ ( ) ( ) ()() ( ) () ()() 11 1 11 0 TT kk k jk k kjkk j kk jj Mr Mp Mr Mp p rppp Mp Mp Mp Mp ++ + ++ = =? ?? ∑ krylov 方法 SMA-HPC ?2003 MIT GCR算法 对称矩阵的情况 2 ()On knnull 吸热 krylov 方法 SMA-HPC ?2003 MIT “ 不与外界进行热交 换 ”的例子 绝缘棒和矩阵 近端温度 远端温度 将棒离散化 节点平衡方程 krylov 方法 SMA-HPC ?2003 MIT “不与外界进行热交 换 ”的例子 电路和矩阵 krylov 方法 SMA-HPC ?2003 MIT “与外界进行热交换 ” 的例子 导体棒和矩阵 近端温度 远端温度 离散化 节点平衡方程 krylov 方法 SMA-HPC ?2003 MIT “与外界进行热交换 ” 的例子 电路和矩阵 节点平衡方程 残余误差 迭代次数 反复迭代后的 log(残余误差)对比图 GCR性能 SMA-HPC ?2003 MIT (随机的 Rhs) GCR性能 SMA-HPC ?2003 MIT ( Rhs=- 1,+ 1,- 1,+ 1….) 反复迭代后的log(残余误差)对比图 Krylov 子空间方法 SMA-HPC ?2003 MIT 收敛性分析 多项式逼近方法 {} { } 00 0 0 ,.... , ,.... k k ww rMrMr= () 100 0 k ki ik i k xMrMrαξ + = == ∑ nullnullnullnullnull 次多项式 (()) 10 10 0 0 k ki ik i rr MrIMMrαξ ++ = =? =? ∑ 0 0α ≠ { } { } 00 0 0 ,.... , ,.... k k ww rMrMr= 如果向量空间 注:对任意 的 存在向量空间 。 Krylov 方法 SMA-HPC ?2003 MIT 收敛性分析 基本知识 0 j α ≠ jk≤ { } { } 00 0 01 , ,.... , ,.... k k pp p rMr Mr= 10 () k k xMrξ + = k ξ 2 1 2 k r + ( ) ( )()( ) 110 0 0 0 1 kk kkk r b Mx r M Mr I M M r Mrξξ ++ + =? = ? = ? ≡? 0 1 () k M r + ? 2 1 2 k r + 1 (0) 1 k+ ? = 如果 ,在 GCR中对所有的 1)向量空间 2),是k次多项式,这个多项式可以最小化 这里 是( k+ 1)次多项式,要想最小化 ,必须使 3) ,有 Krylov 方法 SMA-HPC ?2003 MIT 收敛性分析 GCR多项式的最优 化处理 22 10 1 () k k rMr + + ≤? null 1k+ ? null 1 (0) 1 k+ ? = 2 1 2 k r + GCR最优化的性质 这里 是任意的 k次多项式,并且有 因此任意的满足零约束的多项式都可以获得上述同 的联系。 是矩阵 M的一个特征值 如果 为 特征向量 或者:如果满足 特征值和特征向量 简介 SMA-HPC ?2003 MIT 基本定义 iii Muuλ= null null i λ i u null i M Iλ? i λ i u null 矩阵的特征值和特征向量满足 其中 为特征值, 是奇异矩阵, 是矩阵 M的一个特征向量 ()0 i MIλ? = 特征值和特征向量 简介 SMA-HPC ?2003 MIT 基本定义 例子 特征值? 特征向量? 如果是一个下三角矩阵会怎样? 特征值和特征向量 简介 SMA-HPC ?2003 MIT 注意问题 几乎所有的 N*N矩阵都有 N个线性独立的特征向量。 矩阵 M的一组特征值被称之为 M的型谱 i λ 特征值和特征向量 简介 SMA-HPC ?2003 MIT 注意问题 几乎所有的 N*N矩阵都有 N个线性独立的特征向量。 并不意味着独立的特征值, 可以等于 并不意味着 M是非奇异矩阵。 i λ i λ j λ 特征值和特征向量 简介 SMA-HPC ?2003 MIT 谱半径 i λ 矩阵 M的谱半径为:圆心位于原点,可以包含 所有矩阵 M的特征值的圆的最小半径。 特征值和特征向量 简介 SMA-HPC ?2003 MIT 热流例子 i λ 棒长 吸入热 特征值和特征向量 简介 SMA-HPC ?2003 MIT 热流例子(续) i λ 特征值和特征向量 简介 SMA-HPC ?2003 MIT 热流例子(续) i λ 四个特征向量-选择哪一个? 特征参数 SMA-HPC ?2003 MIT 谱半径定理 给定一个多项式 将多项式应用到矩阵 那么: ( ) 01 ... p p f xxxαα α=+ ++ ( ) 01 ... p p f MMMαα α=+ ++ ( )() ( )( ) fM f M=谱半径 谱半径 特征参数 SMA-HPC ?2003 MIT 谱半径定理证明 注意矩阵下面的性质 应用到多项式矩阵的形式 分解因式 1121 1pp MMUUUU UU MUU λλ λ λ ? ?? ? == ?= () 11 1 01 ... p p f MUUUU UUααλ αλ ? ?? =+ ++ () ( ) () () 1 01 01 ... ... p p p p f MUI U fMU U I ααλ αλ ααλ αλ ? =+++ =+++ 11 2 2 ... NN xu u uα αα=+++ nullnull null 特征参数 SMA-HPC ?2003 MIT 谱分解 用特征向量的成分分解任意的 x 通过解 来计算 x 用矩阵 M来代替 x,得: 11 2 2 111 2 22 ( ... ) ... NN NNN Mx M u u u uu u α αα αλ αλ α λ =+++ =+++ null nullnull null nullnull Krylov 方法 SMA-HPC ?2003 MIT 收敛性分析 重要结论 1) GCR运算法则在最多 n步内收敛于真实解。 2)如果 M只有 q个特征值,那么 GCR运算法则最多以需 要 q步就可收敛 。 ( ) ( )( ) ( ) ( ) () 12 00 .... , nni n xx x x M Mr r λλ λ λλ?=? ? ? ∈ ?? = = null null 令其中 ,因此 证明: 总结 SMA-HPC ?2003 MIT ·任意子空间运算法则 -正交化搜索方向 ·GCR算法 - Krylov子空间 -对称矩阵的简化 -泄漏和绝缘例子 ·回顾特征值和特征向量 -谱半径理论 ·GCR极限情况 - Q步收敛法