초기값 문제 {y′=f(x,y)(y(x0),⋯,y(xp))=(Y0,⋯,Yp) 에 대해 멀티스텝 메소드yn+1=j=0∑pajyn−j+hj=−1∑pbjf(xn−j,yn−j)
가 일관성을 가지고, 초기 오차η(h):=0≤i≤pmax∣Y(xi)−yh(xi)∣ 가 h→0limη(h)=0 를 만족하고, j=0,1,⋯,p 에 대해 aj≥0 이고 f 가 립시츠 조건을 만족하면 메소드는 수렴하고 적절한 상수 c1,c2 에 대해
x0≤xn≤bmax∣Y(xn)−yh(xn)∣≤c1η(h)+c2τ(h)
가 성립한다. 특히 η(h)=O(hm) 이면, 메소드의 수렴 속도는 O(hm) 이다.
설명
멀티스텝 메소드이라는 것은 특정 방법 하나만을 지칭하는 게 아니므로 증명을 통해 그 수렴성을 보장하는 것은 매우 중요한 일이다. h 에 따른 오차가 얼마나 커지는지 파악하는 것 역시 실제로 써먹을 생각이라면 당연히 해야하는 작업이다.
참값 Yi 와 계산값 yi 의 차를 ϵi:=Yi−yi 라고 나타내면
Yn+1=j=0∑pajYn−j+hj=−1∑pbjf(xn−j,Yn−j)+hτn(Y)
yn+1=j=0∑pajyn−j+hj=−1∑pbjf(xn−j,yn−j)
위의 두 식을 빼면
ϵn+1=j=0∑pajϵn−j+hj=−1∑pbj[f(xn−j,Yn−j)−f(xn−j,yn−j)]+hτn(Y)f 는 립시츠 조건을 만족하므로
∣ϵn+1∣≤j=0∑paj∣ϵn−j∣+hKj=−1∑pbj∣ϵn−j∣+hτn(h)n 까지의 ϵi 중 가장 큰 오차를 나타내는 표현 En:=0≤i≤nmax∣ϵi∣ 을 사용해보면
∣ϵn+1∣≤j=0∑pajEn+hKj=−1∑p∣bj∣En+1+hτn(h)
멀티스텝 메소드의 일관성과 수렴차수: 초기값 문제 {y′=f(x,y)(y(x0),⋯,y(xp))=(Y0,⋯,Yp) 에 대해 멀티스텝 메소드yn+1=j=0∑pajyn−j+hj=−1∑pbjf(xn−j,yn−j)
가 일관성을 가지는 필요충분조건은 (i) 이고, 수렴차수 m∈N 을 갖는 필요충분조건은 (ii) 다.
(i): ⎩⎨⎧j=0∑paj=1−j=0∑pjaj+j=−1∑pbj=1
(ii): i=0,1,⋯,m 에 대해 j=0∑p(−j)iaj+ij=−1∑p(−j)i−1bj=1
주어진 멀티스텝 메소드가 일관성을 가지므로 c:=Kj=−1∑p∣bj∣ 라고 하면
∣ϵn+1∣≤En+hcEn+1+hτn(h)∣ϵn+1∣≤En+1 면 En+1=En 이므로
∣ϵn+1∣≤En+1=En≤En+hcEn+1+hτn(h)∣ϵn+1∣>En+1 면
En+1<∣ϵn+1∣≤En≤En+hcEn+1+hτn(h)
따라서 어떤 경우든
En+1≤En+hcEn+1+hτn(h)
항을 정리하면
(1−hc)En+1≤En+hτn(h)h→0 를 상정하고 있으므로 h 는 (1−hc)>0 과 hc≤21 를 만족할만큼 충분히 작다고 가정할 수 있다. 따라서
En+1≤≤1−hcEn+1−hchτn(h)(1+2hc)En+2hτn(h)재귀적으로 풀어내면En=≤x0≤xn≤bmax∣Y(xn)−yh(xn)∣e2c(b−x0)η(h)+[ce2c(b−x0)−1]τ(h)
■
Atkinson. (1989). An Introduction to Numerical Analysis(2nd Edition): p360~361. ↩︎