数值方法笔记2:解决非线性方程

news2025/1/16 8:01:52

1. 不动点定理及其条件验证

不动点定义 P = g ( P ) {P}={g}({P}) P=g(P)
不定点迭代 x k + 1 = g ( x k ) {x}_{{k}+1}={g}\left({x}_{{k}}\right) xk+1=g(xk)
定理: 如果 g ( x k ) g({x_k}) g(xk)是连续的并且序列 x k {x_k} xk是收敛的, x k {x_k} xk收敛到方程的解: x = g ( x ) {x}=g({x}) x=g(x)
x ∗ = g ( x ∗ )  and  x k − > x ∗ {x}^{*}={g}\left({x}^{*}\right) \text { and } {x}_{{k}}->{x}^{*} x=g(x) and xk>x

在这里插入图片描述

定理: 假设
(1) 对于 g ( x ) g(x) g(x) g ′ ( x ) ∈ C [ a , b ] g'(x)\in C[a,b] g(x)C[a,b](连续)
(2) K K K是一个正的常数
(3) p 0 ∈ ( a , b ) p_0\in(a,b) p0(a,b)
(4) g ( x ) ∈ [ a , b ] , ∀ x ∈ [ a , b ] g(x)\in[a,b],\forall x\in[a,b] g(x)[a,b],x[a,b]
那么
(a) 如果 ∣ g ′ ( x ) ∣ ≤ K < 1 , ∀ x ∈ [ a , b ] , x k + 1 = g ( x k ) \left|\mathrm{g}^{\prime}(x)\right| \leq \mathrm{K}<1 , \forall x \in[\mathrm{a}, \mathrm{b}], \mathrm{x}_{\mathrm{k}+1}=\mathrm{g}\left(\mathrm{x}_{\mathrm{k}}\right) g(x)K<1x[a,b],xk+1=g(xk)收敛。
(b) 如果 ∣ g ′ ( x ) ∣ > 1 , ∀ x ∈ [ a , b ] , x k + 1 = g ( x k ) \left|\mathrm{g}^{\prime}(x)\right|>1 , \forall x \in[\mathrm{a}, \mathrm{b}], \mathrm{x}_{\mathrm{k}+1}=\mathrm{g}\left(\mathrm{x}_{\mathrm{k}}\right) g(x)>1x[a,b],xk+1=g(xk)不收敛

曲线的切线斜率 k ∈ ( − 1 , 1 ) k\in(-1,1) k(1,1)看下面的图逐渐收敛:

在这里插入图片描述

在这里插入图片描述
曲线的切线斜率 k ∈ [ − ∞ , − 1 ) ∪ ( 1 , ∞ ] k\in[-\infty,-1)\cup (1,\infty] k[,1)(1,]看下面的图不收敛:

在这里插入图片描述
在这里插入图片描述
综上所述,不动点迭代满足最重要的是:

( 1 ) ∣ g ′ ( x ) ∣ ≤ K < 1 , ∀ x ∈ [ a , b ] 【 g ′ ( x ) 的边界条件】 ( 2 ) g ( x ) ∈ [ a , b ] , ∀ x ∈ [ a , b ] ,并且有 g ( [ a , b ] ) ⊂ [ a , b ] 【 g ( x ) 的边界条件】 \begin{aligned}&(1) \left|\mathrm{g}^{\prime}(x)\right| \leq \mathrm{K}<1 ,\forall x \in[\mathrm{a}, \mathrm{b}] & 【g'(x)的边界条件】\\ &(2) \mathrm{g}(x) \in[\mathrm{a}, \mathrm{b}] , \forall x \in[\mathrm{a}, \mathrm{b}] ,并且有g([a, b]) \subset[a, b]& 【g(x)的边界条件】\end{aligned} (1)g(x)K<1,x[a,b](2)g(x)[a,b]x[a,b],并且有g([a,b])[a,b]g(x)的边界条件】g(x)的边界条件】

单调和非单调要分别判断边界条件,单调的g(x)的范围看端点就可以了,非单调还要看极值点。
在这里插入图片描述

2. 收敛阶、收敛检测与收敛加速

定义;
∣ x k + 1 − x ∗ ∣ ≤ C ∣ x k − x ∗ ∣ p , k > M , for  C > 0 , p > 0 \left|x_{k+1}-x^{*}\right| \leq C\left|x_{k}-x^{*}\right|^{p}, k>M \text {, for } C>0, p>0 xk+1xCxkxp,k>M, for C>0,p>0

lim ⁡ k → ∞ ∣ x k + 1 − x ∗ ∣ ∣ x k − x ∗ ∣ p = C \lim _{k \rightarrow \infty} \frac{\left|x_{k+1}-x^{*}\right|}{\left|x_{k}-x^{*}\right|^{p}}=C klimxkxpxk+1x=C
p p p阶收敛
其中:
p = 1 p=1 p=1 , 线性收敛(linear convergence)
1 < p < 2 1<p<2 1<p<2 , 超线性收敛(superlinear convergence)
p = 2 p=2 p=2 , 平方收敛(square convergence)

2.1 如何估计不动点迭代的收敛阶 x k + 1 = g ( x k ) {x}_{{k}+1}={g}\left({x}_{{k}}\right) xk+1=g(xk)

定理;设 x ∗ x^* x是最优解,如果 g ′ ( x ∗ ) = g ′ ′ ( x ∗ ) = … = g ( p − 1 ) ( x ∗ ) = 0 g^{\prime}\left(x^{*}\right)=g^{\prime \prime}\left(x^{*}\right)=\ldots=g^{(p-1)}\left(x^{*}\right)=0 g(x)=g′′(x)==g(p1)(x)=0, g ( p ) ( x ∗ ) ≠ 0 g^{(p)}\left(x^{*}\right) \neq 0 g(p)(x)=0 x k + 1 = g ( x k ) x_{k+1}=g\left(x_{k}\right) xk+1=g(xk) p p p阶收敛。

证明
x k + 1 = g ( x k ) = g ( x ∗ ) + g ′ ( x ∗ ) ( x k − x ∗ ) + … + g ( p − 1 ) ( x ∗ ) ( x k − x ∗ ) p − 1 ( p − 1 ) ! + g ( p ) ( ξ ) ( x k − x ∗ ) p p ! , 【 ξ ∈ [ x k , x ∗ ] 或 [ x ∗ , x k ] 】 ⇒ x k + 1 = x ∗ + g ( p ) ( ξ ) ( x k − x ∗ ) p p ! ⇒ x k + 1 − x ∗ ( x k − x ∗ ) p = g ( p ) ( ξ ) p ! → g ( p ) ( x ∗ ) p ! \begin{aligned} x_{k+1}&=g\left(x_{k}\right)=g\left(x^{*}\right)+g^{\prime}\left(x^{*}\right)\left(x_{k}-x^{*}\right)+\ldots\\&+\frac{g^{(p-1)}\left(x^{*}\right)\left(x_{k}-x^{*}\right)^{p-1}}{(p-1) !} +\frac{g^{(p)}(\xi)\left(x_{k}-x^{*}\right)^{p}}{p !}, \quad【\xi \in\left[x_{k}, x^{*}\right] 或\left[x^{*}, x_{k}\right] 】\\ \Rightarrow& x_{k+1}=x^{*}+\frac{g^{(p)}(\xi)\left(x_{k}-x^{*}\right)^{p}}{p !} \\ \Rightarrow& \frac{x_{k+1}-x^{*}}{\left(x_{k}-x^{*}\right)^{p}}=\frac{g^{(p)}(\xi)}{p !} \rightarrow \frac{g^{(p)}\left(x^{*}\right)}{p !} \end{aligned} xk+1=g(xk)=g(x)+g(x)(xkx)++(p1)!g(p1)(x)(xkx)p1+p!g(p)(ξ)(xkx)p,ξ[xk,x][x,xk]xk+1=x+p!g(p)(ξ)(xkx)p(xkx)pxk+1x=p!g(p)(ξ)p!g(p)(x)

2.2 给定精度的情况下,如何预测不动点迭代需要迭代的次数

定义 L = max ⁡ x ∈ [ a , b ] { ∣ g ′ ( x ) ∣ } < 1 L=\max _{x \in[a, b]}\left\{\left|g^{\prime}(x)\right|\right\}<1 L=maxx[a,b]{g(x)}<1
迭代的次数满足 k ≥ ln ⁡ ( ε ( 1 − L ) / ∣ x 1 − x 0 ∣ ) / ln ⁡ L k \geq \ln \left(\varepsilon(1-L) /\left|x_{1}-x_{0}\right|\right) / \ln L kln(ε(1L)/x1x0)/lnL

证明:
x k + 1 = g ( x k ) = g ( x ∗ ) + g ′ ( ξ ) ( x k − x ∗ ) = x ∗ + g ′ ( ξ ) ( x k − x ∗ ) ⇒ ∣ x k + 1 − x ∗ ∣ ≤ ∣ g ′ ( ξ ) ∥ ( x k − x ∗ ) ∣ ≤ L ∣ x k − x ∗ ∣ ≤ L k ∣ x 1 − x ∗ ∣ \begin{aligned}x_{k+1}=g\left(x_{k}\right)=g\left(x^{*}\right)+g^{\prime}(\xi)\left(x_{k}-x^{*}\right)=x^{*}+g^{\prime}(\xi)\left(x_{k}-x^{*}\right)\\ \Rightarrow \left|x_{k+1}-x^{*}\right| \leq\left|g^{\prime}(\xi) \|\left(x_{k}-x^{*}\right)\right| \leq L\left|x_{k}-x^{*}\right|\le L^{k}\left|x_{1}-x^{*}\right|\end{aligned} xk+1=g(xk)=g(x)+g(ξ)(xkx)=x+g(ξ)(xkx)xk+1xg(ξ)(xkx)LxkxLkx1x
又有
∣ x k + 1 − x k ∣ = ∣ g ( x k ) − g ( x k − 1 ) ∣ ≤ L ∣ x k − x k − 1 ∣ ≤ L k ∣ x 1 − x 0 ∣ \left|x_{k+1}-x_{k}\right|=\left|g\left(x_{k}\right)-g\left(x_{k-1}\right)\right| \leq L\left|x_{k}-x_{k-1}\right| \leq L^{k}\left|x_{1}-x_{0}\right| xk+1xk=g(xk)g(xk1)Lxkxk1Lkx1x0
于是有:
∣ x k + q − x k ∣ ≤ ∣ x k + q − x k + q − 1 ∣ + ∣ x k + q − 1 − x k + q − 2 ∣ + … + ∣ x k + 1 − x k ∣ ≤ ( L q − 1 + L q − 2 + … + 1 ) ∣ x k + 1 − x k ∣ < ( 1 + L + L 2 + … + L q − 1 + … ) ∣ x k + 1 − x k ∣ = 1 1 − L ∣ x k + 1 − x k ∣ ≤ L k 1 − L ∣ x 1 − x 0 ∣ \begin{aligned} &\left|x_{k+q}-x_{k}\right| \leq\left|x_{k+q}-x_{k+q-1}\right|+\left|x_{k+q-1}-x_{k+q-2}\right|+\ldots+\left|x_{k+1}-x_{k}\right| \\ &\leq\left(L^{q-1}+L^{q-2}+\ldots+1\right)\left|x_{k+1}-x_{k}\right|\\&<\left(1+L+L^{2}+\ldots+L^{q-1}+\ldots\right)\left|x_{k+1}-x_{k}\right|\\ &=\frac{1}{1-L}\left|x_{k+1}-x_{k}\right| \\&\leq \frac{L^{k}}{1-L}\left|x_{1}-x_{0}\right| \end{aligned} xk+qxkxk+qxk+q1+xk+q1xk+q2++xk+1xk(Lq1+Lq2++1)xk+1xk<(1+L+L2++Lq1+)xk+1xk=1L1xk+1xk1LLkx1x0

q → ∞ q \rightarrow \infty q

∣ x ∗ − x k ∣ ≤ 1 1 − L ∣ x k + 1 − x k ∣ ≤ L k 1 − L ∣ x 1 − x 0 ∣ \left|x^{*}-x_{k}\right| \leq \frac{1}{1-L}\left|x_{k+1}-x_{k}\right| \leq \frac{L^{k}}{1-L}\left|x_{1}-x_{0}\right| xxk1L1xk+1xk1LLkx1x0

于是:

L k 1 − L ∣ x 1 − x 0 ∣ ≤ ε ⇒ k ≥ ln ⁡ ( ε ( 1 − L ) / ∣ x 1 − x 0 ∣ ) / ln ⁡ L \frac{L^{k}}{1-L}\left|x_{1}-x_{0}\right| \leq \varepsilon \Rightarrow k \geq \ln \left(\varepsilon(1-L) /\left|x_{1}-x_{0}\right|\right) / \ln L 1LLkx1x0εkln(ε(1L)/x1x0)/lnL

2.3 如何加快收敛的速度

x k + 1 − x ∗ ≈ L ( x k − x ∗ ) x k + 2 − x ∗ ≈ L ( x k + 1 − x ∗ ) x k + 1 − x ∗ x k + 2 − x ∗ ≈ x k − x ∗ x k + 1 − x ∗ ⇒ x ∗ ≈ x k − ( x k + 1 − x k ) 2 x k + 2 − 2 x k + 1 + x k = x Δ \begin{aligned} &x_{k+1}-x^{*} \approx L\left(x_{k}-x^{*}\right) \\ &x_{k+2}-x^{*} \approx L\left(x_{k+1}-x^{*}\right) \\ &\frac{x_{k+1}-x^{*}}{x_{k+2}-x^{*}} \approx \frac{x_{k}-x^{*}}{x_{k+1}-x^{*}} \Rightarrow\quad x^{*} \approx x_{k}-\frac{\left(x_{k+1}-x_{k}\right)^{2}}{x_{k+2}-2 x_{k+1}+x_{k}}=x^{\Delta} \end{aligned} xk+1xL(xkx)xk+2xL(xk+1x)xk+2xxk+1xxk+1xxkxxxkxk+22xk+1+xk(xk+1xk)2=xΔ

根据上面的思路我们可以:

I t e r a t i o n x ˉ k + 1 = g ( x k ) O n e m o r e x ^ k + 1 = g ( x ˉ k + 1 ) T o   s p e e d   u p x k + 1 = x k − ( x ˉ k + 1 − x k ) 2 x ^ k + 1 − 2 x ˉ k + 1 + x k \begin{aligned}Iteration &\quad \bar{x}_{k+1}=g\left(x_{k}\right) \\ One more &\quad \hat{x}_{k+1}=g\left(\bar{x}_{k+1}\right) \\ To\, speed \,up &\quad x_{k+1}=x_{k}-\frac{\left(\bar{x}_{k+1}-x_{k}\right)^{2}}{\hat{x}_{k+1}-2 \bar{x}_{k+1}+x_{k}} \end{aligned} IterationOnemoreTospeedupxˉk+1=g(xk)x^k+1=g(xˉk+1)xk+1=xkx^k+12xˉk+1+xk(xˉk+1xk)2

2.4 停止不定点迭代的条件

L = max ⁡ x ∈ [ a , b ] { ∣ g ′ ( x ) ∣ } < 1 L=\max _{x \in[a, b]}\left\{\left|g^{\prime}(x)\right|\right\}<1 L=maxx[a,b]{g(x)}<1时,可以使用下面的条件:

∣ x k + 1 − x k ∣ < e p s \left|x_{\mathrm{k}+1}-x_{\mathrm{k}}\right|<\mathrm{eps} xk+1xk<eps

2.5 不动点迭代的两个缺点

  1. 很难估计 L ( max ⁡ x ∈ [ a , b ] { ∣ g ′ ( x ) ∣ } ) L(\max _{x \in[a, b]}\left\{\left|g^{\prime}(x)\right|\right\}) L(maxx[a,b]{g(x)})
  2. L < 1 L<1 L<1时无法收敛。

3. 应用:如何求解非线性方程组 f ( x ) = 0 f(x)=0 f(x)=0的解

在这里插入图片描述

3.1 二分法(Bisection Method of Bolzano)

算法的流程

  1. 用一个区间找到一个根。
  2. 用中点分割该区间。
  3. 选择其中的一个子区间作为新的位置。

在这里插入图片描述

a = x 0 , b = x 0 + h c = a + b 2 f ( a ) f ( b ) < 0 , \begin{aligned} &a=x_{0}, \quad b=x_{0}+h \\ &c=\frac{a+b}{2}\\ &f(a) f(b)<0, \end{aligned} a=x0,b=x0+hc=2a+bf(a)f(b)<0,
于是:

在这里插入图片描述

[ a , b ] → [ a 1 ,   b 1 ] → [ a 2 ,   b 2 ] → … → [ a n , b n ] a = a 0 ≤ a 1 ≤ ⋯ ≤ a n ≤ ⋯ ≤ r ≤ ⋯ ≤ b n ≤ ⋯ ≤ b 1 ≤ b 0 = b \begin{aligned} &{[{a}, {b}]\rightarrow\left[{a}_{1}, {~b}_{1}\right]\rightarrow \left[{a}_{2}, {~b}_{2}\right]\rightarrow\ldots\rightarrow\left[{a}_{{n}}, {b}_{{n}}\right]} \\ &a=a_{0} \leq a_{1} \leq \cdots \leq a_{n} \leq \cdots \leq r \leq \cdots \leq b_{n} \leq \cdots \leq b_{1} \leq b_{0}=b \end{aligned} [a,b][a1, b1][a2, b2][an,bn]a=a0a1anrbnb1b0=b
定义 r r r是精确解。
∣ r − c n ∣ ≤ b − a 2 n + 1 ,  for  n = 0 , 1 , 2 , … c n = a n + b n 2 \begin{aligned} &\left|r-c_{n}\right| \leq \frac{b-a}{2^{n+1}}, \text { for } n=0,1,2, \ldots \\ &c_{n}=\frac{a_{n}+b_{n}}{2} \end{aligned} rcn2n+1ba, for n=0,1,2,cn=2an+bn

迭代次数N

∣ r − c n ∣ ≤ b − a 2 n + 1 < δ 2 n + 1 > b − a δ ( n + 1 ) ln ⁡ 2 > ln ⁡ ( b − a ) − ln ⁡ δ n + 1 > ln ⁡ ( b − a ) − ln ⁡ δ ln ⁡ 2 N = int ⁡ ( ln ⁡ ( b − a ) − ln ⁡ δ ln ⁡ 2 ) \begin{aligned} &\left|r-c_{n}\right| \leq \frac{b-a}{2^{n+1}}<\delta \\ &2^{n+1}>\frac{b-a}{\delta} \\ &(n+1) \ln 2>\ln (b-a)-\ln \delta \\ &n+1>\frac{\ln (b-a)-\ln \delta}{\ln 2} \\ &N=\operatorname{int}\left(\frac{\ln (b-a)-\ln \delta}{\ln 2}\right) \end{aligned} rcn2n+1ba<δ2n+1>δba(n+1)ln2>ln(ba)lnδn+1>ln2ln(ba)lnδN=int(ln2ln(ba)lnδ)

简单地利用二分法可以判断区间内有没有零点(区间内有变号【可取最大值和最小值】)

3.2 试位法(False Position Method)

算法的流程

  1. 用一个区间找到一个根。
  2. 以割线与X轴的交点划分区间。(过程中仍然保证端点的异号,让区间包含零点)
  3. 选择其中一个子区间作为新的位置。

c = b − f ( b ) ( b − a ) f ( b ) − f ( a ) c 1 → c 2 → … → r [ a n , b n ] → [ a , c ] : = [ a n + 1 , b n + 1 ] c=b-\frac{f(b)(b-a)}{f(b)-f(a)}\\ c_{1}\rightarrow c_{2}\rightarrow \ldots\rightarrow r\\ \left[a_{n}, b_{n}\right]\rightarrow [a, c]:=\left[a_{n+1}, b_{n+1}\right] c=bf(b)f(a)f(b)(ba)c1c2r[an,bn][a,c]:=[an+1,bn+1]

在这里插入图片描述

缺点:在凹函数下不适用,不会收敛。

3.3 牛顿-拉夫逊方法(Newton-Raphson method)

我们知道不动点迭代,能不能用到求解非线性方程组呢?

使用泰勒展式:

f ( x k + 1 ) = f ( x k ) + f ′ ( x k ) ( x k + 1 − x k ) + O ( ∣ d ∣ 2 ) = 0 f(x_{k+1})=f\left(x_{{k}}\right)+f^{\prime}\left(x_{{k}}\right) (x_{k+1}-x_k)+{O}\left(|d|^{2}\right)=0 f(xk+1)=f(xk)+f(xk)(xk+1xk)+O(d2)=0

于是我们可以让

f ( x k ) + f ′ ( x k ) ( x k + 1 − x k ) = 0 f\left(x_{\mathrm{k}}\right)+f^{\prime}\left(x_{\mathrm{k}}\right)\left(x_{{k}+1}-x_{{k}}\right)=0 f(xk)+f(xk)(xk+1xk)=0

使得:

x k + 1 = x k − f ( x k ) / f ′ ( x k ) = g ( x k ) x_{\mathrm{k}+1}=x_{{k}}-f\left(x_{\mathrm{k}}\right) / f^{\prime}\left(x_{\mathrm{k}}\right)=g(x_k) xk+1=xkf(xk)/f(xk)=g(xk)

总结Newton-Raphson方法即:

f ( x ) = 0 x = g ( x ) = x − f ( x ) f ′ ( x ) x k + 1 = g ( x k ) = x k − f ( x k ) f ′ ( x k ) \begin{array}{l} f(x)=0 \\ x=g(x)=x-\frac{f(x)}{f^{\prime}(x)} \\ x_{k+1}=g\left(x_{k}\right)=x_{k}-\frac{f\left(x_{k}\right)}{f^{\prime}\left(x_{k}\right)} \end{array} f(x)=0x=g(x)=xf(x)f(x)xk+1=g(xk)=xkf(xk)f(xk)

在这里插入图片描述

我们可以证明在解的附近,Newton-Raphson方法是收敛的。

证明:

g ( x ) = x − f ( x ) / f ′ ( x ) g(x)=x-f(x) / f^{\prime}(x) g(x)=xf(x)/f(x)

g ′ ( x ) = 1 − f ′ ( x ) f ′ ( x ) − f ( x ) f ′ ′ ( x ) [ f ′ ( x ) ] 2 = f ( x ) f ′ ′ ( x ) [ f ′ ( x ) ] 2 g^{\prime}(x)=1-\frac{f^{\prime}(x) f^{\prime}(x)-f(x) f^{\prime \prime}(x)}{\left[f^{\prime}(x)\right]^{2}}=\frac{f(x) f^{\prime \prime}(x)}{\left[f^{\prime}(x)\right]^{2}} g(x)=1[f(x)]2f(x)f(x)f(x)f′′(x)=[f(x)]2f(x)f′′(x)

我们知道不动点的条件是 ∣ g ′ ( x ) ∣ < K < 1 \left|g^{\prime}(x)\right|<K<1 g(x)<K<1,当我们取的邻域足够小,条件 g ( [ a , b ] ) ⊂ [ a , b ] g([a, b]) \subset[a, b] g([a,b])[a,b]会满足,注意到 f ( x ∗ ) = 0 f(x^*)=0 f(x)=0,在解的邻域附近,因为 f ( x ) = 0 f(x)=0 f(x)=0,所以 g ′ ( x ) = 0 g'(x)=0 g(x)=0

各种条件下的推导(不做要求,想了解可以看一下)

  1. f ′ ( x ∗ ) > 0  and  f ′ ′ ( x ∗ ) < 0 ,      g ( [ x ∗ − δ , x ∗ + δ ] ) ⊂ [ x ∗ − δ , x ∗ + δ ] f^{\prime}\left(x^{*}\right)>0 \text { and } f^{\prime \prime}\left(x^{*}\right)<0, \,\,\,\,g\left(\left[x^{*}-\delta, x^{*}+\delta\right]\right) \subset\left[x^{*}-\delta, x^{*}+\delta\right] f(x)>0 and f′′(x)<0,g([xδ,x+δ])[xδ,x+δ]
    在这里插入图片描述
    x ∗ − δ < g ( x ∗ − δ ) = ( x ∗ − δ ) − f ( x ∗ − δ ) f ′ ( x ∗ − δ ) ⇔ 0 < − f ( x ∗ − δ ) f ′ ( x ∗ − δ ) ⇔ f ( x ∗ − δ ) f ′ ( x ∗ − δ ) < 0 ⇔ f ( x ∗ − δ ) < 0 ⇔ f ( x ∗ ) − f ′ ( ξ ) δ < 0 【 ξ ∈ [ x ∗ − δ , x ∗ ] 】 ⇔ − f ′ ( ξ ) δ < 0 ⇒ ∃ δ 1 > 0 , f ′ ( ξ ) > 0 ,  for  x ∗ − ξ < δ 1 \begin{aligned} &x^{*}-\delta<g\left(x^{*}-\delta\right)=\left(x^{*}-\delta\right)-\frac{f\left(x^{*}-\delta\right)}{f^{\prime}\left(x^{*}-\delta\right)} \\ \Leftrightarrow& 0<-\frac{f\left(x^{*}-\delta\right)}{f^{\prime}\left(x^{*}-\delta\right)} \\ \Leftrightarrow &\frac{f\left(x^{*}-\delta\right)}{f^{\prime}\left(x^{*}-\delta\right)}<0 \\ \Leftrightarrow &f\left(x^{*}-\delta\right)<0 \\ \Leftrightarrow &f\left(x^{*}\right)-f^{\prime}(\xi) \delta<0 【\xi\in[x^*-\delta,x^*]】\\ \Leftrightarrow&-f^{\prime}(\xi) \delta<0\\ \Rightarrow&\exists \delta_1>0, f^{\prime}(\xi)>0, \text { for } x^{*}-\xi<\delta_1 \\ \end{aligned} xδ<g(xδ)=(xδ)f(xδ)f(xδ)0<f(xδ)f(xδ)f(xδ)f(xδ)<0f(xδ)<0f(x)f(ξ)δ<0ξ[xδ,x]f(ξ)δ<0δ1>0,f(ξ)>0, for xξ<δ1
    又有
    f ′ ′ ( x ∗ ) < 0 ⇒ ∃ δ 2 > 0 , f ′ ′ ( x ) < 0 【保号性】 ⇒ g ′ ( x ) = f ( x ) f ′ ′ ( x ) [ f ′ ( x ) ] 2 > 0 ,  for  x ∗ − x < δ 2 【 δ 2 足够小,导数保号性, f ′ ( x ) > 0 , x < x ∗ , f ( x ∗ ) = 0 , f ( x ) < 0 】 \begin{aligned} &f^{\prime \prime}\left(x^{*}\right)<0\\ \Rightarrow & \exists \delta_2>0, f^{\prime \prime}(x)<0 【保号性】\\ \Rightarrow & g^{\prime}(x)=\frac{f(x) f^{\prime \prime}(x)}{\left[f^{\prime}(x)\right]^{2}}>0, \text { for } x^{*}-x<\delta_2\\ &【\delta_2足够小,导数保号性,f'(x)>0,x<x^*,f(x^*)=0,f(x)<0】 \end{aligned} f′′(x)<0δ2>0,f′′(x)<0【保号性】g(x)=[f(x)]2f(x)f′′(x)>0, for xx<δ2δ2足够小,导数保号性,f(x)>0,x<x,f(x)=0f(x)<0
    δ < min ⁡ { δ 1 , δ 2 } \delta<\min\{\delta_1,\delta_2\} δ<min{δ1,δ2}有:
    x ∗ − δ < g ( x ∗ − δ ) < g ( x ) ,  for  x ∗ − x < δ x^{*}-\delta<g\left(x^{*}-\delta\right)<g(x), \text { for } x^{*}-x<\delta xδ<g(xδ)<g(x), for xx<δ
  2. f ′ ( x ∗ ) > 0  and  f ′ ′ ( x ∗ ) < 0 ,      g ( [ x ∗ − δ , x ∗ + δ ] ) ⊂ [ x ∗ − δ , x ∗ + δ ] f^{\prime}\left(x^{*}\right)>0 \text { and } f^{\prime \prime}\left(x^{*}\right)<0, \,\,\,\,g\left(\left[x^{*}-\delta, x^{*}+\delta\right]\right) \subset\left[x^{*}-\delta, x^{*}+\delta\right] f(x)>0 and f′′(x)<0,g([xδ,x+δ])[xδ,x+δ]
    在这里插入图片描述
    x ∗ − δ < g ( x ∗ − δ ) = ( x ∗ − δ ) − f ( x ∗ − δ ) f ′ ( x ∗ − δ ) ⇔ 0 < − f ( x ∗ − δ ) f ′ ( x ∗ − δ ) ⇔ f ( x ∗ − δ ) f ′ ( x ∗ − δ ) < 0 ⇔ f ( x ∗ − δ ) < 0 ⇔ f ( x ∗ ) − f ′ ( ξ ) δ < 0 【 ξ ∈ [ x ∗ − δ , x ∗ ] 】 ⇔ − f ′ ( ξ ) δ < 0 ⇒ ∃ δ 1 > 0 , f ′ ( ξ ) > 0 ,  for  x ∗ − ξ < δ 1 \begin{aligned} &x^{*}-\delta<g\left(x^{*}-\delta\right)=\left(x^{*}-\delta\right)-\frac{f\left(x^{*}-\delta\right)}{f^{\prime}\left(x^{*}-\delta\right)} \\ \Leftrightarrow& 0<-\frac{f\left(x^{*}-\delta\right)}{f^{\prime}\left(x^{*}-\delta\right)} \\ \Leftrightarrow &\frac{f\left(x^{*}-\delta\right)}{f^{\prime}\left(x^{*}-\delta\right)}<0 \\ \Leftrightarrow &f\left(x^{*}-\delta\right)<0 \\ \Leftrightarrow &f\left(x^{*}\right)-f^{\prime}(\xi) \delta<0 【\xi\in[x^*-\delta,x^*]】\\ \Leftrightarrow&-f^{\prime}(\xi) \delta<0\\ \Rightarrow&\exists \delta_1>0, f^{\prime}(\xi)>0, \text { for } x^{*}-\xi<\delta_1 \\ \end{aligned} xδ<g(xδ)=(xδ)f(xδ)f(xδ)0<f(xδ)f(xδ)f(xδ)f(xδ)<0f(xδ)<0f(x)f(ξ)δ<0ξ[xδ,x]f(ξ)δ<0δ1>0,f(ξ)>0, for xξ<δ1
    又有
    f ′ ′ ( x ∗ ) > 0 ⇒ ∃ δ 2 > 0 , f ′ ′ ( x ) < 0 【保号性】 ⇒ g ′ ( x ) = f ( x ) f ′ ′ ( x ) [ f ′ ( x ) ] 2 < 0 ,  for  x ∗ − x < δ 2 【 δ 2 足够小,导数保号性, f ′ ( x ) > 0 , x < x ∗ , f ( x ∗ ) = 0 , f ( x ) < 0 】 \begin{aligned} &f^{\prime \prime}\left(x^{*}\right)>0\\ \Rightarrow & \exists \delta_2>0, f^{\prime \prime}(x)<0 【保号性】\\ \Rightarrow & g^{\prime}(x)=\frac{f(x) f^{\prime \prime}(x)}{\left[f^{\prime}(x)\right]^{2}}<0, \text { for } x^{*}-x<\delta_2\\ &【\delta_2足够小,导数保号性,f'(x)>0,x<x^*,f(x^*)=0,f(x)<0】 \end{aligned} f′′(x)>0δ2>0,f′′(x)<0【保号性】g(x)=[f(x)]2f(x)f′′(x)<0, for xx<δ2δ2足够小,导数保号性,f(x)>0,x<x,f(x)=0f(x)<0
    δ < min ⁡ { δ 1 , δ 2 } \delta<\min\{\delta_1,\delta_2\} δ<min{δ1,δ2}有:
    x ∗ − δ < x ∗ = g ( x ∗ ) < g ( x ) ,  for  x ∗ − x < δ , x < x ∗ x^{*}-\delta<x^{*}=g\left(x^{*}\right)<g(x), \text { for } x^{*}-x<\delta,x<x^* xδ<x=g(x)<g(x), for xx<δ,x<x

注意Newton-Raphson方法对于单根是二阶收敛(二次收敛)【quadratic convergence】

∣ E n + 1 ∣ ≈ ∣ f ′ ′ ( p ) ∣ 2 ∣ f ′ ( p ) ∣ ∣ E n ∣ 2 n → ∞ \left|E_{n+1}\right| \approx \frac{\left|f^{\prime \prime}(p)\right|}{2\left|f^{\prime}(p)\right|}\left|E_{n}\right|^{2}\quad n\rightarrow \infty En+12f(p)f′′(p)En2n

证明:
在这里插入图片描述

而对于多重根是线性(一次)收敛,收敛速度降低。

∣ E n + 1 ∣ ≈ M − 1 M ∣ E n ∣ n → ∞ \left|E_{n+1}\right| \approx \frac{M-1}{M}\left|E_{n}\right |\quad n\rightarrow \infty En+1MM1Enn

证明:
在这里插入图片描述
如果出现了多重根 p ∗ p^* p,我们看到在 f ′ ( p ∗ ) = 0 f'(p^*)=0 f(p)=0,Newton-Raphson方法的分母会出现0.然而一般来说,分子 f ( p k ) f(p_k) f(pk)要比分母 f ′ ( p k ) f'(p_k) f(pk)先出现0,所以Newton-Raphson方法一般还是可以用的。

Newton-Raphson方法的问题

1.分母可能为0,除以零是不允许的。
2.收敛到一个不同的根,或发散。
3.产生一个循环序列。
4.产生一个发散的振荡序列。
在这里插入图片描述

由于多重根线性收敛的问题,可以考虑Newton-Raphson方法加速:
p k = p k − 1 − M f ( p k − 1 ) f ′ ( p k − 1 ) M > 1 p_{k}=p_{k-1}-\frac{M f\left(p_{k-1}\right)}{f^{\prime}\left(p_{k-1}\right)}\quad M>1 pk=pk1f(pk1)Mf(pk1)M>1

证明
在这里插入图片描述

3.4 割线法(Secant Method)

在这里插入图片描述
当Newton-Raphson的导数不好显式表达的时候,可以通过两端点的直线的斜率来近似导数。

我们有:

x k + 2 = g ( x k , x k + 1 ) = x k + 1 − f ( x k + 1 ) ( x k + 1 − x k ) f ( x k + 1 ) − f ( x k ) x_{k+2}=g\left(x_{k}, x_{k+1}\right)=x_{k+1}-\frac{f\left(x_{k+1}\right)\left(x_{k+1}-x_{k}\right)}{f\left(x_{k+1}\right)-f\left(x_{k}\right)} xk+2=g(xk,xk+1)=xk+1f(xk+1)f(xk)f(xk+1)(xk+1xk)

3.5 Aitken过程加速

使用不定点的迭代,Aitken过程加速又称为史蒂芬森加速(Steffensen’s acceleration).注意,只对一阶方法有效。

lim ⁡ n → ∞ p − p n + 1 p − p n = A , p ≈ p n + 2 p n − p n + 1 2 p n + 2 − 2 p n + 1 + p n = q n \lim _{n \rightarrow \infty} \frac{p-p_{n+1}}{p-p_{n}}=A, \quad p \approx \frac{p_{n+2} p_{n}-p_{n+1}^{2}}{p_{n+2}-2 p_{n+1}+p_{n}}=q_{n} nlimppnppn+1=A,ppn+22pn+1+pnpn+2pnpn+12=qn

3.6 Muller方法(Muller’s method)

在这里插入图片描述
给定三个初始值 ( p 0 , f ( p 0 ) ) , ( p 1 , f ( p 1 ) ) , ( p 2 , f ( p 2 ) ) \left(p_{0}, f\left(p_{0}\right)\right),\left(p_{1}, f\left(p_{1}\right)\right),\left(p_{2},f\left(p_{2}\right)\right) (p0,f(p0)),(p1,f(p1)),(p2,f(p2))


t = x − p 2 h 0 = p 0 − p 2 , h 1 = p 1 − p 2 \begin{aligned} &t=x-p_{2} \\ &h_{0}=p_{0}-p_{2}, h_{1}=p_{1}-p_{2} \\ \end{aligned} t=xp2h0=p0p2,h1=p1p2

我们使用二次函数计算下一个点:

y = a t 2 + b t + c y=a t^{2}+b t+c y=at2+bt+c

则有:

t = h 0 : a h 0 2 + b h 0 + c = f 0 ⇒ a h 0 2 + b h 0 = f 0 − c = e 0 t = h 1 : a h 1 2 + b h 1 + c = f 1 ⇒ a h 1 2 + b h 1 = f 1 − c = e 1 t = 0 : a 0 2 + b 0 + c = f 2 ⇒ c = f 2 \begin{aligned} t=h_{0}: a h_{0}^{2}+b h_{0}+c=f_{0} &\Rightarrow a h_{0}^{2}+b h_{0}=f_{0}-c=e_{0} \\ t=h_{1}: a h_{1}^{2}+b h_{1}+c=f_{1} &\Rightarrow a h_{1}^{2}+b h_{1}=f_{1}-c=e_{1} \\ t=0: a 0^{2}+b 0+c=f_{2}& \Rightarrow c=f_{2} \end{aligned} t=h0:ah02+bh0+c=f0t=h1:ah12+bh1+c=f1t=0:a02+b0+c=f2ah02+bh0=f0c=e0ah12+bh1=f1c=e1c=f2

解得:

a = e 0 h 1 − e 1 h 0 h 1 h 0 2 − h 0 h 1 2 , b = e 1 h 0 2 − e 0 h 1 2 h 1 h 0 2 − h 0 h 1 2 a=\frac{e_{0} h_{1}-e_{1} h_{0}}{h_{1} h_{0}^{2}-h_{0} h_{1}^{2}}, \quad b=\frac{e_{1} h_{0}^{2}-e_{0} h_{1}^{2}}{h_{1} h_{0}^{2}-h_{0} h_{1}^{2}} a=h1h02h0h12e0h1e1h0,b=h1h02h0h12e1h02e0h12

于是得到:

a t 2 + b t + c = 0 : t = z 1 , z 2 ⇒ z i = − 2 c b ± b 2 − 4 a c z = arg ⁡ min ⁡ { ∣ z i ∣ } 【对于一个复数,在计算中只保留其实数部分】 \begin{aligned} &a t^{2}+b t+c=0: \quad t=z_{1}, z_{2} \Rightarrow z_{i}=\frac{-2 c}{b \pm \sqrt{b^{2}-4 a c}} \\ &z=\arg \min \left\{\left|z_{i}\right|\right\}【\text{对于一个复数,在计算中只保留其实数部分}】 \end{aligned} at2+bt+c=0:t=z1,z2zi=b±b24ac 2cz=argmin{zi}对于一个复数,在计算中只保留其实数部分

p 3 = p 2 + z p_{3}=p_{2}+z p3=p2+z

继续得到 ( p ˉ 1 , p ˉ 2 , p 3 ) \left(\bar{p}_{1}, \bar{p}_{2}, p_{3}\right) (pˉ1,pˉ2,p3),其中 p ˉ 1 , p ˉ 2 \bar{p}_{1}, \bar{p}_{2} pˉ1,pˉ2是距离 p 3 p_3 p3最近的两个点。

4. 其他问题

4.1 如何寻找初值

例如
在这里插入图片描述
可以有两个判断条件:

  1. 【针对 r 1 r_1 r1 r 2 r_2 r2
    f ( x k − 1 ) f ( x k ) < 0 [ a , b ] = [ x k − 1 , x k ] f\left(x_{k-1}\right) f\left(x_{k}\right)<0 \quad[{a}, {b}]=\left[{x}_{{k}-1}, {x}_{{k}}\right] f(xk1)f(xk)<0[a,b]=[xk1,xk]

  2. 【针对 r 3 r_3 r3
    ∣ f ( x k ) ∣ < ε  并且 ( f ( x k ) − f ( x k − 1 ) ) ( f ( x k + 1 ) − f ( x k ) ) < 0 [ a , b ] = [ x k − 1 , x k + 1 ] \left|f\left(x_{k}\right)\right|<\varepsilon \text { 并且}\left(f\left(x_{k}\right)-f\left(x_{k-1}\right)\right) \left(f\left(x_{k+1}\right)-f\left(x_{k}\right)\right)<0\quad [{a}, {b}]=\left[{x}_{{k}-1}, {x}_{{k}+1}\right] f(xk)<ε 并且(f(xk)f(xk1))(f(xk+1)f(xk))<0[a,b]=[xk1,xk+1]

4.2 收敛条件

可以有两个收敛条件:

1. 根据纵坐标
∣ f ( x k ) ∣ < ε \left|f\left(x_{k}\right)\right|<\varepsilon f(xk)<ε

在这里插入图片描述

误差为: Error x = ∣ x k − r ∣ \text{Error}_{x}=\left|x_{k}-r\right| Errorx=xkr

2. 根据横坐标

∣ x k − x k − 1 ∣ < δ \left|x_{k}-x_{k-1}\right|<\delta xkxk1<δ

由以下推出:

∣ x k − r ∣ < δ ⇒ ∣ x k − x k − 1 ∣ < δ \left|x_{k}-r\right|<\delta \Rightarrow\left|x_{k}-x_{k-1}\right|<\delta xkr<δxkxk1<δ

在这里插入图片描述
误差为:  Error  f = max ⁡ { ∣ f ( r − δ ) ∣ , ∣ f ( r + δ ) ∣ } \text { Error }_{f}=\max \{|f(r-\delta)|,|f(r+\delta)|\}  Error f=max{f(rδ),f(r+δ)}

3. 我们也可以把上面两个进行组合:

∣ f ( x k ) ∣ < ε 并且 ∣ x k − r ∣ < δ \left|f\left(x_{k}\right)\right|<\varepsilon \text{并且}\left|x_{k}-r\right|<\delta f(xk)<ε并且xkr<δ

在这里插入图片描述

  1. 如果针对Newton-Raphson问题,我们还可以有如下的判断标准:

f ′ ( r ) ≠ 0 f^{\prime}(r) \neq 0 f(r)=0
x 0 ∈ [ r − δ , r + δ ] x_{0} \in[r-\delta, r+\delta] x0[rδ,r+δ], δ \delta δ足够小。

4.3 算法的收敛速度对比

在这里插入图片描述

4.4 算法的选择

单根:
Newton-Raphson方法

双根(当分母为0失效):
Newton-Raphson方法
Steffensen’s method

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/356384.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于Transformer的NLP处理管线

HuggingFace transformers 是一个整合了跨语言、视觉、音频和多模式模态与最先进的预训练模型并且提供用户友好的 API 的AI开发库。 它由 170 多个预训练模型组成&#xff0c;支持 PyTorch、TensorFlow 和 JAX 等框架&#xff0c;能够在代码之间进行互操作。 这个库还易于部署&…

【Leedcode】数据结构中链表必备的面试题(第一期)

链表必备的面试题 &#xff08;附图解和源码&#xff09;&#xff08;第一期&#xff09; 文章目录链表必备的面试题 &#xff08;附图解和源码&#xff09;&#xff08;第一期&#xff09;一、第一题1.题目2.思路图解&#xff08;1&#xff09;pos是首链表&#xff08;2&#…

基于SpringBoot+Vue的鲜花商场管理系统

【辰兮要努力】&#xff1a;hello你好我是辰兮&#xff0c;很高兴你能来阅读&#xff0c;昵称是希望自己能不断精进&#xff0c;向着优秀程序员前行&#xff01; 博客来源于项目以及编程中遇到的问题总结&#xff0c;偶尔会有读书分享&#xff0c;我会陆续更新Java前端、后台、…

【Vue3源码】第三章 readonly详解 从零实现Vue3 readonly API

【Vue3源码】第三章 readonly详解 从零实现Vue3 readonly API 前言 上一章节我们实现了effect函数的stop和onstop功能&#xff0c;至此effect函数源码的编写就暂时告一段落了&#xff0c;这一章我们继续解读Vue3源码&#xff0c;开始实现Vue3 Reactivity &#xff1a;core 中…

Java基础361问14问——为什么非静态内部类会默认持有外部类的引用?

在内存泄露问题排查中最常遇到就是 【非静态内部类默认持有外部类的引用】 文章目录1 字节码分析javac Activity.javajavap -c Activity.class2 静态内部类会持有外部类引用吗?参考文档// 简化处理相关代码 public class Activity {private Handler inner new Handler();priv…

C++面向对象(中)

文章目录前言1.类的6个默认成员函数介绍2.构造函数3.析构函数1.概念2.析构函数特征4.拷贝构造1.概念2.拷贝构造函数特征3.注意事项5.赋值运算符重载1.概念6.补充知识const成员函数7.取地址运算符和const取地址运算符重载8.总结前言 本文主要介绍C中的六个天选之子&#xff0c;…

MicroBlaze系列教程(6):AXI_IIC的使用

文章目录 @[toc]AXI_IIC简介MicroBlaze硬件配置常用函数使用示例波形实测参考资料工程下载本文是Xilinx MicroBlaze系列教程的第6篇文章。 AXI_IIC简介 一般情况下,使用FPGA实现I2C协议主要有两种方式:一种是基于Verilog实现起始位、停止位、ACK产生和判断、数据的发送和接收…

程终止、进程睡眠、进程对信号处理过程中等的方法

上一章学习了调度的方式&#xff0c;分为主调度器和周期性调度器&#xff0c;明白了进程切换分为自愿(voluntary)和强制(involuntary)两种。 自愿切换&#xff1a; 是指任务由于等待某种资源&#xff0c;将state改为非running状态后&#xff0c;主动调用schedule让出CPU 任务…

html中元素居中的五种方法

在网页开发中&#xff0c;经常会有嵌套元素中将子元素居中的要求。下边将五种常用的居中方法进行总结。 1&#xff1a;原始图&#xff08;父子元素无border&#xff0c;无padding&#xff09;&#xff1a; 2&#xff1a;实现居中效果&#xff1a; 一&#xff1a;使用margin…

一篇文章带你学会Anisble中的如何处理失败任务

目录 一、循环 1、简单循环 2、循环散列或字典列表 3、练习 二、条件 三、触发器 四、处理失败任务 1、ignore_errors 2、force_handlers 3、changed_when 4、failed_when 5、block 练习 一、循环 作用&#xff1a;循环迭代任务 1、简单循环 loop: ##赋值列表 -…

[软件工程导论(第六版)]第4章 形式化说明技术(复习笔记)

文章目录4.1 概述4.2 有穷状态机4.3 Petri网4.4 Z语言按照形式化程度&#xff0c;可以把软件工程使用的方法划分成非形式化、半形式化、形式化三类非形式化方法&#xff1a;使用自然语言描述需求规格说明半形式化方法&#xff1a;使用数据流图或实体-联系图建立模型形式化方法&…

P2P视频聊天技术分析

整个P2P视频过程需要知道双方的媒体类型、流和候选者&#xff0c;所以这里就会用到一下技术&#xff1a; ​ 信令服务器socket.io ​ 状态机 ​ ICE服务器 ​ WebRTC框架 ​ 媒体协商 信令服务器Socket.io 信令服务器说白了作用就是发消息的中转站&#xff0c;A把msg发到…

网络流与图(二)

上一节我们讲到了退化圈方向搜索算法&#xff0c;它能得到全局最优解。然而算法运行过程中需要选择一个可行改进圈方向&#xff0c;对于一个大型网络流来说&#xff0c;这并非容易的。我们需要找到在每次循环中确认可行改进圈方向或者证明不存在的方法。我们现在就来探讨这个问…

Andriod入门级开发

这学期有个课设&#xff0c;我们组我负责一个手机APP的开发&#xff0c;虽然刚开始说要实现什么智能导航&#xff0c;类似高德地图那种&#xff0c;但最后阉割的只剩一个Socket通信了&#xff0c;因为之前没有接触过&#xff08;可能之后也不会再接触&#xff09;&#xff0c;记…

【数据管理】谈谈哈希原理和散列表

一、说明 提起哈希&#xff0c;有人要说&#xff1a;不就是一个稀疏表格么&#xff0c;谈的上什么原理&#xff1f;我说&#xff1a;非也&#xff0c;哈希是是那种看似无物&#xff0c;其实解决大问题的东西。如何提高数据管理效率&#xff1f;这是个问题&#xff0c;随着这个问…

测试2:编写测试用例的方法

2.编写测试用例的方法 7种 测试常用的方法&#xff1a;code review 代码静态分析、CI/CD CI–持续集成–开发成员经常集成它们的工作&#xff0c;尽快发现集成错误 CD–持续部署–将集成后的代码部署到更贴近真实运行的环境 2.1 测试用例的描述&#xff1a; 用例编号 用例…

Python纯Numpy手撕SGD

文章目录简介问题建模数据加载和预处理数据加载预处理分batch损失函数训练运行简介 本博客用多元线性回归展示如何从零实现一个随机梯度下降SGD, 不使用torch等AI框架 问题建模 给定一个数据集X∈RN(D1)\large X \in \R^{N \times (D1)}X∈RN(D1)和对应标签向量Y∈RN\large …

centos7防火墙工具firewall-cmd使用

centos7防火墙工具firewall-cmd使用防火墙概述centos7防火墙工具firewall-cmd使用介绍firewalld的基本使用服务管理工具相关指令配置firewalld-cmd防火墙概述 防火墙是可以帮助计算机在内部网络和外部网络之间构建一道相对隔绝的保护屏障&#xff0c;从而保护数据信息的一种技…

Vulnhub 渗透练习(七)—— FRISTILEAKS: 1.3

环境搭建 下载链接 virtualbox 打开靶机设置为 host-only&#xff0c;攻击机同样。 具体可点此处 信息收集 开了个 80 端口。 用的是 apache 2.2.15 &#xff0c;这个版本有个解析漏洞。 目录 根据首页的图片猜测 /fristi/ 目录&#xff08;不过我没想到 -_-&#x…

由浅入深掌握各种 Python multiprocessing 进程间通信方式

由浅入深掌握各种 Python 多进程间通信方式1、为什么要掌握进程间通信2、进程间各类通信方式简介3、消息机制通信1) 管道 Pipe 通信方式2) 消息队列Queue 通信方式4、同步机制通信(1) 进程间同步锁 – Lock(2) 子进程间协调机制 -- Event5、共享内存方式通信(1) 共享变量(2) 共…