logo

멀티스텝 메소드의 수렴성과 오차 📂수치해석

멀티스텝 메소드의 수렴성과 오차

정리

초기값 문제 {y=f(x,y)(y(x0),,y(xp))=(Y0,,Yp)\begin{cases} y ' = f(x,y) \\ ( y( x_{0} ) , \cdots , y(x_{p}) )= ( Y_{0} , \cdots , Y_{p} ) \end{cases} 에 대해 멀티스텝 메소드 yn+1=j=0pajynj+hj=1pbjf(xnj,ynj) \displaystyle y_{n+1} = \sum_{j=0}^{p} a_{j} y_{n-j} + h \sum_{j = -1}^{p} b_{j} f (x_{n-j} , y_{n-j} ) 가 일관성을 가지고, 초기 오차 η(h):=max0ipY(xi)yh(xi)\displaystyle \eta (h) : = \max_{ 0 \le i \le p} | Y (x_{i} ) - y_{h} (x_{i} ) |limh0η(h)=0\displaystyle \lim_{ h \to 0} \eta (h) = 0 를 만족하고, j=0,1,,pj = 0, 1, \cdots , p 에 대해 aj0a_{j} \ge 0 이고 ff 가 립시츠 조건을 만족하면 메소드는 수렴하고 적절한 상수 c1,c2c_{1} , c_{2} 에 대해 maxx0xnbY(xn)yh(xn)c1η(h)+c2τ(h) \max_{ x_{0} \le x_{n} \le b} | Y (x_{n} ) - y_{h} (x_{n} ) | \le c_{1} \eta (h) + c_{2} \tau (h) 가 성립한다. 특히 η(h)=O(hm)\eta (h) = O ( h^{m} ) 이면, 메소드의 수렴 속도는 O(hm)O ( h^{m} ) 이다.

설명

멀티스텝 메소드이라는 것은 특정 방법 하나만을 지칭하는 게 아니므로 증명을 통해 그 수렴성을 보장하는 것은 매우 중요한 일이다. hh 에 따른 오차가 얼마나 커지는지 파악하는 것 역시 실제로 써먹을 생각이라면 당연히 해야하는 작업이다.

증명 1

참값 YiY_{i} 와 계산값 yiy_{i} 의 차를 ϵi:=Yiyi\epsilon_{i} : = Y_{i} - y_{i} 라고 나타내면 Yn+1=j=0pajYnj+hj=1pbjf(xnj,Ynj)+hτn(Y) Y_{n+1} = \sum_{j=0}^{p} a_{j} Y_{n-j} + h \sum_{j = -1}^{p} b_{j} f (x_{n-j} , Y_{n-j} ) + h \tau_{n} (Y)

yn+1=j=0pajynj+hj=1pbjf(xnj,ynj) y_{n+1} = \sum_{j=0}^{p} a_{j} y_{n-j} + h \sum_{j = -1}^{p} b_{j} f (x_{n-j} , y_{n-j} ) 위의 두 식을 빼면 ϵn+1=j=0pajϵnj+hj=1pbj[f(xnj,Ynj)f(xnj,ynj)]+hτn(Y) \epsilon_{n+1} = \sum_{j=0}^{p} a_{j} \epsilon_{n-j} + h \sum_{j = -1}^{p} b_{j} [ f (x_{n-j} , Y_{n-j} ) - f (x_{n-j} , y_{n-j} ) ] + h \tau_{n} (Y) ff립시츠 조건을 만족하므로 ϵn+1j=0pajϵnj+hKj=1pbjϵnj+hτn(h) | \epsilon_{n+1} | \le \sum_{j=0}^{p} a_{j} | \epsilon_{n-j} | + h K \sum_{j = -1}^{p} b_{j} | \epsilon_{n - j} | + h \tau_{n} (h) nn 까지의 ϵi\epsilon_{i} 중 가장 큰 오차를 나타내는 표현 En:=max0inϵi\displaystyle E_{n} := \max_{0 \le i \le n} | \epsilon_{i} | 을 사용해보면 ϵn+1j=0pajEn+hKj=1pbjEn+1+hτn(h) | \epsilon_{n+1} | \le \sum_{j=0}^{p} a_{j} E_{n}+ h K \sum_{j = -1}^{p} | b_{j} | E_{n+1 } + h \tau_{n} (h)

멀티스텝 메소드의 일관성과 수렴차수: 초기값 문제 {y=f(x,y)(y(x0),,y(xp))=(Y0,,Yp)\begin{cases} y ' = f(x,y) \\ ( y( x_{0} ) , \cdots , y(x_{p}) )= ( Y_{0} , \cdots , Y_{p} ) \end{cases} 에 대해 멀티스텝 메소드 yn+1=j=0pajynj+hj=1pbjf(xnj,ynj) \displaystyle y_{n+1} = \sum_{j=0}^{p} a_{j} y_{n-j} + h \sum_{j = -1}^{p} b_{j} f (x_{n-j} , y_{n-j} ) 가 일관성을 가지는 필요충분조건은 (i) 이고, 수렴차수 mNm \in \mathbb{N} 을 갖는 필요충분조건은 (ii) 다.

  • (i): {j=0paj=1j=0pjaj+j=1pbj=1\begin{cases} \displaystyle \sum_{j = 0}^{p} a_{j} = 1 \\ \displaystyle - \sum_{j = 0}^{p} j a_{j} + \sum_{j = -1}^{p} b_{j} = 1 \end{cases}
  • (ii): i=0,1,,mi = 0, 1 , \cdots , m 에 대해 j=0p(j)iaj+ij=1p(j)i1bj=1\sum_{j=0}^{p} (-j)^{i} a_{j} + i \sum_{j=-1}^{p} (- j )^{i-1} b_{j} = 1

주어진 멀티스텝 메소드가 일관성을 가지므로 c:=Kj=1pbj\displaystyle c : = K \sum_{j = -1}^{p} | b_{j} | 라고 하면 ϵn+1En+hcEn+1+hτn(h) | \epsilon_{n+1} | \le E_{n}+ hc E_{n+1 } + h \tau_{n} (h) ϵn+1En+1 | \epsilon_{n+1} | \le E_{n+1}En+1=EnE_{n+1} = E_{n} 이므로 ϵn+1En+1=EnEn+hcEn+1+hτn(h) | \epsilon_{n+1} | \le E_{n+1} = E_{n} \le E_{n}+ hc E_{n+1 } + h \tau_{n} (h) ϵn+1>En+1 | \epsilon_{n+1} | > E_{n+1}En+1<ϵn+1EnEn+hcEn+1+hτn(h) E_{n+1} < | \epsilon_{n+1} | \le E_{n} \le E_{n}+ hc E_{n+1 } + h \tau_{n} (h) 따라서 어떤 경우든 En+1En+hcEn+1+hτn(h) E_{n+1} \le E_{n}+ hc E_{n+1 } + h \tau_{n} (h) 항을 정리하면 (1hc)En+1En+hτn(h) (1 - hc ) E_{n+1} \le E_{n} + h \tau_{n} (h) h0h \to 0 를 상정하고 있으므로 hh(1hc)>0 (1 - hc ) > 0hc12\displaystyle hc \le {{1 } \over {2}} 를 만족할만큼 충분히 작다고 가정할 수 있다. 따라서 En+1En1hc+hτn(h)1hc(1+2hc)En+2hτn(h) \begin{align*} E_{n+1} \le & {{E_{n} } \over {1 - hc}}+ {{ h \tau_{n} (h) } \over {1 - hc }} \\ \le & (1 + 2 hc ) E_{n} + 2 h \tau_{n} (h) \end{align*} 재귀적으로 풀어내면 En=maxx0xnbY(xn)yh(xn)e2c(bx0)η(h)+[e2c(bx0)1c]τ(h) \begin{align*} E_{n} =& \max_{ x_{0} \le x_{n} \le b} | Y (x_{n} ) - y_{h} (x_{n} ) | \\ \le & e^{2c(b-x_{0})} \eta (h) + \left[ {{ e^{2c (b - x_{0} ) } - 1 } \over {c}} \right] \tau (h) \end{align*}


  1. Atkinson. (1989). An Introduction to Numerical Analysis(2nd Edition): p360~361. ↩︎