살군의 보조기억 장치

Another memory device…

테일러 시리즈(Taylor series)

with one comment

x+x^2+x^3+\cdots은 유한한 수로 표현을 할 수 있을까? 좀 더 일반화 해서, 규칙을 가진 무한히 많은 수의 합이 유한한 수로 표현이 될 수 있을까? 이것은 아주 오래된 질문이다. 물론 우린 답을 알고 있다. 답은 “그렇다” 이다.

이 질문의 기원은 고대 그리스 시절로 거슬러 올라간다. 고대 그리스의 철학자 Zeno 는 무한한 수열의 합이 유한한 결과를 낼 수 있는가에 대해 생각을 했었다. 그러나 Zeno’s paradox 라고 알려진 결과를 통해 불가능하다고 했다. 이후 아리스토텔레스Aristotle는 Zeno’s paradox 에 대해 철학적인 수준에서 반박을 했으나 수학적인 증명을 하진 못했다. 수십년 뒤, 데모크리토스Democritus와 아키메데스Archimedes 대에 이르러서 수학적으로 가능하다는 것이 증명이 되었다.

테일러 시리즈Taylor series와 상관이 없어보이는 무한한 수에 대한 이야기를 먼저하는 이유는, 테일러 시리즈가 위에서 이야기 한 것과 반대로 유한한 값을 무한한 수의 합으로 표현(근사approximation)한 것이기 때문이다. 테일러 시리즈가 뭔지를 한번 보자.

f(x) = f(a)+\dfrac{f'(a)}{1!} (x-a)+ \dfrac{f''(a)}{2!} (x-a)^2+\dfrac{f^{(3)}(a)}{3!}(x-a)^3+ \cdots (1)

이것을 일반화 시키면,

f(x) = \sum\limits_{n=0}^{\infty} \dfrac {f^{(n)}(a)}{n!} \, (x-a)^{n} (2)

단, 이것은 모든 x에 대해서 성립하는 것이 아니라 x a 근처에서만 성립하고, a 의 범위는 f(x) 에 따라 달라진다. 이게 무슨뜻인지는 말로 설명하는 것 보다 그림을 보면 확실하게 이해할 수 있을 것이다.

The Taylor approximations for log(1+x) (black). For x > 1, any Taylor approximation is invalid. 출처: wikipedia

The Taylor approximations for log(1+x) (black). For x > 1, any Taylor approximation is invalid. 출처: wikipedia

위의 그림에서 보듯이 테일러 시리즈의 다항식 차수 N이 증가함에 따라 검은색 선으로 표시된 함수 f(x) = \log(1+x)에 점점 접근하는 것을 볼 수 있다. 그러나 |x|\geq 1일 경우에는 오차가 급격하게 증가한다. 다시말해 \log(1+x) 함수는 |a| < 1인 경우에만 테일러 시리즈를 적용할 수 있다. 또한 N의 차수가 낮더라도 xa 근처 있다면 보다 정확한 근사치를 얻을 수 있다.

테일러 시리즈는 당연히 미분가능한 영역에 대해서만 적용할 수 있다. 테일러 시리즈로 확장하는 것 자체가 미분가능한 구간이 아니면 불가능하니까. 그 외에 필요한 수학적인 조건은 패스.

테일러 시리즈가 주로 쓰이는 곳은,

  1. 정적분definite integral의 계산
  2. 부정적분indefinite integral을 계산하기 힘든 함수의 경우에 아래와 같이 테일러 시리즈를 활용하면 정적분의 계산값을 근사적으로 구할 수 있습니다.

    \displaystyle\int_0^1 \sin (x^2) \mathop{dx} = \displaystyle\int_0^1 \left(x^2 - \dfrac{x^6}{3!} + \dfrac{x^{10}}{5!} - \cdots \right) \mathop{dx}

    위 식에서 \sin (x^2)의 테일러 급수는 \sin (t)t = 0에서의 테일러 전개에 t = x^2을 대입하여 얻어진 식이며, 적분 구간이 [0, 1]이기 때문에 x = 0에서의(즉, a = 0) 테일러 급수를 사용해도 근사오차가 크지 않습니다.

  3. 함수의 점근asymptotic 특성 파악
  4. 테일러 급수를 활용하면 함수(특히 삼각함수, 지수함수, 로그함수와 같은 초월함수)의 점근적 특성을 손쉽게 파악할 수 있습니다. 예를 들어, 아래와 같이 x = 0 근처에서 \sin x \simeq x 임을 테일러 급수를 이용하면 쉽게 알 수 있습니다.

    \lim\limits_{x \rightarrow 0} \dfrac{\sin x}{x} = \lim\limits_{x \rightarrow 0} \dfrac{x - \dfrac{x^3}{3!} + \dfrac{x^5}{5!} - \cdots}{x} = 1

  5. 문제 또는 모델의 단순화
  6. 테일러 급수의 가장 일반적인 활용예로 볼 수 있습니다. 즉, 어떤 복잡한 또는 잘 모르는 함수가 있을 때, 이 함수를 저차의(1~3차) 다항함수로 근사하여 사용함으로써 문제 또는 모델을 단순화시키는데 테일러 급수가 활용될 수 있습니다. 구체적인 예를 들기는 어렵지만 테일러 급수는 논문 등에서 어떤 이론이나 주장에 대한 논리적 근거를 단순화하여 설명할 때 유용하게 사용되는 기법 중의 하나입니다. 한 활용예로 가우스-뉴턴(Gauss-Newton) 방법을 증명하는데 테일러 급수가 활용됩니다. 이에 대한 내용은 뉴턴법/뉴턴-랩슨법의 이해와 활용(Newton’s method)을 참조하기 바랍니다.

  7. 기타 활용예
  8. 테일러 급수는 미분방정식을 풀 때, 또는 초월함수의 함수값을 계산할 때도 활용될 수 있습니다. 예를 들어, 미분방정식 y' = y, y(0) = 1yy = a_0 + a_1x + a_2x^2 + \cdots 라 놓고 풀면 y(0) = 1에서 a_0 = 1, y' = y에서 a_1 + 2a_2x + 3a_3x^2 + \cdots = a_0 + a_1x + a_2x^2 + \cdots이 됩니다. 즉, a_1 = a_0 = 1, a_2 = a_1/2 = 1/2, \cdots 이런 식으로 y를 구할 수 있겠죠. 참고로, 이렇게 구한 ye^x를 테일러 전개한 식과 같습니다. 다른 예로, \sin x의 값을 컴퓨터로 계산한다고 했을 때, \sin x = x - \dfrac{x^3}{3!} + \dfrac{x^5}{5!} - \cdots 와 같이 테일러 급수를 이용하여 함수값을 계산하면 몇 번의 계산만으로도 매우 정밀한 결과값을 얻을 수 있습니다.

등이 있다.

이건 아주아주 예전부터 들어왔지만, 정확한 이해가 되지 않았는데… 이제서야 정리가 되었다.


update 2014.05.07
이제까지는 1D 테일러 시리즈를 보았다. 이를 2D 로 확장시키기 위해 식 (2) 를 약간 변형시켜 보겠다.

f(x_0 + \Delta x) = \sum\limits_{n=0}^{\infty} \dfrac {f^{(n)}(x_0)}{n!} \, {\Delta x}^{n} (3)

근본적으로 달라지는 것은 없다. xa 근처에서 성립하는 것만 인지하고 있다면 쉽게 이해할 수 있다. 꼭 찝에서 넣자면, x_0 =a 이고, \Delta x = (x - a)이다.

자 이제 테일러 시리즈를 2D 로 확장해보자. 기본적인 2D 형태의 함수는 식 (4) 와 같다. 이걸 이야기하기가 애매해서 식 (3)을 적은 것이다.

f(x_0 + \Delta x, y_0 + \Delta y) (4)

위 식에서 f는 2차원 함수이며, \Delta x\Delta y는 0 에 한없이 가까운 값이다. 이것을 테일러 시리즈로 확장하기 위해서 약간의 수학적인 트릭이 더해진다.

g(t) = f(x_0 + t \Delta x, y_0 + t \Delta y) (5)

x_0, y_0, \Delta x, \Delta y를 상수로 생각하면, g함수는 t변수만을 가진 1차원 함수로 쓸수가 있다. 여기에서 t_0 = 0으로 두고 \Delta t = 1로 두면, 1D 테일러 시리즈로 확장할 수 있는 형태가 된다. 이를 다시 정리하면,

g(t) = f(x(t), y(t)) (6)
where, x(t) = x_0 + t \Delta x, y(t) = y_0 + t \Delta y

식 (6) 은 1D 테일러 시리즈로 확장할 수 있는 형태가 되었다. 이제 필요한 것은 g(t)\big\rvert_{t=0}에서 미분가능한지 여부와 미분값을 확인하면 된다. \dfrac{\mathop{d}}{\mathop{dt}}x(t) = \Delta x 이고, \dfrac{\mathop{d}}{\mathop{dt}}y(t) = \Delta y 이므로,

\begin{array}{rcl} \dfrac{\mathop{d}}{\mathop{dt}}g(t) & = & \dfrac{\partial }{\partial x}f(x(t), y(t)) \dfrac{\mathop{d} }{\mathop{dt}}x(t) + \dfrac{\partial }{\partial y}f(x(t), y(t)) \dfrac{\mathop{d} }{\mathop{dt}}y(t) \\ \\ & = & f_x(x(t), y(t))\Delta x + f_y(x(t), y(t))\Delta y \\ \\ \dfrac{\mathop{d}^2}{\mathop{dt}^2}g(t) & = & f_{xx}(x(t), y(t))\Delta x^2 + 2f_{xy}(x(t), y(t))\Delta x\Delta y + f_{yy}(x(t), y(t))\Delta y^2 \end{array}

3차 이상의 미분항은… 거의 쓸일이 없으므로 생략한다. 자 이제 마지막으로 정리를 하면,

\begin{array}{rcl} f(x_0 + \Delta x, y_0 + \Delta y) & = & g(t_0 + \Delta t)\bigg\rvert_{t_0=0, \Delta t=1} \\ \\ & = & g(0) + g'(0) + \frac{1}{2}g''(0) + \cdots \end{array}

(7)

식 (7) 로 간단하게 정리가 되며, 이 결과로 얻어지는 2D 테일러 시리즈는 식 (8) 과 같다.

\begin{array}{rcl} f(x_0 + \Delta x, y_0 + \Delta y) & = & f(x_0, y_0) \\ \\ & + & f_x(x_0, y_0)\Delta x + f_y(x_0, y_0)\Delta y \\ \\ & + & \frac{1}{2}\left[f_{xx}(x_0, y_0)\Delta x^2 + 2f_{xy}(x_0, y_0)\Delta x\Delta y + f_{yy}(x_0, y_0)\Delta y^2 \right] \\ \\ & + &\cdots \end{array}

(8)
참고
Advertisements

Written by gomiski

2014/05/01 at 3:43 pm

One Response

Subscribe to comments with RSS.

  1. […] 각도의 엣지만을 고려할 수 있다 – 테일러 확장Taylor’s expansion으로 의 미소변위에 대해 측정 […]


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: