[x0,b]×R 에서 정의된 f 에 대해 초기값 문제 {y′=f(x,y)y(x0)=Y0 의 해 Y(x) 가 Y∈C3[x0,b] 이고 fy(x,y)=∂y∂f(x,y) 와 fyy(x,y)=∂y2∂2f(x,y) 가 연속이면서 바운디드라고 하자. 초기값 yh(x0) 가 Y0−yh(x0)=δ0h+O(h2) 을 만족시킨다고 하자. 그러면 오일러 메소드로 생기는 오차는 선형 초기값 문제
⎩⎨⎧D’(x)=fy(x,Y(x))D(x)+21Y’’(x)D(x0)=δ0
의 해 D(x) 에 대해 다음을 만족한다.
Y(xn)−yh(xn)=D(xn)h+O(h2)
설명
초기값 yh(x0) 가 Y0−yh(x0)=δ0h+O(h2) 을 만족시킨다는 말은 곧 초기값이 참값과 조금 달라도 된다는 뜻이다. 그리고 그 차이에서 발생하는 오차 그 자체도 D 를 계산할 수 있다면 더 줄어들 수 있다.
전략: 강한 립시츠 조건을 가정하고 ϵn=O(h2) 을 보이기 위한 gn, kn 을 만들어낸다. 조금은 억척스럽다고도 할 수 있을만큼 수식 조작이 많은 증명법이나, 수치해석에서는 심심치 않게 보이기도 한다. 아름다운 증명은 아닐지라도 방식 자체에는 익숙해지는게 좋다.
xi:=x0+ih 이고, 특히 xn+1−xn=h 이다. 편의상
Y(xn):=Yny(xn):=yn
라 쓰고 n 번째의 오차 ϵn 을 다음과 같이 나타내자.
ϵn:=Y(xn)−y(xn)
Part 1.
Y(xn+1) 를 xn 에 대해 3 차 테일러 전개하면 어떤 xn≤ξn≤xn+1 에 대해
Yn+1=Yn+hY’n+2h2Y’’(xn)+6h3Y’’’(ξn)
여기서 오일러 근사로 다음 식을 얻는다.
ϵn+1=ϵn+h(f(xn,Yn)−f(xn,yn))+2h2Y’’(xn)+6h3Y’’’(ξn)(1) 의 f(xn,yn) 를 yn 에 대한 함수로 보고 테일러 전개하면 어떤 ζn∈H{yn,Yn} 에 대해
f(xn,yn)=f(xn,Yn)+(yn−Yn)fy(xn,Yn)+21(yn−Yn)2fyy(xn,ζn)
따라서
ϵn+1=ϵn+h(ϵnfy(xn,Yn)−21ϵ2fyy(xn,ζn))+2h2Y’’(xn)+6h3Y’’’(ξn)
정리하면
ϵn+1=[1+fy(xn,Yn)]ϵn+2h2Y’’(xn)+6h3Y’’’(ξn)−21hfyy(xn,ζn)ϵn2
Part 2.
강한 립시츠 조건과 오일러 메소드의 오차: x0≤xn≤bmax∣Yxn−yh(xn)∣≤ϵ(b−x0)K∣ϵ0∣+[Kϵ(b−x0)K−1]τ(h)
ϵ=O(h) 이므로
6h3Y’’’(ξn)−21hfyy(xn,ζn)ϵn2=O(h3)
이고, O(h3) 은 충분히 작다고 가정되므로 O(h3) 이 제거된 gn+1 를 다음과 같이 정의할 수 있다.
gn+1:=[1+fy(xn,Yn)]gn+2h2Y’’(xn)
가정에서 g0=hδ0 이라 할 수 있으므로 gn=hδn 라 두면 양변에서 h 를 소거해서
δn+1:=δn+h[fy(xn,Yn)δn+21Y’’(xn)]
조금만 정리하면
hδn+1−δn=fy(xn,Yn)δn+21Y’’(xn)
인데, 이 식의 형태를 잘 보면 선형 초기값 문제 ⎩⎨⎧D’(x)=fy(x,Y(x))D(x)+21Y’’(x)D(x0)=δ0 와 닮았다. 결국 δn 은 D(xn) 의 오일러 근사해, 즉 D(xn)−δn=O(h) 임을 알 수 있다. 이제 gn 의 정의에 따라 양변에 h 를 곱하면
gn=D(xn)h+O(h2)
Part 3.
kn:=en−gn 이라고 하면
kn+1=[1+hfh(xn,yn)]kn+O(h3)
이고 fy 가 바운디드이므로 어떤 K≥0 에 대해
∣kn+1∣≤(1+hK)∣kn∣+O(h3)
재귀적으로 풀어보면
∣kn∣=O(h2)+O(h3)=O(h2)
따라서
ϵn===gn+kn[hD(xn)+O(h2)]+O(h2)O(h2)
■
Atkinson. (1989). An Introduction to Numerical Analysis(2nd Edition): p352~354. ↩︎