线性和非线性方程组迭代法

迭代法是通过构造 x = ϕ ( x ) x=\phi(x) x=ϕ(x),让 x x x迭代收敛至解向量

雅可比迭代法

A = D − P A=D-P A=DP 把A拆成对角矩阵减去一个对角全0的矩阵
A x = b − > ( D − P ) x = b − > x = D − 1 P x + D − 1 b Ax=b->(D-P)x=b->x=D^{-1}Px+D^{-1}b Ax=b>(DP)x=b>x=D1Px+D1b

高斯-塞德尔迭代法

雅可比迭代的改进
在计算 x i k + 1 x_i^{k+1} xik+1分量时,把前面计算出的一些 x j k + 1 x_j^{k+1} xjk+1用上,而不是用 x j k x_j^{k} xjk

松弛迭代法

在高斯-塞德尔迭代法中
原本 x k + 1 = f ( x k ) x^{k+1}=f(x^k) xk+1=f(xk)
现在加权变成 x k + 1 = ω f ( x k ) + ( 1 − w ) x k x^{k+1}=\omega f(x^k)+(1-w)x^k xk+1=ωf(xk)+(1w)xk
0 < ω < 1 0<\omega<1 0<ω<1时, ω \omega ω是低松弛迭代
1 < ω < 2 1<\omega<2 1<ω<2时,是超松弛迭代
2 < = ω 2<=\omega 2<=ω时,发散

牛顿迭代法

和一元非线性方程组类似,进行泰勒展开,把非线性转成线性进行迭代
x k + 1 = x k + J − 1 ( x k ) ( f ( x k ) ) x^{k+1}=x^k+J^{-1}(x^k)(f(x^k)) xk+1=xk+J1(xk)(f(xk))
J − 1 ( x ) J^{-1}(x) J1(x)是雅可比矩阵的逆矩阵

最速下降法

对于方程组 f i ( x ) = 0 f_i(x)=0 fi(x)=0,构造
F ( x ) = f 1 ( x ) 2 + f 2 ( x ) 2 + f 3 ( x ) 2 + . . . F(x)=f_1(x)^2+f_2(x)^2+f_3(x)^2+... F(x)=f1(x)2+f2(x)2+f3(x)2+...
计算梯度,选择步长,更新 x x x,迭代到 F ( x ) F(x) F(x)足够逼近0

你可能感兴趣的:(算法)