logo

테일러 급수의 응용 📂미분적분학

테일러 급수의 응용

설명

테일러 급수(맥클로린 급수)란 주어진 함수를 멱급수로 근사한 것으로, 함수 $f$의 테일러 급수는 다음과 같다.

$$ \sum\limits_{n=0}^{\infty} \dfrac{f^{(n)}(a)}{n!} (x-a)^{n} = f(a) + f^{\prime}(a)(x-a) + \dfrac{f^{\prime \prime}(a)}{2!} (x-a)^{2} + \cdots $$

좋은 조건에서는 $f$와 $f$의 테일러 급수가 실제로 같다.

$$ f(x) = \sum\limits_{n=0}^{\infty} \dfrac{f^{(n)}(a)}{n!} (x-a)^{n} = f(a) + f^{\prime}(a)(x-a) + \dfrac{f^{\prime \prime}(a)}{2!} (x-a)^{2} + \cdots $$

테일러 급수는 극한을 포함하고 있어서 언뜻 보기에는 더 어려워 보이지만 실제로는 그렇지 않다. 함수 $f$가 복잡한 경우에는 테일러 급수로 다루는 것이 더 편리할 수 있다. 기본적으로 테일러 급수는 (무한 차수) 다항함수이기 때문에 미분과 적분, 그리고 함숫값 계산이 쉽다.

여러가지 상황에서 함수를 멱급수로 표현하는 것이 어떻게 유용한지에 대해서 살펴보자.

함숫값 근사

사인 함수 $\sin$을 예로 생각해보자. 이런 초월 함수의 함숫값을 계산하는 것은 쉽지 않다. $\sin x$의 값을 쉽게 알 수 있을 때는 $x$가 $0$, $\dfrac{\pi}{6}$, $\dfrac{\pi}{4}$ 등의 특수각일 때 뿐이다. 당장에 $\sin 0.672$의 값을 계산하라고 하면 어려울 것이다. 이럴 때는 $\sin$의 테일러 급수로 근사값을 계산하면 된다. $\sin$의 테일러 급수는 다음과 같다.

$$ \sin x = x - \dfrac{x^{3}}{3!} + \dfrac{x^{5}}{5!} - \dfrac{x^{7}}{7!} + \cdots = \sum\limits_{n=0}^{\infty} (-1)^{n} \dfrac{x^{2n+1}}{(2n+1)!} $$

즉 다음과 같은 근사식을 이용하면, 적절한 곱셈과 덧셈만으로 $\sin 0.672$의 값을 쉽게 계산할 수 있다.

$$ \sin x \approx x - \dfrac{x^{3}}{3!} + \dfrac{x^{5}}{5!} - \dfrac{x^{7}}{7!} $$

실제로 프로그래밍 언어에서 초월함수를 테일러 급수로 근사하여 구현하기도 한다. 줄리아코드를 까보면 사인 함수가 테일러 급수의 7번째 항까지로 근사되어있는 것을 확인할 수 있다.

상수를 가지고 함수를 직접 정의해서 계산해보면 줄리아에서 구현된 사인 함수와 거의 같은 값을 얻을 수 있다.

julia> function mysin(x)
           S = [-1.66666666666666324348e-01,
                8.33333333332248946124e-03,
                -1.98412698298579493134e-04,
                2.75573137070700676789e-06,
                -2.50507602534068634195e-08,
                1.58969099521155010221e-10]
           sinx = x +  S[1]*x^3 + S[2]*x^5 + S[3]*x^7 + S[4]*x^9 + S[5]*x^11 + S[6]*x^13
           return sinx
       end
mysin (generic function with 1 method)

julia> sin(0.672)
0.622552387351666

julia> mysin(0.672)
0.6225523873516658

구간 $[0, \pi/4]$에서 $\sin x$와 $s_{6} = \displaystyle \sum\limits_{n=0}^{6} (-1)^{n} \dfrac{x^{2n+1}}{(2n+1)!}$을 비교해보면 거의 차이가 없음을 확인할 수 있다.

S = [-1.66666666666666324348e-01,
         8.33333333332248946124e-03,
         -1.98412698298579493134e-04,
         2.75573137070700676789e-06,
         -2.50507602534068634195e-08,
         1.58969099521155010221e-10]

x = 0:0.01:π/4
y = sin.(x)
s₆ = x .+ S[1]*x.^3 .+ S[2]*x.^5 .+ S[3]*x.^7 .+ S[4]*x.^9 .+ S[5]*x.^11 .+ S[6]*x.^13

using Plots
plot(x, y, label="sin(x)", linewidth=8, dpi=300, size=(728,300))
plot!(x, s₆, label="s_6", linewidth=3, ls=:dash, lc=:red)

무리수 근사

삼각함수도 계산하기 어려운데 역삼각함수는 계산하기 더 어렵지 않겠는가? 아크탄젠트의 함숫값은 아크탄젠트의 테일러 급수를 이용하여 근사할 수 있을 것이다.

$$ \tan^{-1} x = \sum\limits_{n=0}^{\infty} (-1)^{n} \dfrac{x^{2n+1}}{2n+1} $$

위 식에서 재밌는 공식을 얻을 수 있는데, $x = 1$을 대입하면 다음과 같다.

$$ \dfrac{\pi}{4} = \tan^{-1} 1 = 1 - \dfrac{1}{3} + \dfrac{1}{5} - \dfrac{1}{7} + \cdots $$

$$ \implies \pi = 4 \left( 1 - \dfrac{1}{3} + \dfrac{1}{5} - \dfrac{1}{7} + \cdots \right) $$

즉, 무리수 $\pi$를 근사할 수 있는 급수를 얻을 수 있다.

적분

함수를 테일러 급수로 표현하는 것은 함숫값 계산 뿐만 아니라 적분을 할 때도 유리하다. 그럴 수 밖에 없는 것이, 테일러 급수는 다항함수이기 때문이다. 다항함수의 적분은 매우 쉬우므로, 복잡한 꼴의 함수는 테일러 급수로 나타내어 적분하면 쉽다. 예를 들어 $f(x) = \dfrac{\sin x}{x^{2}}$과 같은 함수는 부정적분을 구하기 어렵다. (부분적분법이 생각나겠지만, 직접 해보면 막힐 것이다.) 이럴 때는 $\sin$의 테일러 급수를 적분하는 것이 쉽다.

$$ \begin{align*} \int \dfrac{\sin x}{x^{2}} dx &= \int \dfrac{1}{x^{2}} \sum\limits_{n=0}^{\infty} (-1)^{n} \dfrac{x^{2n+1}}{(2n+1)!} dx \\ &= \int \dfrac{1}{x^{2}} \left( x - \dfrac{x^{3}}{3!} + \dfrac{x^{5}}{5!} - \dfrac{x^{7}}{7!} + \cdots \right) dx \\ &= \int \left( \dfrac{1}{x} - \dfrac{x}{3!} + \dfrac{x^{3}}{5!} - \dfrac{x^{5}}{7!} + \cdots \right) dx \\ &= C + \ln |x| - \dfrac{x^{2}}{2 \cdot 3!} + \dfrac{x^{4}}{4 \cdot 5!} - \dfrac{x^{6}}{6 \cdot 7!} + \cdots \\ &= C + \ln |x| + \sum\limits_{n=1}^{\infty} (-1)^{n} \dfrac{x^{2n}}{2n(2n+1)!} \end{align*} $$

다른 예로 $e^{x^{2}}$와 같은 함수를 보자. $e^{x^{2}}$의 적분이라는 것은, 미분적분학의 기본정리에 의해서, 미분해서 $e^{x^{2}}$가 되는 함수를 찾는 것이다. 이러한 함수를 찾으려고 하면 지수에 $x^{2}$가 포함되어있어 쉽지 않다. 이럴 때는 $e^{x^{2}}$를 멱급수로 표현하여 부정적분하면 쉽다.

$$ \begin{align*} \int e^{x^{2}} dx &= \int \left( 1+x^2+\dfrac{x^4}{2!}+\cdots +\dfrac{x^{2n}}{n!}+\cdots \right) dx \\ &= C + x + \dfrac{x^3}{3 \cdot 1!} + \dfrac{x^5}{5 \cdot 2!}+\dfrac{x^7}{7 \cdot 3!}+ \cdots + \dfrac{x^{2n+1}}{(2n+1)n!} + \cdots \\ &= C + \sum \limits_{n=0}^\infty \dfrac{x^{2n+1}}{(2n+1)n!} \end{align*} $$

조화진동자

임의의 함수를 멱급수로 표현하는 방법은 다양한 분야에서 응용된다. 물리학에서 단순 조화 진동자의 퍼텐셜에너지를 $V(x) = a_{0} + a_{1}x + a_{2}x^{2} + \cdots$와 같은 급수로 두어, 후크의 법칙 $F(x) = -kx$와 단순조화진동자의 운동방정식 $\ddot{x} + \dfrac{k}{x}x = 0$을 유도할 수 있다.

미분방정식의 해

어떤 미분 방정식들은 해가 멱급수로 표현된다. 베셀 미분 방정식그 해(베셀 함수)는 다음과 같다.

$$ x^2 y^{\prime \prime} +xy^{\prime} +(x^2-\nu^2)y = 0 $$

$$ J_{\nu}(x)=\sum \limits_{n=0}^{\infty} \frac{(-1)^{n} }{\Gamma (n+1) \Gamma (n+\nu+1)} \left(\frac{x}{2} \right)^{2n+\nu} $$