티스토리 뷰

mathe

테일러 급수의 수렴 조건

게으른 the lazy 2024. 8. 25. 02:14

 

 

본 글의 내용 대부분은 교양을 위한 대학수학 1(김성기 외, 교우사)에서 가져왔습니다.

 


 

미분 가능한 함수 f(x)가 주어져있을 때, x=0 근방에서 f(x)와 "가장 가까운" 1차 함수는 접선이다.

 

p1(x)=f(0)+f(0)x

 

여기서 두 함수가 "가깝다"는 것은, 적어도 x=0 근방에서는 p1(x)f(x)를 잘 표현할 수 있다는 뜻이다. 혹은 f(x) 대신 p1(x)를 써도 어느 정도는 무방하다고 말할 수도 있을 것이다. 이것을 수학적으로는 두 함수의 차이를 이용해서 표현할 수 있다.

 

limx0f(x)p1(x)x=limx0f(x)f(0)x0f(0)=0

 

즉, f(x)p1(x)의 차이는 x보다 더 빨리 0에 수렴한다.

 

1차 함수보다 원래 함수에 더 가까운 다항식을 만들고 싶다면 차수를 높이면 된다. x=0에서 f(x)와 가장 가까운 2차 함수는 무엇일까? 즉, 아래를 만족하는 2차 함수 p2(x):=a0+a1x+a2x2를 알고 싶다.

 

limx0f(x)(a0+a1x+a2x2)x2=0

 

이 식의 의미는, f(x)를 polynomial로 표현할 수 있다면 f(x)p2(x)에는 x2 "성분"이 남지 않아야 한다는 뜻이다. 그래야 분자에 x3 이상의 성분만 남아서 분자가 분모보다 더 빨리 수렴하기 때문이다. 위 극한의 값이 존재하려면 분자가 0이어야 하므로

 

f(0)a0=0a0=f(0)

 

로피탈 정리를 적용하면

 

limx0f(x)a1x2a2x2x=0

 

로부터 a1=f(0)이다. 로피탈을 한번 더 적용하면

 

limx0f(x)2a22=0

 

로부터 a2=f(0)/2이다. 따라서 x=0 근방에서 미분가능한 함수 f(x)와 가장 가까운 2차 함수는

 

p2(x)=f(0)+f(0)x+f(0)2x2

 

이다.

 

이것을 n차 다항식으로 일반화하면, 미분가능한 함수 f(x)x=0 근방에서 f(x)와 가장 가까운 n차 다항식 pn(x)는 다음을 만족한다.

 

limx0f(x)pn(x)xn=0

 

이 다항식 pn(x)f(x)n차 근사다항식이라고 부르며, 아래와 같이 표기한다.

 

f(x)pn(x)

 

앞의 과정을 반복하면 pn(x)가 아래와 같음을 알 수 있다.

 

pn(x)=f(0)+f(0)x+f(0)2!x2+...+f(n)(0)n!xn=nk=0f(k)(0)k!xk

 

즉, x=0에서의 정보만을 이용해서 x0에서의 값을 추정할 수 있다.

 

Q. n이 무한대가 되면 멱급수 p(x)가 원래 함수 f(x)와 같아진다는 보장이 있을까?

 


 

아래는 근사다항식의 몇 가지 성질이다.

 

f(x)pn(x)이면 f(x)pn(x)이고, F(x)Pn(x)이다. 여기서 F(x)Pn(x)는 각각 f(x)pn(x)의 원시함수이다.

 

f(x)pn(x)이면 f(axm)mn차 근사다항식은 pn(axm)이다.

 

f(x)pn(x), g(x)qn(x)이면 f(x)g(x)n차 근사다항식은 pn(x)qn(x)n차 이하의 항만 취한 것이다. 여기서 주목할 점은 f(x)g(x)n2차 근사다항식이 pn(x)qn(x)가 아니라는 점이다. 예를 들어,

 

ex1+x+12x2

 

이지만,

 

(1+x+12x2)2=1+2x+2x2+x3+14x4

 

인 반면,

 

e2x1+2x+2x2+43x3+23x4

 

으로, 둘은 2차까지만 일치함을 볼 수 있다.

 


 

예) f(x)=ln(1+x)의 도함수는 아래와 같다.

 

f(x)=(1+x)1f(x)=(1+x)2f(x)=2(1+x)3f(n)(x)=(1)n1(n1)!(1+x)n

 

따라서 ln(1+x)n차 근사다항식은 아래와 같다.

 

ln(1+x)x12x2+13x3+(1)n1nxn

 

근사다항식의 성질에 의해 양변을 미분할 수 있다.

 

11+x1x+x2x3+...+(1)n1xn1

 

우변의 근사다항식은 무한차수까지 계속할 수 있지만, |x|<1일 때에만 수렴한다. 이 사실은 뒤에서 한번 더 살펴볼 것이다.

 

Q. 방금 보았듯이, 무한차수 근사다항식은 항상 수렴한다는 보장이 없다. 그렇다면 언제 f(x)p(x)가 같아질까?

 


 

미분가능한 함수 f(x)가 주어져있을 때, 아래의 두 함수에

 

y=f(x)f(0)y=x

 

구간 [0,x]에서 코시의 평균값 정리를 적용하면 어떤 c(0,x)에 대해 아래를 만족한다.

 

f(x)f(0)x0=f(c)1

 

이것은 사실 f(x)의 1차 근사식을 도출한 것과 같다.

 

f(x)=f(c)x+f(0)

 

이번에는 f(x)에서 1차 근사식을 뺀 것과 y=x2

 

y=f(x)f(0)f(0)xy=x2

 

똑같이 [0,x] 구간에서 코시의 평균값 정리를 적용해보면, 어떤 c1(0,x)에 대해 아래를 만족한다.

 

f(x)f(0)f(0)xx20=f(c1)f(0)2c1

 

여기서 아래의 두 함수에 대해

 

y=f(x)f(0)2y=x

 

이번에는 [0,c1] 구간에서 코시의 평균값 정리를 적용해보면,

 

f(c1)f(0)2(c10)=f(c2)2

 

를 만족하는 어떤 c2(0,c1)이 존재한다. 정리해보면, 어떤 c2(0,x)에 대해 아래 식이 성립한다.

 

f(x)f(0)f(0)xx2=f(c2)2

 

즉, f(x)에서 f(x)의 1차 근사다항식을 빼면 어떤 c2(0,x)에 대해서 아래 식이 성립한다.

 

f(x)f(0)f(0)x=f(c2)2x2

 

이 식은 근사다항식이 아니라 정확한 등식임에 주목하라.

 

이 과정을 일반화하면 아래와 같다. x=0을 포함하는 열린 구간 S에서 (n+1)번 미분가능한 함수 f(x)와 임의의 xS에 대해

 

f(x)f(0)f(0)xf(0)2!x2...f(n)(0)n!xn=f(n+1)(c)(n+1)!xn+1

 

를 만족하는 c(0,x)가 존재한다. 이 식을 f(x)에 대해서 쓰면 아래와 같은데,

 

f(x)=f(0)+f(0)x+f(0)2!x2+...+f(n)(0)n!xn+f(n+1)(c)(n+1)!xn+1

 

이것을 Taylor polynomial이라고 부른다. 우변의 마지막 항을 제외하면 n차 근사다항식과 같음을 알 수 있다. 우변 마지막 항을 n잉여항이라고 부르며, Rn(x)로 표기한다.

 


 

앞서 언급했던 질문을 다시 보자. f(x)n차 근사다항식은 n을 무한대로 보내면 멱급수 p(x)가 된다. 정의역의 어떤 x에서 f(x)=p(x)가 되려면, n일 때 Taylor polynomial의 잉여항이 0이 되어야 한다.

 

구간 [0,x]에서 |f(n+1)(t)|의 최대값을 Mn(x)라 하자. 다음 식이 성립한다.

 

|Rn(x)|Mn(x)|x|(n+1)(n+1)!

 

예를 들어 f(x)=sin(x)로 두면 Mn(x)1이므로

 

|Rn(x)||x|(n+1)(n+1)!

 

이고, 모든 실수 x에 대해서

 

limn|Rn(x)|=0

 

이다. 따라서

 

sinx=n=0(1)n(2n+1)!x(2n+1)

 

라고 쓸 수 있다. 아래는 sinx의 Taylor polynomial이 sinx로 수렴하는 모습이다.

 

 

figure, ax = axes;
hold on, box off
ax.XAxisLocation = 'origin';
ax.YAxisLocation = 'origin';

x = linspace(-10, 10);

fplot(@sin, minmax(x), 'r', LineWidth=2)
p = plot(x, x, 'b', LineWidth=2);
ylim([-2, 2])
l = legend('sin(x)', '0-th order Taylor');

pause(1)

for n = 1:15
    p.YData = p.YData + (-1)^n/factorial(2*n+1) * x.^(2*n+1);
    l.String{2} = sprintf('%d-th order Taylor', n);
    pause(0.3)
end

 


 

앞에서 봤던 f(x)=ln(1+x)를 다시 보자. 일단 정의역은 x>1이다. 아래 식은 t1에서 항상 성립한다.

 

11+t=1t+t2...+(1)n1tn1+(1)ntn1+t

 

위 식을 0부터 x까지 적분하면 아래와 같다. (단, x>1)

 

ln(1+x)=x12x2+13x3...+(1)n1nxn+(1)nx0tn1+tdt

 

우변의 마지막 항을 제외하면 ln(1+x)n차 근사다항식과 같으므로, 마지막 항은 잉여항 Rn(x)이다. 어느 x 범위에서 n일 때 잉여항이 0이 될까?

 

x>1이면, a>2x를 만족하는 어떤 a에 대해

 

|Rn(x)|=x0tn1+tdtx0tnadt=1axn+1n+1

 

이므로

 

limn|Rn(x)|=

 

이다. 즉, x>1에서는 잉여항이 수렴하지 않으므로 ln(1+x)의 무한차수 근사다항식의 값은 ln(1+x)와 같지 않다.

 

x[0,1]이라면,

 

|Rn(x)|=x0tn1+tdtx0tn1dt=xn+1n+1

 

이므로,

 

limn|Rn(x)|=0

 

이다. 따라서 이 범위의 x에 대해서는 잉여항이 0으로 수렴하므로 ln(1+x)의 무한차수 근사다항식의 값은 ln(1+x)와 같다.

 

x(1,0)이면, 어떤 a(1,x)에 대해

 

|Rn(x)|=x0|t|n1+tdtx0|t|n1+adt=11+a|x|n+1n+1

 

이므로,

 

limn|Rn(x)|=0

 

이다. 따라서 이 범위의 x에 대해서는 잉여항이 0으로 수렴하므로 ln(1+x)의 무한차수 근사다항식의 값은 ln(1+x)와 같다.

 

종합하자면, ln(1+x)n차 잉여항은 x(1,1]일 때에는 0으로 수렴하고 그 외에는 발산한다. 즉, ln(1+x)(1,1] 범위에서 p(x)와 같다. 아래는 이 함수의 수렴 영역을 보여주고 있다.

 

 

figure, ax = axes; 
hold on, box off
ax.XAxisLocation = 'origin';
ax.YAxisLocation = 'origin';

x = linspace(-0.999, 5);

fplot(@(x) log(1+x), 'b', LineWidth=2)
pn = @(n) (-1)^(n-1)/n*x.^n;
p = plot(x, pn(1), 'r-', LineWidth=2);
ylim([-5, 5])
l = legend('ln(x)', '1-th order Taylor');

pause(1)

for n = 2:30
    p.YData = p.YData + pn(n);
    l.String{2} = sprintf('%d-th order Taylor', n);
    pause(0.3)
end

 


 

함수 f(x)가 무한번 미분가능하다면,

 

T(x):=n=0f(n)(0)n!xn=f(0)+f(0)x+f(0)2!x2+...+f(n)(0)n!xn+...

 

f(x)x=0에서의 테일러 급수(Talyor series)라고 부른다. 이것을 x=p로 일반화하면 다음과 같다.

 

T(x):=n=0f(n)(p)n!(xp)n=f(p)+f(p)(xp)+f(p)2!(xp)2+...+f(n)(p)n!(xp)n+...

 

f(x)T(x)와 같을 필요충분조건은

 

limnRn(x)=0

 

이다. f(x)가 무한번 미분 가능하다면 f(x)의 테일러 급수 T(x)는 항상 얻을 수 있다. 하지만 T(x)가 계산된다고 하여 f(x)=T(x)를 보장하지는 않는다. 이미 앞에서 ln(1+x)의 경우를 보았다. 이 함수는 x(1,)에서 f(x)T(x)가 같지 않았다.

 


 

이번엔 x>0인 모든 점에서 f(x)T(x)인 경우를 보겠다. 아래와 같이 정의된 함수 f(x)가 있다.

 

f(x)={e1/x(x>0)0(x0)

 

https://en.wikipedia.org/wiki/Non-analytic_smooth_function

 

 

이 함수의 도함수는 아래와 같은데,

 

f(n)(x)={Pn(x)x2nf(x)(x>0)0(x0)

 

여기서 Pn(x)는 아래와 같이 재귀적으로 정의되는 함수이다.

 

Pn+1(x)=x2Pn(x)(2nx1)Pn(x)

 

이 함수의 x=0에서의 n차 도함수는 모두 0이다. 증명은 위키피디아 페이지로 갈음한다. 따라서 이 함수는 (,0]에서만 T(x)=f(x)이다.

 

이 함수는 대표적인 비해석적 함수(non-analytic function)이다. 해석적 함수(analytic function)란 정의역의 모든 점의 근방에서 테일러 급수가 원래의 함수값으로 수렴하는 함수를 말한다. 위에서 본 함수는 x>0인 모든 점에서 이 조건을 만족하지 않는다. 심지어 모든 점에서 무한번 미분 가능함(smooth)에도 불구하고 비해석적이라는 특징을 갖는다.

 


 

이번 글에서는 테일러 급수의 수렴 조건에 대해서 알아보았다.

 

 
 

 

 

'mathe' 카테고리의 다른 글

Euler-Phi Function  (0) 2025.01.06
다변수 함수의 미분 가능성  (0) 2024.08.25
"기초가 없는데 중학교 수학부터 보면 될까요?"  (2) 2024.08.11
자연수의 서수와 기수  (0) 2024.08.11
Every vector space has a basis.  (0) 2024.08.10
댓글