테일러 급수

편집 역사 토론
수치해석 마지막 수정: 2026-07-11 04:06:22

1. 개요[편집]

테일러 급수(Taylor series)는 충분히 매끄러운 함수를 한 점 근방에서 그 점의 함숫값과 미분값들로 이루어진 다항식(멱급수)으로 전개하는 방법이다. 함수 ff가 점 aa에서 무한히 미분 가능하면

f(x)=n=0f(n)(a)n!(xa)n=f(a)+f(a)(xa)+f(a)2!(xa)2+f(x) = \sum_{n=0}^{\infty} \frac{f^{(n)}(a)}{n!}\,(x-a)^n = f(a) + f'(a)(x-a) + \frac{f''(a)}{2!}(x-a)^2 + \cdots

로 쓴다. a=0a=0인 특수한 경우를 매클로린 급수(Maclaurin series)라 부른다. 한마디로 “복잡한 함수를 그 자리에서 다항식으로 근사하는 만능 도구”이고, 이 단순한 아이디어가 수치미분·수치적분·유한차분법·뉴턴-랩슨법까지 수치해석 거의 전부의 이론적 토대가 된다.1

미분을 안다는 건 결국 그 점 근처에서 함수가 어떻게 생겼는지를 안다는 것이고, 테일러 급수는 그 “어떻게”를 항 하나하나로 풀어 쓴 설계도다. 1차항까지 자르면 접선(선형 근사), 2차항까지 자르면 접하는 포물선(2차 근사)이 된다.

2. 절단오차와 나머지항[편집]

현실의 컴퓨터는 무한급수를 다 더할 수 없으니 어딘가에서 자른다. nn차항까지 남기고 그 뒤를 버리는 것을 절단(truncation)이라 하고, 버려진 부분이 곧 절단오차(truncation error)다. 이 오차를 정확히 기술하는 것이 테일러 정리의 나머지항(remainder)이다. 라그랑주 형태로 쓰면 어떤 ξ(a,x)\xi \in (a, x)에 대해

Rn(x)=f(n+1)(ξ)(n+1)!(xa)n+1R_n(x) = \frac{f^{(n+1)}(\xi)}{(n+1)!}\,(x-a)^{n+1}

이다. 핵심은 나머지항이 (xa)n+1(x-a)^{n+1}에 비례한다는 것. 그래서 전개점에 가까울수록(xa|x-a|가 작을수록) 근사가 급격히 좋아진다. 이 성질을 보통 빅오 표기로 압축해서, 스텝 크기 h=xah = x - a에 대해 오차가 O(hn+1)O(h^{n+1})이라고 쓴다.

수치해석에서 “이 도식은 2차 정확도(second-order accurate)다”라는 말은 바로 여기서 나온다. 오차가 O(h2)O(h^2)이라는 뜻이고, hh를 절반으로 줄이면 오차가 4분의 1로 준다는 실전적 약속이다. 격자만 촘촘히 하면 답이 좋아진다는 믿음의 수학적 근거가 이 나머지항 하나에 담겨 있다.

3. 수렴반경과 배신하는 함수들[편집]

테일러 급수가 항상 원래 함수로 수렴하는 것은 아니다. 급수가 수렴하는 구간의 반지름을 수렴반경(radius of convergence)이라 하는데, 이 밖에서는 아무리 항을 더해도 발산한다. ln(1+x)\ln(1+x)의 매클로린 급수가 x<1|x|<1에서만 수렴하는 것이 대표적인 예다.

더 얄궂은 경우도 있다. 매끄럽다고 무조건 안심하면 안 된다. 고전적인 반례가 f(x)=e1/x2f(x) = e^{-1/x^2} (f(0)=0f(0)=0)인데, 이 함수는 원점에서 모든 계도함수가 0이라 매클로린 급수가 항등적으로 0이 되어버린다. 함수는 멀쩡히 살아 있는데 급수는 원점 말고는 어디서도 함수를 재현하지 못한다.2 이런 함수를 “해석적이지 않다”고 하며, 실함수 세계의 은근한 지뢰다.

이 이야기의 교훈. 테일러 근사는 국소적이다. 전개점 근처에서는 잘 맞지만 멀어지면 배신한다. 함수를 넓은 구간에서 다항식으로 다루고 싶다면 테일러가 아니라 보간과 근사의 체비쇼프 전개 같은 도구가 낫다.

4. 유한차분법의 뿌리[편집]

유한차분법의 모든 공식은 테일러 급수를 몇 번 전개하고 요령껏 조합해서 나온다. f(x+h)f(x+h)f(xh)f(x-h)를 각각 전개해 보자.

f(x±h)=f(x)±hf(x)+h22f(x)±h36f(x)+f(x \pm h) = f(x) \pm h f'(x) + \frac{h^2}{2} f''(x) \pm \frac{h^3}{6} f'''(x) + \cdots

두 식을 빼면 짝수차항이 상쇄되어 중심차분(central difference)이 나온다.

f(x)=f(x+h)f(xh)2h+O(h2)f'(x) = \frac{f(x+h) - f(x-h)}{2h} + O(h^2)

두 식을 더하면 홀수차항이 상쇄되어 2계도함수의 근사가 나온다.

f(x)=f(x+h)2f(x)+f(xh)h2+O(h2)f''(x) = \frac{f(x+h) - 2f(x) + f(x-h)}{h^2} + O(h^2)

한쪽만 전개해서 자르면 오차 O(h)O(h)짜리 전진/후진 차분이 된다. 즉 “어느 항을 남기고 어느 항을 지우느냐”의 선택이 곧 도식의 정확도 차수를 결정한다. 더 높은 차수를 원하면 여러 점의 전개를 연립해 절단오차의 주항을 소거하는데, 이 조직적 소거 기법이 수치미분의 리처드슨 외삽(Richardson extrapolation)이다.3

5. 뉴턴-랩슨법과 최적화[편집]

뉴턴-랩슨법도 테일러 급수의 자식이다. f(x)=0f(x)=0의 근을 찾을 때, 현재 추정값 xkx_k 근처에서 ff를 1차까지 전개한다.

f(x)f(xk)+f(xk)(xxk)f(x) \approx f(x_k) + f'(x_k)(x - x_k)

이 선형 근사를 0으로 놓고 xx에 대해 풀면 그 유명한 갱신식 xk+1=xkf(xk)/f(xk)x_{k+1} = x_k - f(x_k)/f'(x_k)이 곧바로 튀어나온다. 다변수로 확장하면 ff' 자리에 자코비안 행렬이 들어간다. 뉴턴법이 근 근처에서 2차 수렴(반복마다 정확한 자릿수가 대략 2배)하는 이유도, 버린 것이 2차항 이상이라 오차가 제곱으로 줄기 때문이다.

최적화에서는 한 항 더 챙긴다. 함수를 2차까지 전개하면 헤세 행렬(Hessian)이 등장하고, 이 2차 근사의 극값을 찾는 것이 뉴턴형 최적화 알고리즘의 골자다. 요컨대 “근처를 다항식으로 근사하고 그 다항식의 답을 정답으로 삼는다”는 발상이 근 찾기와 최적화를 관통하는 하나의 정신이다.

6. 실전에서의 감각[편집]

  • 차수와 스텝의 줄다리기. 절단오차는 hh를 줄일수록 작아지지만, 무작정 줄이면 이번엔 부동소수점 연산의 반올림오차가 커진다. 특히 수치미분의 f(x+h)f(x)f(x+h)-f(x)는 가까운 두 수의 뺄셈이라 자리수 손실(catastrophic cancellation)의 온상이다. 그래서 최적 스텝 크기가 존재하며, 이걸 무시하고 hh를 극단적으로 줄이면 오히려 답이 나빠진다.
  • 몇 항이면 충분한가. 실용 함수 라이브러리도 내부적으로 테일러/근사 다항식을 쓰지만, 수렴이 느린 구간에서는 급수 대신 유리함수 근사(파데 근사)나 논변수 축소(argument reduction)를 병행한다. “그냥 항 많이 더하면 되지”는 순진한 생각이다.
  • 오차 차수를 신뢰하되 검증하라. 도식이 O(h2)O(h^2)이라 주장하면, hh를 반씩 줄여가며 오차가 정말 4배씩 주는지 확인하는 격자 수렴 연구(grid convergence study)가 검증 및 확인의 기본기다. 이론 차수와 관측 차수가 어긋나면 코드에 버그가 있다는 강력한 신호다.

7. 관련 문서[편집]

8. Footnotes[편집]

  1. “미적분에서 배운 것 중 실무에서 제일 자주 써먹는 게 뭐냐”고 물으면 수치해석 하는 사람들은 대체로 테일러 급수라고 답한다. 나머지는 다 이걸 위한 빌드업이었다는 우스갯소리가 있다.

  2. 이 함수는 “매끄럽지만(smooth) 해석적이지 않은(non-analytic)” 함수의 표준 예시다. 실해석과 복소해석의 결정적 차이가 여기서 갈린다. 복소평면에서는 이런 배신이 불가능하고, 미분 한 번 가능하면 무한히 가능하고 급수도 수렴한다.

  3. 리처드슨 외삽은 서로 다른 스텝 크기의 근사를 영리하게 조합해 절단오차의 주항을 소거하는 기법이다. 오차의 hh 의존성을 알고 있다는 사실 하나만으로 공짜로 정확도를 끌어올리는, 수치해석계의 대표적 “머리를 쓰면 계산을 아낀다” 사례다.