1. 개요[편집]
절단오차(truncation error)는 무한급수나 연속적인 수학 연산을 유한 개의 항 또는 이산적인 근사로 “잘라내면서(truncate)” 생기는 오차다. 테일러 급수를 어느 항에서 끊거나, 미분·적분 같은 극한 연산을 유한한 차분·합으로 바꿀 때 필연적으로 따라온다. 수치해석에서 오차는 크게 절단오차와 반올림 오차(round-off error) 둘로 나뉘는데, 절단오차는 알고리즘이 근본적으로 근사라서 생기는 것이지 컴퓨터의 유한 자릿수 탓이 아니다.1
쉽게 말해 “수학을 컴퓨터가 삼킬 수 있게 잘게 썰면서 흘린 부스러기”다. 격자를 촘촘히 하면 부스러기가 줄지만 공짜는 아니다 — 계산량이 늘고, 너무 촘촘히 하면 이번엔 반올림 오차가 고개를 든다.
2. 테일러 전개가 범인이자 해결사[편집]
절단오차의 정체를 가장 선명하게 보여주는 건 테일러 급수다. 매끄러운 함수 를 점 주위에서 전개하면
이다. 여기서 1차 항까지만 남기고 나머지를 버리면, 버려진 꼬리 가 바로 절단오차다. 라그랑주 나머지항(Lagrange remainder) 형태로 쓰면 어떤 에 대해
로 정확히 표현된다. 즉 절단오차는 “미지의 점에서의 고차 도함수 × 의 거듭제곱”이다. 이 구조가 수치해석의 거의 모든 오차 분석의 뼈대가 된다.
3. 전진차분으로 본 실전 예[편집]
1차 도함수를 전진차분(forward difference)으로 근사해 보자. 위 전개를 로 나누고 정리하면
우변의 분수가 우리가 실제로 계산하는 근사값이고, 뒤의 가 절단오차다. 오차가 에 비례하므로 이 도식은 1차 정확도(first-order accurate), 즉 라고 한다. 반면 중심차분(central difference)
는 대칭성 덕분에 항이 소거되어 , 2차 정확도가 된다. 같은 두 점 사이 정보를 대칭으로 쓰기만 해도 오차 차수가 한 단계 올라가니, 공짜 점심에 가깝다.2 이 관계는 유한차분법과 수치미분의 출발점이다.
4. 국소 절단오차 vs 전역 절단오차[편집]
시간 적분처럼 오차가 누적되는 문제에서는 두 종류의 절단오차를 구별해야 한다.
- 국소 절단오차(local truncation error, LTE): 딱 한 스텝만 진행할 때, 정확한 해를 넣었다고 가정하고 생기는 오차. 룽게-쿠타법이나 오일러법 한 걸음의 “순간 실수”다.
- 전역 절단오차(global truncation error, GTE): 여러 스텝을 밟아 최종 시각에 도달했을 때 쌓인 총오차. 보통 국소 오차보다 차수가 하나 낮다.
예를 들어 전진 오일러법은 스텝당 국소 오차가 이지만, 구간을 도는 스텝 수가 개라서 곱하면 전역 오차는 로 떨어진다. “한 걸음의 실수는 작지만 만 걸음이면 티가 난다”는 것. 그래서 방법의 차수(order)를 말할 때는 보통 전역 차수를 가리킨다.3
5. 차수(order)와 격자 세분화[편집]
방법의 차수 는 절단오차가 일 때의 다. 차수가 높을수록 격자를 조금만 조밀하게 해도 오차가 급격히 준다. 인 방법은 를 반으로 줄이면 오차가 1/4로, 면 1/16으로 준다. 이 관계는 리처드슨 외삽법이나 격자 수렴 지수로 오차를 추정하고 검증하는 근거가 된다 — 격자를 체계적으로 줄여가며 관찰된 수렴률이 이론 차수 와 맞는지 확인하는 것이 검증 및 확인의 핵심 절차다.
절단오차가 와 함께 어떤 기울기로 줄어드는지 — 그리고 어디서 배신하는지 — 는 직접 재보는 게 제일 빠르다.
여기서 놓치면 안 되는 함정. 절단오차를 줄이겠다고 를 무한정 줄이면, 명시적 도식에서는 CFL 조건 때문에 시간 간격도 같이 줄여야 해서 계산량이 폭증하고, 어느 지점을 넘어서면 이번엔 반올림 오차가 절단오차를 역전한다. 총오차 곡선은 U자를 그리며, 그 바닥에 최적 가 있다. “촘촘할수록 좋다”는 순진한 믿음이 배신당하는 지점이다.4
6. 절단오차를 줄이는 무기들[편집]
- 고차 도식: 차수 를 올린다. 다만 고차 도식은 진동에 약하고 불연속에서 오버슈트를 일으키기 쉽다(수치 소산과 분산 참고).
- 격자 세분화: 오차가 큰 곳만 국소적으로 촘촘히 하는 적응 격자 세분화가 효율적이다.
- 외삽: 리처드슨 외삽법으로 두 격자 해를 조합해 최저차항을 소거한다. 롬베르그 적분이 이 아이디어의 적분판이다.
- 수정 방정식 분석: 이산식이 실제로 푸는 방정식을 역으로 유도해(수정 방정식), 절단오차가 어떤 물리적 오차(인위적 확산·분산)로 나타나는지 파악한다.
결국 절단오차는 없앨 수 없고 관리하는 대상이다. 얼마나 큰지 알고, 격자·차수·비용의 삼각형에서 타협점을 찾는 것 — 그게 수치해석 엔지니어의 일이다.
7. 관련 문서[편집]
8. Footnotes[편집]
-
이 둘을 헷갈리면 디버깅이 미궁에 빠진다. 절단오차는 를 줄이면 준다. 반올림 오차는 를 줄이면 오히려 는다(작은 수끼리 빼면서 유효숫자가 날아가서). 오차가 격자를 줄여도 안 줄면 반올림을 의심하라. ↩
-
물론 진짜 공짜는 아니다. 중심차분은 경계 근처에서 한쪽 점이 도메인 밖으로 나가는 문제가 있다. 세상에 공짜 점심은 없고, 다만 청구서가 나중에 온다. ↩
-
“국소적으로는 우등생인데 누적되니 낙제”라는 서사는 수치적분(오일러)의 숙명이다. 그래서 실전에서는 국소 오차가 아무리 예뻐도 전역 차수로 줄을 세운다. ↩
-
이 U자 곡선을 모르고 “격자 무한정 조밀화”에 매달리다 오히려 오차가 커지는 걸 보고 멘붕에 빠지는 게 수치해석 입문자의 통과의례다. 총오차 = 절단 + 반올림, 둘의 합에 최적점이 있다. ↩