矩阵迭代
来源:互联网 发布:孙俪的淘宝店铺名字 编辑:程序博客网 时间:2024/05/18 08:44
1 基本迭代方法
实际问题PDE矩阵计算 A x = b,一般采用迭代解法。基本迭代方法(Jacobi, G-S SOR)主要分两步:矩阵分裂和残差正交投影。
A = D - E - F, (b - A x_k+1)|_i = 0 ----->
Jacobi迭代: x_k+1 = D^-1 ( E + F) x_k + D^-1b
G - S 迭代: x_k+1 = (D - E)^-1 F x_k + (D - E) ^-1 b
实际上,A = M - N。 只要矩阵M 非奇异,就可以构造出一种迭代格式: M x_k+1 = N x_k + b
松弛方法,对A分解如下: w A = ( D - w E ) - ( w F + (1-w)D)
SOR迭代: (D - w E) x_k+1 = ( w F + (1-w)D)x_k + wb
块迭代方法是一个迭代步里完成一个子块的更新,同样两步。此时迭代关系为:全局残差在子(块)空间投影为0.
2 矩阵迭代属性
2.1 不动点迭代
M^-1 A x = M^-1 b, (A = M - N ) 预处理后方程组的不动点迭代等价于上述各种基本迭代格式. 实际应用中不采用 M^-1 A 而是转换成几个矩阵 向量乘法.
2.2 迭代收敛性
x_k+1 - x = G^k+1 ( x_0 - x), 迭代收敛 -----> 迭代矩阵的谱半径 |G| < 1
2.3 矩阵正则分裂
当M非奇异,且M^-1 和N 均非负, A = M - N 称为矩阵A的正则分解. 如果 A 非奇异的且 A^-1 非负, 则 迭代矩阵 | M^-1 N| < 1 对任意初值成立.
2.4 严格对角占优或不可约对角占优矩阵是非奇异的,且保证了Jacobi , G-S 迭代对任意初值收敛.
2.5 SPD矩阵的SOR迭代, 对任意w < (0, 2 ), 任意初值均收敛
2.6
3 投影方法
A x = b, 迭代解 {x} 来自试探解子空间 K, 约束条件{w}来自子空间 L, 且满足 (b - A x, w) = 0 --- > Petrov - Galerkin Condition. 当 K , L 是同一空间, 称为 Galerkin Condition. 此即 有限元理论中的 PG方法 和 G方法的区别: G要求试探解与权函数相同.
投影方法分正交投影( L = K ) 和 斜投影 (L, K 不同) . 那么基本迭代方法, 就很容易从此得到.
K = span {v}, L = spa{ w} , del = x - x_0 = alp * v, ( r - A * del, w) = 0 ---- > alp = ( r, w) / (A*v, w)
3.1 最速下降
r <---- b - A * x , p = A * r
alp <---- (r, r)/ (p ,r)
x <---- x + alp * r
r <---- r - alp * p
当A为SPD, 最速下降法对任意初值收敛.
3.2 最小残差迭代
r <----- b - A * x , p = A * r
alp <--- (p, r)/ (p, p)
x <---- x + alp * r
r <---- r - alp * p
当A是PD, 最小残差迭代法对任意初值收敛.
3.3 Krylov迭代
K = Krylov subspace = span{ r_0, Ar_0, A^2r_0 ... }
L = K -- > CG
L = AK ---> GMRES
L = Krylov span( A^T, r_0)
"投影" 解可理解为试探解的"极值",对应真实解;类似范函分析中能量函数的极值对应物理微分方程. 可见所有迭代方法都可源于投影.
in function analysis, there are Banach Space and Hilbert Space, in numerical iteration analysis, there is Krylov Space ....
- 矩阵迭代
- 迭代求解矩阵测试
- Jacobi迭代与SOR迭代求解希尔伯特矩阵
- 线性代基础理论:矩阵
- 线代----矩阵乘法
- 线代 [矩阵]
- 矩阵/向量迭代算法:PageRank, HITS, SPEAR
- NMF非负矩阵分解以及更新迭代公式
- 线代009 伴随矩阵、逆矩阵
- 迭代
- 迭代
- 迭代
- 迭代
- 迭代
- 迭代
- 迭代
- 迭代
- 迭代
- CUDA到底是什么???
- 【学习笔记】android源码下载
- PHP GD库及jpgraph的安装与配置
- QTP录制不了脚本常见问题解决方法
- JavaScript sort方法分析。
- 矩阵迭代
- iOS系统特性总结
- tiny6410裸机实验第5章--------------DDR(代码重定位)
- 创建第一个JBPM6项目并且运行自带的helloword例子(JBPM6学习之三)
- C++中"std::"是什么意思?起什么作用?namespace?iostream和iostream.h的区别
- linux下socket的close和shutdown
- Hibernate三种状态的区分
- uva10003
- 【PAT 1053】 Path of Equal Weight 深度优先搜索