초기값 문제 {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
설명
멀티스텝 메소드는 어떤 하나의 메소드라기보단 수많은 메소드를 포괄하는 폼 그 자체로 보는 것이 바람직하다. 이 정리는 여러 메소드들에 대해 일관성과 수렴차수를 체크하는데에 유용한데, (i)과 (ii) 모두 필요충분조건이므로 역으로 메소드가 어떨 때 의미를 갖는지, 수렴속도를 얼마나 올릴 수 있는지를 파악하는데에도 쓸 수 있다.
절삭 오차 Tn(Y):=Yn+1−j=0∑pajYn−j+hj=−1∑pbjY’n−j 는 선형성을 가진다. 다시 말해,
Tn(αY+βW)=αTn(Y)+βTn(W)
Part 1.
초기값 문제의 해 Y(x) 를 xn 에 대해 m 차 테일러 전개하면
Y(x)=i=0∑mi!1(x−xn)iY(i)(xn)+Rm+1(x)
절삭 오차의 표현으로 나타내보면
Tn(Y)=i=0∑mi!1Y(i)(xn)Tn((x−xn)i)+Tn(Rm+1)
Part 2.
Tn((x−xn)i) 을 계산하도록 하자.
Case 1. i=0 Tn(1)=1−j=0∑paj1+hj=−1∑pbj(1)′=1−j=0∑paj
여기서 c0:=1−j=0∑paj 이라 두자.
Case 2. i≥1 Tn((x−xn)i)===(xn+1−xn)i−[j=0∑paj(xn−j−xn)i+hj=−1∑pbji(xn−j−xn)i−1]hi−[hij=0∑paj(−j)i+hiij=−1∑pbj(−j)i−1]hi[1−(j=0∑p(−j)iaj+ij=−1∑p(−j)i−1bj)]
여기서 ci:=1−(j=0∑p(−j)iaj+ij=−1∑p(−j)i−1bj) 이라고 두자.
결국 i 가 무엇이든 다음을 얻는다.
Tn(Y)=i=0∑mi!cihiY(i)(xn)+Tn(Rm+1)
Part 3.
멀티스텝 메소드가 일관성을 가지려면
h→0limxp≤xn≤bmaxhTn(Y)=0
이어야하므로, Tn(Y)=O(h2) 을 만족시키면 된다. 위 Part 2에서
Tn(Y)=i=0∑mi!cihiY(i)(xn)+Tn(Rm+1)
이었으므로, m=1 에서 c0=c1=0 이면 된다. 정리하면
⎩⎨⎧j=0∑paj=1−j=0∑pjaj+j=−1∑pbj=1
■
(ii)
Part 4.Rm+1=(m+1)!1(x−xn)m+1Y(m+1)(xn)+⋯=O(hm+1)
이므로,
Tn(Rm+1)=(m+1)!cm+1hm+1Y(m+1)(xn)+O(hm+2)
이다. 멀티스텝 메소드가 수렴차수 m 을 가지려면
xp≤xn≤bmaxhTn(Y)=O(hm)
이어야하므로, Tn(Y)=O(hm+1) 을 만족시키면 된다. 이는 간단하게도 i=0,1,⋯,m 에 대해 ci=0 이면 된다. 정리하면 i=0,1,⋯,m 에 대해
j=0∑p(−j)iaj+ij=−1∑p(−j)i−1bj=1
■
Atkinson. (1989). An Introduction to Numerical Analysis(2nd Edition): p358~359. ↩︎