수치미분

편집 역사 토론
수치해석 마지막 수정: 2026-07-10 04:52:18

1. 개요[편집]

수치미분(numerical differentiation)은 함수의 도함수를 해석적으로 구하지 않고, 몇 개의 함숫값을 조합해 근사적으로 계산하는 방법이다. 미분의 정의 f(x)=limh0f(x+h)f(x)hf'(x) = \lim_{h\to 0}\frac{f(x+h)-f(x)}{h}에서 극한을 유한한 스텝 hh로 바꿔치기한 것이 출발점이다. 함수의 수식이 없고 데이터만 있거나, 미분이 손으로 구하기엔 지나치게 더러울 때 요긴하다.

말은 쉬운데 실제로는 수치해석에서 손꼽히게 까다로운 주제다. 적분(수치적분)은 오차가 잘 상쇄되며 얌전한 반면, 미분은 데이터의 잡음을 증폭시키는 고약한 연산이기 때문이다. “적분은 신사, 미분은 양아치”라는 말이 괜히 있는 게 아니다.1 그럼에도 유한차분법 기반의 수치해석 전 분야가 이 근사에 기대고 있다.

2. 전진·후진·중심 차분[편집]

가장 기본적인 세 가지 차분 도식은 다음과 같다. 테일러 전개로 유도하며, 괄호 안은 절단오차(truncation error)의 차수다.

  • 전진차분(forward difference):
f(x)f(x+h)f(x)hO(h)f'(x) \approx \frac{f(x+h) - f(x)}{h} \quad O(h)
  • 후진차분(backward difference):
f(x)f(x)f(xh)hO(h)f'(x) \approx \frac{f(x) - f(x-h)}{h} \quad O(h)
  • 중심차분(central difference):
f(x)f(x+h)f(xh)2hO(h2)f'(x) \approx \frac{f(x+h) - f(x-h)}{2h} \quad O(h^2)

전진·후진은 1차 정확도인 반면, 중심차분은 테일러 전개에서 짝수 항이 절묘하게 상쇄되어 2차 정확도를 공짜로 얻는다.2 그래서 내부 격자점에서는 중심차분이 국룰이고, 경계에서는 한쪽 데이터밖에 없으니 어쩔 수 없이 편측(one-sided) 차분을 쓴다. 2계 도함수도 마찬가지로 세 점을 조합해 근사한다.

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

이 2계 중심차분이 바로 라플라스 방정식포아송 방정식의 이산화에서 튀어나오는 그 스텐실의 정체다.

3. 오차와 라운드오프의 트레이드오프[편집]

수치미분의 핵심 딜레마는 여기다. 스텝 hh를 줄이면 절단오차는 작아지지만, 대신 라운드오프 오차(round-off error)가 커진다. 분자 f(x+h)f(x)f(x+h)-f(x)에서 거의 같은 두 수를 빼는 자릿수 소실(catastrophic cancellation)이 일어나고, 이걸 작은 hh로 나누면서 오차가 증폭되기 때문이다.

전체 오차를 대략 쓰면 다음 꼴이 된다(ε\varepsilon은 기계 정밀도).

E(h)Chp절단+εh라운드오프E(h) \approx \underbrace{C h^p}_{\text{절단}} + \underbrace{\frac{\varepsilon}{h}}_{\text{라운드오프}}

hh가 크면 앞 항이, 작으면 뒤 항이 지배한다. 둘의 합을 최소화하는 최적 hh가 어중간한 지점에 존재한다.3 즉 “hh를 무작정 0에 가깝게 하면 정확해진다”는 순진한 기대는 부동소수점 세계에서 배신당한다. 중심차분의 경우 최적 스텝은 대략 hε1/3h \sim \varepsilon^{1/3} 언저리(배정밀도에서 10510^{-5} 수준)로, 흔히 상상하는 것보다 훨씬 크다.

4. 리처드슨 외삽[편집]

정확도를 끌어올리는 우아한 방법이 리처드슨 외삽(Richardson extrapolation)이다. 서로 다른 스텝(hhh/2h/2)으로 계산한 두 근사값을 선형결합해 낮은 차수의 오차 항을 소거하는 기법이다. 중심차분(O(h2)O(h^2)) 결과를 D(h)D(h)라 하면,

Dnew=4D(h/2)D(h)3D_{\text{new}} = \frac{4D(h/2) - D(h)}{3}

이렇게 하면 O(h2)O(h^2) 오차가 사라지고 O(h4)O(h^4) 정확도로 껑충 뛴다. 계산은 두 배 들지만 정확도는 차수째 올라가니 가성비가 좋다. 이걸 반복 적용하는 것이 수치적분의 롬베르그(Romberg) 적분과 같은 아이디어다.4 공짜 점심은 없다지만, 리처드슨 외삽은 거의 반값 점심 수준의 혜자다.

5. 복소수 스텝 미분[편집]

라운드오프의 저주를 통째로 우회하는 마법 같은 기법이 복소수 스텝 미분(complex-step differentiation)이다. 실수 hh 대신 순허수 스텝 ihih를 넣고 테일러 전개하면,

f(x)Im ⁣[f(x+ih)]hf'(x) \approx \frac{\operatorname{Im}\!\left[f(x + ih)\right]}{h}

가 된다. 핵심은 뺄셈이 없다는 것이다. 자릿수 소실이 아예 발생하지 않으므로 hh1020010^{-200}처럼 극단적으로 작게 잡아도 정확도가 무너지지 않고, 사실상 해석적 미분에 육박하는 정밀도를 얻는다.5 대가라면 함수가 복소수 인자를 받아들일 수 있게 짜여 있어야 한다는 것. 요즘은 여기서 한 발 더 나아가, 뺄셈 자체를 없애고 도함수를 정확히 전파하는 자동미분(automatic differentiation)이 머신러닝의 역전파를 떠받치는 표준이 되었다.

6. 고차 스텐실과 격자에서의 미분[편집]

정확도가 더 필요하면 더 많은 점을 끌어모아 스텐실을 넓히면 된다. 다섯 점을 조합한 4차 정확도 중심차분은 다음과 같다.

f(x)f(x+2h)+8f(x+h)8f(xh)+f(x2h)12hO(h4)f'(x) \approx \frac{-f(x+2h) + 8f(x+h) - 8f(x-h) + f(x-2h)}{12h} \quad O(h^4)

점을 늘릴수록 절단오차 차수는 올라가지만, 그만큼 경계 근처에서 쓸 수 있는 점이 부족해지고 계산 스텐실이 커진다는 대가가 따른다. 이 계수들은 결국 여러 점을 지나는 다항식을 세워 미분하는 보간과 근사의 문제로 환원되며, 임의의 점 배치에 대한 차분 계수를 뽑아주는 파넬(Fornberg) 알고리즘이 널리 쓰인다.

수치미분이 실제로 가장 많이 소비되는 곳은 유한차분법 기반의 편미분방정식 풀이다. 시공간 격자 위에서 도함수를 차분으로 바꾸는 순간, 그 방정식은 컴퓨터가 씹을 수 있는 대수방정식이 된다. 다만 이류(convection) 항처럼 방향성이 중요한 항에서는 순진한 중심차분이 진동을 일으켜서, 상류차분(upwind)이나 TVD 같은 차분 도식으로 정확도와 안정성 사이를 저울질하게 된다.6

7. 관련 문서[편집]

8. Footnotes[편집]

  1. 적분은 함숫값을 평균 내는 연산이라 국소 오차나 잡음이 서로 상쇄되며 매끄러워진다. 반면 미분은 근처 값의 차이를 확대하는 연산이라 잡음을 그대로, 아니 더 크게 증폭한다. 노이즈 낀 실험 데이터를 그냥 미분하면 지옥을 보게 된다.

  2. 테일러 전개에서 f(x+h)f(x+h)f(xh)f(x-h)를 빼면 짝수차 항(h2,h4,h^2, h^4, \dots의 계수를 공유하는 항)이 소거되고 홀수차만 남는다. 이 대칭성 덕에 1차 오차 항이 통째로 날아가 2차 정확도가 공짜로 굴러 들어온다. 대칭은 언제나 옳다.

  3. 이 트레이드오프 곡선은 로그-로그 스케일에서 예쁜 V자를 그린다. 왼쪽 벽은 라운드오프, 오른쪽 벽은 절단오차. 바닥이 최적점이다. 수치미분을 처음 코딩한 사람이라면 hh를 줄일수록 오차가 커지는 왼쪽 벽을 보고 당황하는 통과의례를 거친다.

  4. 리처드슨 외삽이 성립하려면 오차가 hh의 거듭제곱으로 깔끔하게 전개된다는 가정이 필요하다. 이 가정이 깨지는(예: 함수가 미분 불가능한 점 근처) 경우엔 외삽이 오히려 헛짚을 수 있으니 만능은 아니다.

  5. 1998년 스콰이어와 트랩(Squire & Trapp)이 정리한 이 기법은 CFD 코드의 민감도 해석이나 야코비안 계산에서 조용히 애용된다. 코드 한 줄만 복소수로 바꾸면 되니, 유한차분으로 끙끙대던 엔지니어에게는 거의 사기 아이템 취급이다.

  6. 중심차분은 정확도는 높지만 이류 지배 문제에서 격자 진동(wiggle)을 만들어 해를 오염시킨다. 반대로 상류차분은 얌전하지만 수치확산(numerical diffusion)으로 해를 뭉갠다. 정확도와 안정성은 좀처럼 둘 다 가질 수 없는, 수치해석의 영원한 트레이드오프다.