멀티스텝 메소드
📂수치해석멀티스텝 메소드
정의
D⊂R2 에서 정의된 연속함수 f 에 대해 초기값 문제 {y′=f(x,y)(y(x0),⋯,y(xp))=(Y0,⋯,Yp) 가 주어져 있다. 구간 (a,b) 을 a≤x0<x1<⋯<xn<⋯xN≤b 와 같은 노드 포인트들로 쪼갰다고 하자. 특히 충분히 작은 h>0 에 대해 xj=x0+jh 이라고 하면 초기값과 0≤p≤m 에 대해 ap=0 혹은 bp=0 이면 다음을 (p+1)-스텝 메소드라고 한다.
yn+1=j=0∑pajyn−j+hj=−1∑pbjf(xn−j,yn−j)
설명
물론 필요한만큼 큰 q≥1 과 D⊂R2 에서 정의된 f∈Cq(D) 로 생각해도 무방하다. 이러한 일반적인 폼에서 특히 p=0 이고 a0=1,b0=1,b−1=0 이라고 하면 오일러 메소드가 된다.
멀티스텝 메소드는 더 많은 데이터의 정보를 사용하는만큼 보통은 원스텝 메소드에 비해 정확도가 높다. 초기값 문제 {y′=f(x,y)(y(x0),⋯,y(xp))=(Y0,⋯,Yp) 에 대해 절삭 오차truncated error를
Tn(Y):=Yn+1−j=0∑pajYn−j+hj=−1∑pbjY’n−j
라고 하자. 이에 대해 τn(Y):=h1Tn(Y) 라고 쓰는데, h→0limxp≤xn≤bmax∣τn(Y)∣=0 를 만족하면 메소드가 일관성consistency condition을 갖는다고 한다. 수식으로 적으니까 복잡해 보이지만, 쉽게 말하면 h 가 작아지는 것보다 절삭 오차가 작아지는 속도가 빠른 것을 말한다. 여기서
τ(h):=xp≤xn≤bmax∣τn(Y)∣=O(hm)
를 만족하는 m 중 가장 큰 수를 메소드의 수렴차수order of Convergence라 한다.
특히 b−1=0 이면 yn+1 은 좌변에서만 나타나므로 익스플리시트 메소드explicit method라 부른다. 만약 b−1=0 이면 yn+1 이 양변 모두에 나타나므로 임플리시트 메소드implicit method라 부른다. 계산할 때 편리한 건 익스플릭시트 메소드고, 일반적으로 알려진 임플릭시트 메소드는 퍼포먼스가 좋지만 추가적인 계산이 필요하다.