原文链接

多重网格方法是解微分方程的方法。这个方法的好处是在利用迭代法收敛结果的时候速度特别快。并且,不管是否对称,是否线性都无所谓。它的值要思想是在粗糙结果和精细结果之间插值。

前面介绍了Gauss–Seidel方法和Jacobi 方法,现在再用这两个方法来举例。尽管Gauss–Seidel (GS)方法converge更快一些,但其实对于维度很高的系统都很慢。Multigrid(MG)方法的思路是先把问题粗糙化,把原网格投影到一个比较简单的新网格上计算,等到快速收敛以后再经由Interpolation(插值)返回原来的系统。

对于某个工程数学问题(如泊松方程),可以归纳为线形方程Ax = b,  A为n X n矩阵。那么,最终目的是得到所谓的x = A^(-1)b。定义e(t) = x – x(t),当e(t)为小于某个值的时候,可以认为xconverge到了合适的值。但实际上我们比较的是相邻的值。

把A非奇异分解A = B – C,

Bx – Cx = b

x = B(-1) Cx + B^(-1) b

并分开求解x

Bx(t+1) - Cx(t)= b

x(t+1) = B^(-1) Cx(t) + B^(-1) b                  -(1)

把形如B^(-1) C的矩阵称作迭代矩阵,用M表示。

容易发现,

x(t+1) – x = Mx(t) + B^(-1) b – x = Mx(t) +Mx = M (x(t) – x)   -(2)

以上式子与(1)式等价。

另外可令N = B^(-1):

x(t+1) = Mx(t) + Nb            - (3)

不同的迭代方法其实就是A的不同分解法,反映到(3)式就是取不同的M和N值。

比如,在GS方法中B = D – L, C = U, 则(3)式为:

x(t+1) = (D - L)^(-1)Ux(t) + (D - L)^(-1)b            - (4)

分析发现,当n的数值比较大时,以上收敛是极其缓慢的。假设p(i) 是序号为i的原系统有限元基函数(i = 1, 2, … , n),q(i)是粗糙化的网格(i = 1,2, … , m  m<n).

一种粗糙化方法是构造矩阵H,使p = H * q, H为m X n矩阵。令A’ = HAH^T, x’ = Hx, b’ = Hb. 则 A’ x’ = b’ 是一个m维粗化的网格系统。

更加具体来说,对于一个k维的问题,如果k小于一个指定的维数,那么直接用jacob等方法解救可以了。否则,粗糙化为更低的维度比如变为原来的二分之一,最后再把维数变回来。把mesh粗糙化的过程叫做Downv-cycle (从k维到k/2维), 反之叫Up v-cycle.(从k维到2k维)。

最新文章

  1. Visual Studio 2015正式发布
  2. linux 之静默安装oracle
  3. bzoj1188 [HNOI2007]分裂游戏 博弈论 sg函数的应用
  4. TortoiseSVN客户端使用说明
  5. 15款帮助你实现响应式导航的 jQuery 插件
  6. CCLabel在最大宽度已知的情况下如何获取实际宽高
  7. [[4], [5, 6, 7]](Python)list的方法
  8. csharp:正则表达式采集网页数据
  9. MySQL(二)
  10. Lucene/ElasticSearch 学习系列 (2) Information Retrival 初步之名词解释
  11. 视频边下边播--缓存播放数据流-b
  12. 〖转〗request.getparameter()和request.getAttribute()的区别
  13. WebApi 能支持Session
  14. 分布式发布订阅消息系统Kafka
  15. Appium python自动化测试系列之Android知识讲解(三)
  16. C++ 内存分配(new,operator new)面面观 (转)
  17. 使用Linux命令行测试网速
  18. 第五节,Neural Networks and Deep Learning 一书小节(中)
  19. Linux下环境变量配置方法梳理(.bash_profile和.bashrc的区别)
  20. unity3d动态创建一个文本

热门文章

  1. git使用标准
  2. requirej入门(一)
  3. g++ -I(大写i) 与-L(大写l)-l(小写l) 的作用与学习
  4. Java基础08-猜拳游戏
  5. (转)python 列表与元组的操作简介
  6. Powershell(2)
  7. HDU 5340——Three Palindromes——————【manacher处理回文串】
  8. Day3下
  9. weblogic 10.3.5重置密码
  10. 使用dtd--属性声明