미적분 · 뉴턴법

뉴턴법

뉴턴법은 한 단계를 반복해 f의 근을 근사합니다. 추정값 xₙ에서 (xₙ, f(xₙ))의 접선을 구하고, x축과 만나는 점을 다음 추정값으로 삼습니다. 시작점을 끌어 빠르게 수렴하거나 주기를 돌거나 멀어지는 모습을 보세요.

이 시각화의 뉴턴법

뉴턴법은 f(r)=0f(r) = 0을 만족하는 수 r, 즉 f의 근을 한 단계를 반복해 근사합니다. 현재 추정값 xnx_n에서 그래프의 (xn,f(xn))(x_n, f(x_n)) 지점에 접선을 그으면 L(x)=f(xn)+f′(xn)(x−xn)L(x) = f(x_n) + f'(x_n)(x - x_n)입니다. xnx_n 근처에서 접선은 곡선과 가깝게 유지되므로, 접선이 x축과 만나는 위치는 곡선의 교점을 더 잘 추정합니다. L(x)=0L(x) = 0을 풀면 다음 추정값을 얻습니다. 그래프의 각 단계는 xnx_n에서 희미한 점선을 따라 곡선으로 간 뒤, 접선을 따라 축으로 갑니다.

뉴턴법의 한 단계, f′(xₙ) ≠ 0일 때 정의됩니다
xn+1=xn−f(xn)f′(xn)x_{n+1} = x_n - \frac{f(x_n)}{f'(x_n)}

오차를 en=xn−re_n = x_n - r이라고 합시다. r이 단순근이고(f′(r)≠0f'(r) \ne 0), f의 이계도함수가 연속이면 xnx_n이 r에 가까워질 때 단계의 테일러 전개는 en+1≈f′′(r)2f′(r) en2e_{n+1} \approx \frac{f''(r)}{2f'(r)}\,e_n^2를 줍니다. 오차를 제곱하면 정확한 자릿수가 대략 두 배가 됩니다. x² − 2를 x₀ = 1에서 시작하면 오차는 0.086, 0.0025, 2.1 × 10⁻⁶, 1.6 × 10⁻¹²이고, 표시값은 en/en−12e_n/e_{n-1}^2이 1/(22)≈0.3541/(2\sqrt2) \approx 0.354에 가까워지는 것을 보여줍니다. 근에서 멀리 떨어져 있으면 이런 보장은 없습니다. f′′(r)=0f''(r) = 0이면 이차항이 사라져 더 빨라집니다. arctan x의 오차는 약 −23en3-\tfrac23 e_n^3로, 단계마다 이전 오차의 세제곱에 비례합니다.

다음 단계에는 f′(xn)≠0f'(x_n) \ne 0이 필요합니다. 수평인 접선은 축과 만나지 않고, 거의 수평인 접선은 축과 멀리서 만납니다. x² − 2를 0.1에서 시작하면 첫 단계는 10.05에 닿습니다. 멀리 벗어나지 않아도 방법이 실패할 수 있습니다. x³ − 2x + 2에서 0의 접선은 1에 닿고, 1의 접선은 다시 0에 닿으며, 0에 가까운 시작점도 이 주기로 끌려갑니다. 수열은 유계이지만 극한이 없습니다. arctan x에는 2α=(1+α2)arctan⁡α2\alpha = (1 + \alpha^2)\arctan\alpha을 만족하는 경계 α ≈ 1.3917이 있습니다. |x₀| < α인 시작점은 수렴하고, 경계 밖의 시작점은 매번 반대쪽의 더 먼 점에 닿습니다. ‘모든 시작점’은 각 시작점의 결과에 따라 x축을 색칠합니다. x³ − 2x + 2에서는 [−3, 3]의 약 5분의 1이 주기로 들어가며, 접선이 수평인 ±2/3\pm\sqrt{2/3} 쪽으로 몰리는 좁은 띠도 포함됩니다. 복소수에서 시작하면 이 띠들은 뉴턴 프랙털이 됩니다.

중근에서는 f′(r)=0f'(r) = 0도 성립하여 이차 수렴이 사라집니다. (x−1)2(x - 1)^2의 단계는 정확히 xn+1=(xn+1)/2x_{n+1} = (x_n + 1)/2이므로 오차가 단계마다 절반이 됩니다. 이는 선형 수렴으로, 정확한 소수 자릿수가 하나 늘 때마다 약 3.3단계가 필요합니다. 중복도가 m인 근의 근처에서 비율 en+1/ene_{n+1}/e_n은 (m−1)/m(m - 1)/m로 갑니다.

살펴볼 점

  • 뉴턴은 1669년에 x3−2x−5=0x^3 - 2x - 5 = 0을 다뤘습니다. 2에서 시작하면 오늘날의 방법은 2.1, 2.0945681, 2.0945514817을 주며, 세 단계 뒤 소수점 아래 아홉 자리까지 정확합니다.
  • f(x)=x2−af(x) = x^2 - a의 단계는 xn+1=12(xn+a/xn)x_{n+1} = \tfrac12\left(x_n + a/x_n\right)입니다. 추정값과 a를 그 추정값으로 나눈 수의 평균을 취하는 오래된 제곱근 계산법입니다.

조작

  • 파란 점 x₀을 x축을 따라 끌거나, 축을 눌러 그곳에 놓으세요. 0.5의 배수에 걸려 멈춥니다.
  • n을 설정해 해당 단계 수를 표시하거나, n → ∞를 눌러 n = 10까지 진행하세요. 기록은 각 xₙ과 오차를 보관하며, 근이나 수평 접선에 도달하거나 10⁶을 넘으면 일찍 멈춥니다.
  • ‘모든 시작점’을 켜서 각 시작점의 결과에 따라 x축을 색칠하세요.

관련 개념