logo

패러사이틱 솔루션 📂수치해석

패러사이틱 솔루션

정의 1

패러사이틱 솔루션parasitic solution 이란 직역했을 때 ‘기생하는 해’라는 뜻으로 메소드가 진행될수록 크기가 커지며 부호가 바뀌는 등의 항을 말한다. $a_{n} = 2^{-n} + (-2)^{n}$ 이라는 수열이 $ (-2)^{n}$ 때문에 수렴하지 않는 걸 상상하면 좋다. 이런 항에다 ‘패러사이틱’이라는 표현을 쓰는것은 수렴을 방해한다는 점에서 꽤 직관적이고 좋은 명명이라 할 수 있겠다.

예시: 달키스트 문제

예로써 $\begin{cases} y ' = \lambda y \\ y(0) = 1 \end{cases}$ 를 생각해보면 그 해는 $Y = e^{ \lambda x}$ 로 정확하게 구해진다. 그러나 우리가 필요로 하는 게 구체적인 값이라면 수치해석적인 방법을 고려할 수밖에 없다. 계산을 위해 미드포인트 메소드를 사용해보도록 하자.

미드포인트 메소드: $D \subset \mathbb{R}^2$ 에서 정의된 연속함수 $f$ 에 대해 초기값 문제 $\begin{cases} y ' = f(x,y) \\ ( y( x_{0} ) , y (x_{1} )) = (Y_{0} ,Y_{1} ) \end{cases}$ 가 주어져 있다. 구간 $(a,b)$ 을 $a \le x_{0} < x_{1} < \cdots < x_{n} < \cdots x_{N} \le b$ 와 같은 노드 포인트들로 쪼갰다고 하자. 특히 충분히 작은 $h > 0$ 에 대해 $x_{j} = x_{0} + j h$ 이라고 하면 초기값 $y_{0} = Y_{0}$ 에 대해 $$ y_{n+1} = y_{n-1} + 2 h f ( x_{n} , y_{n} ) $$

미드포인트 메소드를 문제에 적용시키면 다음과 같다. $$ y_{n+1} = y_{n-1} + 2h \lambda y_{n} $$ 특정 방정식을 통해 해를 구하는 2계 선형 동차 미분방정식의 풀이법으로 접근해보자. $y_{n} = r^{n}$ 이라고 가정해보면 $$ r^{n+1} = r^{n-1} + 2 h \lambda r^{n} $$ 양변에서 $r^{n-1}$ 을 소거하고 2차 방정식으로 정리하면 $$ r^2 - 2h \lambda r - 1 = 0 $$ 근의 공식을 통해 풀면 $$ r_{0} = h \lambda + \sqrt{ 1 + h^2 \lambda^2 } $$

$$ r_{1} = h \lambda - \sqrt{ 1 + h^2 \lambda^2 } $$ 일반해는 어떤 $\beta_{0} , \beta_{1}$ 에 대해 $$ y_{n} = \beta_{0} r_{0}^{n} + \beta_{1} r_{1}^{n} $$ $n=0,1$ 을 대입하면 $$ \begin{cases} y_{0} = \beta_{0} + \beta_{1} \\ y_{1} = \beta_{0} r_{0} + \beta_{1} r_{1} \end{cases} $$ 한편 우리는 이미 정확한 해로써 $Y = e^{ \lambda x}$ 을 알고 있기 때문에 $$ \begin{cases} y_{0} = 1 = \beta_{0} + \beta_{1} \\ y_{1} = e^{ \lambda h } = \beta_{0} r_{0} + \beta_{1} r_{1} \end{cases} $$ 을 구해낼 수 있다. 이를 $\beta_{0}$ 과 $\beta_{1}$ 에 대해 풀면 $$ \begin{cases} \displaystyle \beta_{0} = {{e^{ \lambda h} - r_{1} } \over {2 \sqrt{ 1+ h^2 \lambda^2 } }} \\ \displaystyle \beta_{1} = {{r_{0} - e^{ \lambda h} } \over {2 \sqrt{ 1+ h^2 \lambda^2 } } } \end{cases} $$ $e^{\lambda h}$ 를 매클로린 전개하면 $\displaystyle e^{\lambda h} = 1 + \lambda h + {{\lambda^2 h^2} \over {2}} + O (h^3 \lambda^3)$ 이므로 $$ \begin{align*} \displaystyle \beta_{0} =& {{e^{ \lambda h} - r_{1} } \over {2 \sqrt{ 1+ h^2 \lambda^2 } }} \\ =& {{1 + \lambda h + {{\lambda^2 h^2} \over {2}} + O (h^3 \lambda^3 ) - h \lambda + \sqrt{ 1 + h^2 \lambda^2 } } \over {2 \sqrt{ 1+ h^2 \lambda^2 } }} \\ =& {{1 + {{\lambda^2 h^2} \over {2}} - \sqrt{ 1 + h^2 \lambda^2 } + 2 \sqrt{ 1 + h^2 \lambda^2 } + O (h^3 \lambda^3 ) } \over {2 \sqrt{ 1+ h^2 \lambda^2 } }} \\ =& 1 + {{1 + {{\lambda^2 h^2} \over {2}} - \sqrt{ 1 + h^2 \lambda^2 } + O (h^3 \lambda^3 ) } \over {2 \sqrt{ 1+ h^2 \lambda^2 } }} \end{align*} $$ $\sqrt{ 1+ h^2 \lambda^2 }$ 를 매클로린 전개하면 $\displaystyle \sqrt{ 1+ h^2 \lambda^2 } = 1 + {{\lambda^2 h^2} \over {2}} + O (h^4 \lambda^4)$ 이므로 $$ \begin{align*} \displaystyle \beta_{0} =& 1 + {{1 + {{\lambda^2 h^2} \over {2}} - \sqrt{ 1 + h^2 \lambda^2 } +O (h^3 \lambda^3 ) } \over {2 \sqrt{ 1+ h^2 \lambda^2 } }} \\ =& 1 + {{1 + {{\lambda^2 h^2} \over {2}} + O (h^3 \lambda^3 ) - 1 - {{\lambda^2 h^2} \over {2}} + O (h^4 \lambda^4) } \over {2 \sqrt{ 1+ h^2 \lambda^2 } }} \end{align*} $$ $\beta_{1}$ 에 대해서도 마찬가지로 $$ \begin{align*} \beta_{1} =& {{ r_{0} - e^{ \lambda h} } \over {2 \sqrt{ 1+ h^2 \lambda^2 } }} \\ =& { { h \lambda + \sqrt{ 1+ h^2 \lambda^2 } - e^{h \lambda } } \over {2 \sqrt{ 1+ h^2 \lambda^2 } }} \\ =& {{ h \lambda + 1 + {{\lambda^2 h^2} \over {2}} + O (h^4 \lambda^4 ) - 1 - h \lambda - {{\lambda^2 h^2} \over {2}} - O (h^3 \lambda^3) } \over {2 \sqrt{ 1+ h^2 \lambda^2 } }} \end{align*} $$

빅오 노테이션이 분모에 있을 때 분자로 올리는 법: $a \ne 0$ 와 $p>0$, $n \in \mathbb{N}$ 에 대해 $\displaystyle {{1} \over { \sqrt[p]{a + O ( h^n ) } }} = {{1} \over { \sqrt[p]{a } }}+ O(h^n)$

정리하면 $$ \begin{align*} \beta_{0} =& 1+ O (h^{3} \lambda^{3} ) \\ \beta_{1} =& O (h^{3} \lambda^{3} ) \end{align*} $$ 를 얻는다. 즉 $h \to 0$ 일 때 $\beta_{0} \to 1$ 이고 $\beta_{1} \to 0$ 이므로 $$ y_{n} = \beta_{0} r_{0}^{n} + \beta_{1} r_{1}^{n} \to r_{0}^{n} $$ 이제 문제는 $h>0$ 가 정해져 있을 때 $n$ 이 커질 때 이 일반해가 어떻게 되느냐다. 만약 $\lambda > 0$ 라면 고민할 것도 없이 $r_{0} > | r_{1} | > 0$ 이므로 $\beta_{0} r_{0}^{b}$ 이 $\beta_{1} r_{1}^{n}$ 보다 훨씬 빨리 커진다. 하지만 $\lambda <0$ 이면 이야기가 다른데, 만약 $0 < r_{0} < 1$ 이고 $r_{1} < -1$ 이라면 $\beta_{1} r_{1}^{n}$ 는 $n$ 이 증가할 때마다 부호를 바꾸면서 그 절댓값은 $\beta_{0} r_{0}^{n}$ 를 압도하게 된다.

이 때 우리는 바로 $\beta_{1} r_{1}^{n}$ 를 패러사이틱 솔루션이라고 부르며, 이러한 위험 때문에 미드포인트 메소드가 약한 안정성weak Stability을 가진다고 말한다. 따라서 적어도 $\displaystyle { {\partial f(x, Y(x)) } \over {\partial y}}$ 의 부호가 음수일 땐 이런 문제가 있지 않은지 수식적인 확인이 반드시 필요하다.

20181009\_124502.png

예로써 $\begin{cases} y ' = x - y^2 \\ y(0) = 0 \end{cases}$ 와 같은 초기값 문제를 미드포인트 메소드로 푼 결과를 보면 처음에는 잘 가는 듯하다가, 셋째줄부터는 솔루션이 갑자기 요동치기 시작하는 것을 확인할 수 있다.

이것과 거의 같은 방법으로 밀른 메소드milne's method

$$ y_{n+1} = y_{n-1} + {{h} \over {3}} [ f(x_{n-1} , y_{n-1}) + f(x_{n} , y_{n})] + f(x_{n+1} , y_{n+1}) $$ 역시 약한 안정성을 가짐을 보일 수 있다. 이 때 즐겨 쓰는 $\begin{cases} y ' = \lambda y \\ y(0) = 1 \end{cases}$ 와 같은 문제를 달키스트 문제dahlquist Problem라 한다.


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