뉴턴-랩슨 방법 근 찾기 쉽게 이해하기 — 개념과 원리
뉴턴-랩슨 방법은 방정식 p(x) = 0의 근, 즉 함수의 그래프가 x축과 만나는 점을 처음 추정값에서 시작해 반복적으로 개선하며 찾는 방법입니다. 이 계산기는 최고차항부터 계수를 입력한 다항식에 이 방법을 적용합니다. "1 0 -2"는 x² − 2를 뜻합니다. 근의 공식이 없거나 복잡할 때 쓰는 대표적인 수치해석 방법으로, 공학 소프트웨어와 최적화 프로그램 내부에서도 널리 쓰입니다.
계산 방법
- 입력한 시작값 x₀에서 출발합니다.
- xₙ₊₁ = xₙ − p(xₙ) ÷ p′(xₙ)를 반복합니다. p′은 다항식의 도함수입니다.
- 한 단계의 변화가 10⁻¹³보다 작아지거나, p′(xₙ) = 0이 되거나, 100회를 반복하면 멈춥니다.
p와 p′은 호너의 방법으로 계산하며, 근과 반복 횟수, 검산용 p(근)을 함께 보여 줍니다.
원리
매끄러운 곡선은 한 점 가까이에서 접선과 거의 같습니다. xₙ에서의 접선은 기울기가 p′(xₙ)이고 x축과 xₙ − p(xₙ) ÷ p′(xₙ)에서 만납니다. 이 교점은 보통 xₙ보다 실제 근에 훨씬 가까우므로 다음 추정값으로 씁니다. 단순근 근처에서는 2차 수렴을 하여 맞는 자릿수가 단계마다 대략 두 배로 늘어납니다.
예제 풀이
- 기본 입력값은 계수 1 0 −2(p(x) = x² − 2, p′(x) = 2x), 시작값 x₀ = 1입니다.
- x₁ = 1 − (1 − 2) ÷ 2 = 1.5입니다.
- x₂ = 1.5 − 0.25 ÷ 3 = 1.4166667입니다.
- x₃ = 1.4142157, x₄ = 1.41421356237469, x₅ = 1.41421356237310이며 오차는 약 0.086 → 0.0025 → 2 × 10⁻⁶ → 1.6 × 10⁻¹²로 줄어듭니다.
- 6번째 단계의 x₆ = 1.414213562373095는 변화가 10⁻¹³보다 작아 여기서 멈추며, 이 단계까지 모두 셉니다. 결과는 근 1.414213562(√2), 반복 6회, p(근) = −4.440892e-16입니다.
결과 해석
p(근)은 0에 가까워야 합니다. −4.4 × 10⁻¹⁶ 정도는 부동소수점 반올림 오차일 뿐이며, 근은 유효숫자 약 15자리까지 정확합니다. p(근)이 0과 많이 다르거나 반복 횟수가 100이면 그 시작값에서는 수렴하지 않은 것입니다. 다항식에 근이 여러 개 있으면 시작값에 따라 다른 근이 나오므로 시작값을 바꿔 가며 찾습니다.
흔한 실수
- 0인 계수를 빼먹는 실수입니다. x² − 2는 1 −2가 아니라 1 0 −2로 입력해야 합니다.
- x² − 2에서 x₀ = 0처럼 p′(x) = 0인 점에서 시작하는 경우로, 접선이 수평이라 진행할 수 없습니다.
- 실수 시작값으로 허근을 기대하는 경우입니다.
자주 묻는 질문
다항식의 모든 근은 어떻게 찾나요?
여러 시작값으로 반복해 보거나, 먼저 그래프를 그려 x축과 만나는 위치를 대략 확인합니다.
뉴턴 방법은 왜 이렇게 빠른가요?
다음 단계의 오차가 현재 오차의 제곱에 비례하기 때문에 10⁻³이 10⁻⁶, 다시 10⁻¹²로 줄어듭니다.
이분법과 비교하면 어떤가요?
이분법은 부호가 바뀌는 구간을 반씩 줄여 항상 수렴하지만, 한 단계에 이진 자릿수 하나 정도만 정확해집니다.
출처: Burden, R. L., Faires, J. D., Numerical Analysis, Chapter 2 · Press, W. H., et al., Numerical Recipes, 3rd ed., §9.4