数值分析中的方程组的迭代和直接求解

方程组的迭代&直接求解

一、迭代算法

理论基础-不动点理论

x = ϕ ( x ) , x=\phi(x), x=ϕ(x),这样一种映射 ϕ ( x ) \phi(x) ϕ(x)存在使得 x x x的函数值等于其本身,这样的点看起来像是不动点
Lipzchi条件 ∣ ∣ x k + 1 − x k ∣ ∣ ≤ L ∣ ∣ ϕ ( x k + 1 ) − ϕ ( x k ) ∣ ∣ ||x_{k+1}-x_k||\leq L||\phi(x_{k+1})-\phi(x_k)|| xk+1xkLϕ(xk+1)ϕ(xk)
满足该条件的迭代公式构造的点列收敛

1.一元变量函数的迭代求解

简单迭代

构造迭代函数 x = ϕ ( x ) x=\phi(x) x=ϕ(x)

各种魔改的牛顿迭代

f ( x ) = 0 f(x)=0 f(x)=0线性化 L ( x ) = 0 L(x)=0 L(x)=0 L ( x ) = f ( x ) + f ′ ( x ) ( x − x ∗ ) = 0 L(x)=f(x)+f'(x)(x-x*)=0 L(x)=f(x)+f(x)(xx)=0,构造迭代函数 x k + 1   = x k − f ( x ) / f ′ ( x ) x^{k+1}~=x^k-f(x)/f'(x) xk+1 =xkf(x)/f(x)

2.大型方程组(多元变量)的迭代求解

大型方程组构成 A x = b Ax=b Ax=b m ∗ n m*n mn 阶矩阵,若使用直接求解法,例如经典而优美的克莱姆法则,虽然可以得到准确解 X ∗ X* X,但其计算量太高,不适用于大型矩阵的求解;采用迭代法不断逼近真实解 X ∗ X* X

朴素而经典-Jacobi迭代

改进版本的-Seidel迭代

SOR迭代(松弛迭代)

收敛条件

1个充要条件,3个判别条件:
迭代矩阵B的谱半径小于1,
ρ ( B ) < 1 \rho(B)<1 ρ(B)<1
d e t ( λ I − B ) = 0 det(\lambda I - B)=0 det(λIB)=0 解的最大值 λ m a x \lambda max λmax

范数

衡量某种距离 ∣ ∣ ⋅ ∣ ∣ ||·|| , 向量范数与矩阵范数不同
常见向量范数有: 1范数,2范数,p范数,无穷范数

常见矩阵范数有: 1范数(列范数),无穷范数(行范数),F范数(元素平方和),2范数(乘转置矩阵求特征值)

现代大规模矩阵迭代求解方法

参考资料 Yosse Sparse Matrix iterative method
比较常用的是Krylov空间方法
GMRes (Generalization minimize residual),CG (conjugate gradient),…

先看看对 A x = b Ax = b Ax=b 的理解

  1. 朴素线性方程组
    a 11 X 1 + a 12 X 2 + a 13 X 3 + . . . + a 1 n X n = 0 a_{11}X_1+a_{12}X_2+a_{13}X_3+...+a_{1n}X_n = 0 a11X1+a12X2+a13X3+...+a1nXn=0
    a 21 X 1 + a 22 X 2 + a 23 X 3 + . . .

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值