뉴턴법은 접선으로 뿌리를 쫓는다
방정식 f(x)=0 의 뿌리를 어떻게 찾을까요. 깔끔한 공식이 없을 때가 대부분이에요. 뉴턴의 답은 우아해요. 지금 점에서 곡선에 접선을 긋고, 그 직선이 x축과 만나는 곳을 다음 추정값으로 삼는 거예요. 곡선은 어려워도 직선은 쉽게 0 을 찾으니까요. 식으로는 xn+1=xn - f(xn)/f'(xn). 이걸 반복하면 추정값이 뿌리로 미끄러져 내려가요. 잘 되면 무섭게 빨라요. 매 걸음 정확한 자릿수가 대략 두 배로 늘어요. 2차 수렴이라 부르죠. 하지만 만능은 아니에요. 기울기가 평평한 곳에선 접선이 추정값을 멀리 던지고, 곡선이 까다로우면 두 점을 맴돌거나 영영 발산해요. 시작점이 조금만 달라도 다른 뿌리로 떨어지기도 하죠. 그래도 안전한 이분법과 나란히 두면, 뉴턴의 속도가 얼마나 압도적인지 한눈에 보여요.
회색 곡선은 f(x)=x²-2, 그 뿌리는 √2≈1.414 예요. 시작 x0 를 슬라이더로 정한 뒤 한 걸음 버튼을 눌러 보세요. 현재 점에서 금색 접선이 그어지고, 그 접선이 x축과 만나는 곳(작은 원)이 다음 추정값이 돼요. 누를 때마다 점이 뿌리로 미끄러져 내려가고, 아래 f(x) 가 0 에 가까워져요. 곡선 대신 쉬운 직선의 0 을 따라가는 게 핵심이에요. 되돌리기로 처음부터 다시 볼 수 있어요.
같은 식의 오차를 로그 막대로 봐요. 막대 하나가 한 걸음 뒤의 |xn - √2| 예요. 로그 스케일이라 짧을수록 정확하고, 바닥에 닿으면 거의 완벽이에요. x0 슬라이더를 움직여 보세요. 시작이 어디든 막대가 몇 걸음 만에 절벽처럼 떨어져요. 매 걸음 오차가 대략 제곱되기 때문이에요. 오차 0.1 이 0.01 이 아니라 0.01 의 제곱급으로 줄어드는 셈이죠. 리드아웃의 정확 자릿수가 걸음마다 배로 뛰는 게 2차 수렴이에요.
빠르다고 늘 안전한 건 아니에요. 세 가지 실패를 골라 보세요. 튕겨남은 x0 가 0 에 가까워 f'(x)≈0 일 때, 접선이 거의 수평이라 추정값을 화면 밖으로 던져요. 순환은 f=x³-2x+2 를 0 에서 시작하면 0 과 1 을 영원히 오가며 뿌리에 닿지 못해요. 발산은 arctan 처럼 멀리서 평평해지는 곡선에서 걸음이 점점 커지며 멀어져요. 접선 화살표가 어떻게 빗나가는지 보세요. 그래서 뉴턴은 좋은 시작점과 안전장치가 필요해요.
이제 f=x³-x 예요. 뿌리가 -1, 0, +1 셋이죠. 슬라이더로 시작 x0 를 옮기면 뉴턴이 어느 뿌리로 떨어지는지 색으로 알려줘요. 초록은 -1, 금색은 0, 파랑은 +1, 회색은 발산이에요. 띠 전체가 각 시작점의 운명을 칠한 지도예요. 가운데 근처는 깔끔하게 0 으로 가지만 ±1/√5 부근에선 색이 머리카락처럼 잘게 얽혀요. 거기선 시작점을 아주 조금만 옮겨도 떨어지는 뿌리가 바뀌어요. 같은 규칙이 이렇게 섬세한 경계를 만든다는 게 놀랍죠.
마지막으로 속도를 견줘요. f=x²-2 를 [1,2] 에서 풀되, 한 걸음 버튼 하나가 뉴턴(금색, x0=2)과 이분법(파랑, 구간 [1,2])을 동시에 전진시켜요. 이분법은 부호가 바뀌는 절반을 매번 골라 구간을 반씩 줄여요. 안전하지만 한 걸음에 자릿수 약 0.3 개씩 더디게 늘죠. 뉴턴은 같은 걸음 수에 오차가 곤두박질쳐요. 리드아웃의 두 오차를 비교해 보세요. 서너 걸음 만에 뉴턴이 이분법을 까마득히 앞질러요. 안전성은 이분법, 속도는 뉴턴. 실전에선 둘을 섞어 써요.