1. 개요[편집]
테일러 급수(Taylor series)는 충분히 매끄러운 함수를 한 점 근방에서 그 점의 함숫값과 미분값들로 이루어진 다항식(멱급수)으로 전개하는 방법이다. 함수 가 점 에서 무한히 미분 가능하면
로 쓴다. 인 특수한 경우를 매클로린 급수(Maclaurin series)라 부른다. 한마디로 “복잡한 함수를 그 자리에서 다항식으로 근사하는 만능 도구”이고, 이 단순한 아이디어가 수치미분·수치적분·유한차분법·뉴턴-랩슨법까지 수치해석 거의 전부의 이론적 토대가 된다.1
미분을 안다는 건 결국 그 점 근처에서 함수가 어떻게 생겼는지를 안다는 것이고, 테일러 급수는 그 “어떻게”를 항 하나하나로 풀어 쓴 설계도다. 1차항까지 자르면 접선(선형 근사), 2차항까지 자르면 접하는 포물선(2차 근사)이 된다.
2. 절단오차와 나머지항[편집]
현실의 컴퓨터는 무한급수를 다 더할 수 없으니 어딘가에서 자른다. 차항까지 남기고 그 뒤를 버리는 것을 절단(truncation)이라 하고, 버려진 부분이 곧 절단오차(truncation error)다. 이 오차를 정확히 기술하는 것이 테일러 정리의 나머지항(remainder)이다. 라그랑주 형태로 쓰면 어떤 에 대해
이다. 핵심은 나머지항이 에 비례한다는 것. 그래서 전개점에 가까울수록(가 작을수록) 근사가 급격히 좋아진다. 이 성질을 보통 빅오 표기로 압축해서, 스텝 크기 에 대해 오차가 이라고 쓴다.
수치해석에서 “이 도식은 2차 정확도(second-order accurate)다”라는 말은 바로 여기서 나온다. 오차가 이라는 뜻이고, 를 절반으로 줄이면 오차가 4분의 1로 준다는 실전적 약속이다. 격자만 촘촘히 하면 답이 좋아진다는 믿음의 수학적 근거가 이 나머지항 하나에 담겨 있다.
3. 수렴반경과 배신하는 함수들[편집]
테일러 급수가 항상 원래 함수로 수렴하는 것은 아니다. 급수가 수렴하는 구간의 반지름을 수렴반경(radius of convergence)이라 하는데, 이 밖에서는 아무리 항을 더해도 발산한다. 의 매클로린 급수가 에서만 수렴하는 것이 대표적인 예다.
더 얄궂은 경우도 있다. 매끄럽다고 무조건 안심하면 안 된다. 고전적인 반례가 ()인데, 이 함수는 원점에서 모든 계도함수가 0이라 매클로린 급수가 항등적으로 0이 되어버린다. 함수는 멀쩡히 살아 있는데 급수는 원점 말고는 어디서도 함수를 재현하지 못한다.2 이런 함수를 “해석적이지 않다”고 하며, 실함수 세계의 은근한 지뢰다.
이 이야기의 교훈. 테일러 근사는 국소적이다. 전개점 근처에서는 잘 맞지만 멀어지면 배신한다. 함수를 넓은 구간에서 다항식으로 다루고 싶다면 테일러가 아니라 보간과 근사의 체비쇼프 전개 같은 도구가 낫다.
4. 유한차분법의 뿌리[편집]
유한차분법의 모든 공식은 테일러 급수를 몇 번 전개하고 요령껏 조합해서 나온다. 와 를 각각 전개해 보자.
두 식을 빼면 짝수차항이 상쇄되어 중심차분(central difference)이 나온다.
두 식을 더하면 홀수차항이 상쇄되어 2계도함수의 근사가 나온다.
한쪽만 전개해서 자르면 오차 짜리 전진/후진 차분이 된다. 즉 “어느 항을 남기고 어느 항을 지우느냐”의 선택이 곧 도식의 정확도 차수를 결정한다. 더 높은 차수를 원하면 여러 점의 전개를 연립해 절단오차의 주항을 소거하는데, 이 조직적 소거 기법이 수치미분의 리처드슨 외삽(Richardson extrapolation)이다.3
5. 뉴턴-랩슨법과 최적화[편집]
뉴턴-랩슨법도 테일러 급수의 자식이다. 의 근을 찾을 때, 현재 추정값 근처에서 를 1차까지 전개한다.
이 선형 근사를 0으로 놓고 에 대해 풀면 그 유명한 갱신식 이 곧바로 튀어나온다. 다변수로 확장하면 자리에 자코비안 행렬이 들어간다. 뉴턴법이 근 근처에서 2차 수렴(반복마다 정확한 자릿수가 대략 2배)하는 이유도, 버린 것이 2차항 이상이라 오차가 제곱으로 줄기 때문이다.
최적화에서는 한 항 더 챙긴다. 함수를 2차까지 전개하면 헤세 행렬(Hessian)이 등장하고, 이 2차 근사의 극값을 찾는 것이 뉴턴형 최적화 알고리즘의 골자다. 요컨대 “근처를 다항식으로 근사하고 그 다항식의 답을 정답으로 삼는다”는 발상이 근 찾기와 최적화를 관통하는 하나의 정신이다.
6. 실전에서의 감각[편집]
- 차수와 스텝의 줄다리기. 절단오차는 를 줄일수록 작아지지만, 무작정 줄이면 이번엔 부동소수점 연산의 반올림오차가 커진다. 특히 수치미분의 는 가까운 두 수의 뺄셈이라 자리수 손실(catastrophic cancellation)의 온상이다. 그래서 최적 스텝 크기가 존재하며, 이걸 무시하고 를 극단적으로 줄이면 오히려 답이 나빠진다.
- 몇 항이면 충분한가. 실용 함수 라이브러리도 내부적으로 테일러/근사 다항식을 쓰지만, 수렴이 느린 구간에서는 급수 대신 유리함수 근사(파데 근사)나 논변수 축소(argument reduction)를 병행한다. “그냥 항 많이 더하면 되지”는 순진한 생각이다.
- 오차 차수를 신뢰하되 검증하라. 도식이 이라 주장하면, 를 반씩 줄여가며 오차가 정말 4배씩 주는지 확인하는 격자 수렴 연구(grid convergence study)가 검증 및 확인의 기본기다. 이론 차수와 관측 차수가 어긋나면 코드에 버그가 있다는 강력한 신호다.
7. 관련 문서[편집]
8. Footnotes[편집]
-
“미적분에서 배운 것 중 실무에서 제일 자주 써먹는 게 뭐냐”고 물으면 수치해석 하는 사람들은 대체로 테일러 급수라고 답한다. 나머지는 다 이걸 위한 빌드업이었다는 우스갯소리가 있다. ↩
-
이 함수는 “매끄럽지만(smooth) 해석적이지 않은(non-analytic)” 함수의 표준 예시다. 실해석과 복소해석의 결정적 차이가 여기서 갈린다. 복소평면에서는 이런 배신이 불가능하고, 미분 한 번 가능하면 무한히 가능하고 급수도 수렴한다. ↩
-
리처드슨 외삽은 서로 다른 스텝 크기의 근사를 영리하게 조합해 절단오차의 주항을 소거하는 기법이다. 오차의 의존성을 알고 있다는 사실 하나만으로 공짜로 정확도를 끌어올리는, 수치해석계의 대표적 “머리를 쓰면 계산을 아낀다” 사례다. ↩