나뭇잎 교과서

뉴턴의 방법

근의 공식이 없는 방정식도 근을 원하는 만큼 정확히 구할 수 있습니다. 곡선 대신 접선이 \(x\)축과 만나는 곳을 구하고, 그 점에서 다시 접선을 긋는 일을 되풀이하면 됩니다. 이것이 뉴턴의 방법입니다. 이 절에서는 접선을 따라 근으로 다가가며 맞는 자릿수가 두 배씩 늘어나는 것을 확인하고, 계산기가 제곱근을 구하는 원리를 이분법과 겨루어 보고, 뉴턴의 방법이 엉뚱한 근으로 가는 경우를 예측해 봅니다.

본문

뉴턴의 방법

본문

\(\sqrt2\)는 방정식 \(x^2 - 2 = 0\)의 양의 근이다. 처음 값을 1로 잡고 "\(x\)와 \(2/x\)의 평균"을 다음 값으로 삼는 계산을 되풀이하면 1.5, 1.41667, 1.414216이 차례로 나오는데, 세 번째 값이 이미 \(\sqrt2 = 1.4142136\cdots\)과 소수 다섯째 자리까지 같다. 이 간단한 규칙은 어디서 나왔을까? 곡선의 접선을 따라 \(x\)축까지 내려가는 일과 무슨 관계가 있을까? 그리고 어떤 방정식에서나 이렇게 빨리 근에 닿을까?

x₀ = 1 x₁ = 1.5 √2 y = x² − 2
그림 1. \(x_0 = 1\)에서 그은 접선이 \(x\)축과 만나는 점이 \(x_1 = 1.5\)이고, 거기서 다시 접선을 그어 \(x_2\)를 얻는다. 그림은 크기를 과장했다.
먼저 알아야 할 것접선의 기울기, 미분계수의 기하적 의미, 사잇값 정리, 수열의 귀납적 정의.

1.1.1접선이 \(x\)축과 만나는 점

곡선 \(y = f(x)\)가 \(x\)축과 만나는 점을 직접 구하기 어려우면, 근 근처의 한 점 \(x_n\)에서 곡선 대신 접선을 쓴다. 접선은 \(y = f(x_n) + f'(x_n)(x - x_n)\)이고, 이 직선이 \(x\)축과 만나는 점은 \(y = 0\)을 넣어 쉽게 구한다. 곡선이 근 근처에서 접선과 거의 같다면, 접선의 \(x\)절편은 \(x_n\)보다 근에 더 가깝다. 그 점을 \(x_{n+1}\)로 삼아 같은 일을 되풀이하면 근에 점점 다가가는 수열이 생긴다. 이것이 뉴턴의 방법이다.

정리 1.1.1 뉴턴의 방법

\(f'(x_n) \ne 0\)일 때 \[x_{n+1} = x_n - \frac{f(x_n)}{f'(x_n)}\]으로 수열을 만든다. 근 \(\alpha\)에서 \(f'(\alpha) \ne 0\)이고 \(x_0\)가 \(\alpha\)에 충분히 가까우면 오차는 대략 \(|x_{n+1} - \alpha| \approx C|x_n - \alpha|^2\)으로 줄어, 맞는 자릿수가 한 번에 두 배 가까이 는다.

\(f(x) = x^2 - a\)에 쓰면 \(f'(x) = 2x\)이므로 \(x_{n+1} = x_n - \dfrac{x_n^2 - a}{2x_n} = \dfrac12\left(x_n + \dfrac{a}{x_n}\right)\)이다. 처음 질문의 "\(x\)와 \(2/x\)의 평균"이 바로 \(a = 2\)인 경우이다. \(x_n\)이 \(\sqrt a\)보다 크면 \(a/x_n\)은 \(\sqrt a\)보다 작으므로, 둘의 평균은 그 사이에서 \(\sqrt a\)에 더 가까워진다. 이 방법은 4000년 전 바빌로니아에서도 쓰였다.1

1.1.2언제나 가까운 근으로 갈까

뉴턴의 방법은 출발점이 근에 가까울 때 매우 빠르지만, 늘 성공하지는 않는다. 접선의 기울기가 0에 가까운 곳에서 출발하면 접선이 \(x\)축과 아주 먼 곳에서 만나, 엉뚱한 근으로 가거나 수열이 발산한다. 근이 여러 개인 방정식에서는 출발점을 조금만 바꾸어도 다른 근으로 가기도 한다. 그래서 먼저 사잇값 정리로 근이 있는 구간을 좁히고, 그 안에서 출발점을 고른 뒤 뉴턴의 방법을 쓰는 것이 안전하다.

nxₙxₙ − √2맞는 자릿수 11.58.6 × 10⁻²1 21.41666672.5 × 10⁻³3 31.41421572.1 × 10⁻⁶6
그림 2. 오차가 한 번에 제곱에 가깝게 줄어, 맞는 자릿수가 1, 3, 6으로 두 배씩 는다.

1.1.3예제 풀이

예제 1.1.2

방정식 \(x^3 - 2x - 5 = 0\)은 2와 3 사이에 근을 가진다. \(x_0 = 2\)에서 출발해 뉴턴의 방법으로 \(x_1\), \(x_2\)를 구하여라.

\(f(2) = 8 - 4 - 5 = -1 < 0\), \(f(3) = 27 - 6 - 5 = 16 > 0\)이므로 사잇값 정리로 2와 3 사이에 근이 있다. \(f'(x) = 3x^2 - 2\)이고 \(f'(2) = 10\)이므로 \(x_1 = 2 - \dfrac{-1}{10} = 2.1\)이다.

\(f(2.1) = 9.261 - 4.2 - 5 = 0.061\), \(f'(2.1) = 13.23 - 2 = 11.23\)이므로 \(x_2 = 2.1 - 0.061/11.23 \approx 2.1 - 0.00543 = 2.09457\)이다. 참값 \(2.0945515\cdots\)과 소수 넷째 자리까지 같다. 한 번 더 하면 소수 아홉째 자리 가까이 맞는다. 즉 뉴턴의 방법은 곡선을 접선으로 바꾸어 \(x\)절편을 구하는 일을 되풀이하며, 근 근처에서 출발하면 맞는 자릿수가 한 번에 두 배씩 늘어 몇 번 만에 아주 정확한 근을 준다.

아래 탐구 카드에서 접선을 따라 근에 다가가는 과정을 직접 그려 보고, \(\sqrt a\)를 구하는 규칙과 출발점에 따라 다른 근으로 가는 모습을 확인해 보자.

  1. 이 예제의 방정식은 1669년 뉴턴이 자신의 방법을 설명하며 쓴 바로 그 식이다. 뉴턴은 다항식에만 썼고, 오늘날처럼 도함수로 일반화한 식은 1690년 영국의 랩슨이 정리해 뉴턴–랩슨 방법이라고도 부른다.
마무리

뉴턴의 방법은 근 근처의 점 \(x_n\)에서 그은 접선의 \(x\)절편 \(x_{n+1} = x_n - f(x_n)/f'(x_n)\)을 되풀이해 구하며, 근 근처에서 출발하면 오차가 제곱으로 줄어 맞는 자릿수가 두 배씩 는다. 출발점이 나쁘면 다른 근으로 가거나 발산하므로, 사잇값 정리로 근의 구간을 먼저 좁힌다. 처음 질문의 규칙은 \(f(x) = x^2 - 2\)에 뉴턴의 방법을 쓴 것이어서, 세 번 만에 \(\sqrt2\)를 소수 다섯째 자리까지 맞힌다.

탐구 1

접선을 따라 내려가면 방정식의 근에 닿을까?

뉴턴의 방법 · 조작
걸음 \(n\)
0
\(x_n\)
—
참값과 맞는 자릿수
—

\(x\)축 위의 출발점 \(x_0\)을 끌어 옮길 수 있다. 굵은 숫자는 참값과 같은 자리이다.

  1. 질문\(x^2 = 2\)의 양의 근 \(\sqrt{2}\)는 분수로 쓸 수 없다. 근의 공식이 없는 \(x^3 - 2x - 5 = 0\)이나 \(\cos x = x\)의 근은 더 어렵다. 근을 원하는 만큼 정확히 어림하는 방법이 있을까?
  2. 복원점 \((a, f(a))\)에서의 접선은 \(y = f(a) + f'(a)(x - a)\)이다. 미분가능한 함수는 그 점 근처에서 접선과 거의 같다.
  3. 설명곡선이 \(x\)축과 만나는 곳은 찾기 어렵지만, 접선이 \(x\)축과 만나는 곳은 일차방정식 하나로 구한다. 접선의 식에 \(y = 0\)을 넣으면 \[x_{n+1} = x_n - \frac{f(x_n)}{f'(x_n)}\]이다. 이 새 점에서 다시 접선을 긋기를 되풀이하는 것이 뉴턴의 방법(뉴턴–랩슨 방법)이다. 근 가까이에서는 곡선과 접선이 거의 겹치므로, 한 걸음마다 맞는 자릿수가 대략 두 배로 늘어난다.
  4. 연결뉴턴은 1669년 무렵 원고에서 바로 \(x^3 - 2x - 5 = 0\)을 예로 들었다. 오늘날 계산기와 컴퓨터가 제곱근, 나눗셈, 방정식의 근을 구할 때도 이 방법을 바탕으로 한 반복 계산을 쓴다.
  5. 적용\(x^2 - 2\)에서 \(x_0 = 3\)으로 시작해 한 걸음씩 가 보자. 맞는 자릿수가 0, 1, 3, 6, 13처럼 대략 두 배씩 늘어나는가? 출발점을 0에 아주 가깝게 옮기면 첫 걸음이 어디로 튀는가? 마지막 보기 \(\sqrt[3]{x}\)에서는 무슨 일이 생기는가?
  6. 판단뉴턴의 방법이 늘 근에 닿는 것은 아니다. \(f'(x_n) = 0\)이면 접선이 \(x\)축과 만나지 않고, \(\sqrt[3]{x}\)처럼 근에서 그래프가 수직에 가까우면 \(x_{n+1} = -2x_n\)이 되어 점점 멀어진다. 출발점을 근 가까이에 잡는 것이 중요하다.

확인조건이 달라지면

\(f(x) = x^2 - 3\)에 뉴턴의 방법을 \(x_0 = 2\)에서 시작하면 \(x_1\)은?

탐구 2

계산기는 \(\sqrt{a}\)를 어떻게 구할까?

뉴턴의 방법 · 활용 · 경주
걸음
0
뉴턴 \(x_k\)
—
이분법 가운데 점
—

두 방법 모두 \(x_0 = a\)(이분법은 구간 \([0, a]\))에서 시작한다. 오른쪽 그림의 세로축은 오차를 \(10^{-k}\) 눈금으로 나타낸다.

  1. 질문계산기의 \(\sqrt{\ }\) 단추를 누르면 곧바로 열 자리가 넘는 답이 나온다. 계산기 안에 제곱근 표가 들어 있는 것은 아니다. 덧셈, 곱셈, 나눗셈만으로 어떻게 그렇게 빨리 구할까?
  2. 복원뉴턴의 방법은 \(x_{n+1} = x_n - \frac{f(x_n)}{f'(x_n)}\)이다. 이분법은 부호가 바뀌는 구간을 반으로 나누어 근이 있는 쪽을 남기는 방법이다(사잇값 정리).
  3. 설명\(f(x) = x^2 - a\)에 뉴턴의 방법을 쓰면 \[x_{n+1} = x_n - \frac{x_n^2 - a}{2x_n} = \frac{1}{2}\left(x_n + \frac{a}{x_n}\right)\]이다. 넓이가 \(a\)인 직사각형의 두 변 \(x_n\)과 \(\frac{a}{x_n}\)을 평균 내어 다음 변으로 삼는 셈이라, 직사각형이 걸음마다 정사각형에 가까워진다. 이 방법은 뉴턴보다 훨씬 오래되어 바빌로니아 방법이라고도 부른다. 기원전 1800년 무렵의 점토판 YBC 7289에는 \(\sqrt{2}\)가 60진법으로 1;24,51,10, 곧 \(1.41421296\cdots\)으로 적혀 있다.
  4. 연결이분법은 한 걸음에 오차가 \(\frac{1}{2}\)이 되므로 10걸음에 약 3자리를 얻는다. 뉴턴의 방법은 근 가까이에서 오차가 \(e_{n+1} \approx \frac{e_n^2}{2\sqrt{a}}\)이므로 맞는 자릿수가 걸음마다 두 배가 된다. 이를 이차 수렴이라고 한다.
  5. 적용\(a = 2\)에서 한 걸음씩 눌러 두 방법의 오차 그래프를 비교해 보자. 이분법의 오차는 곧게 내려가고 뉴턴의 오차는 점점 가파르게 떨어진다. \(a\)를 200으로 키우면 뉴턴의 방법이 처음 몇 걸음에 어떻게 움직이는가?
  6. 판단뉴턴의 방법이 늘 이분법보다 나은 것은 아니다. 이분법은 느리지만 부호가 바뀌는 구간만 있으면 반드시 근에 닿고, 뉴턴의 방법은 출발점이 나쁘면 근에서 멀어질 수 있다. 실제 프로그램은 둘을 섞어 쓰기도 한다. 또 실제 계산기 칩은 제곱근을 구할 때 이 밖의 방법(자릿수별 계산, CORDIC 등)을 쓰기도 한다.

확인조건이 달라지면

\(\sqrt{10}\)을 \(x_0 = 3\)에서 바빌로니아 방법으로 구하면 \(x_1\)은?

탐구 3

출발점에서 가장 가까운 근으로 갈까?

뉴턴의 방법의 한계 · 예측 → 확인

어느 근에 도착할지 고르세요.

맞힌 문제
0 / 0
지나간 점
—
도착한 근
—
  1. 질문\(x^3 - x = 0\)의 근은 \(-1, 0, 1\)이다. 뉴턴의 방법을 어떤 출발점에서 시작하면, 그 점에서 가장 가까운 근으로 갈 것 같다. 정말 그럴까?
  2. 복원\(f(x) = x^3 - x\)이면 \(f'(x) = 3x^2 - 1\)이고, 뉴턴의 방법은 \(x_{n+1} = x_n - \frac{x_n^3 - x_n}{3x_n^2 - 1} = \frac{2x_n^3}{3x_n^2 - 1}\)이다.
  3. 설명\(x = \pm\frac{1}{\sqrt{3}} \approx \pm 0.577\)에서는 \(f'(x) = 0\)이라 접선이 수평이다. 그 근처에서 출발하면 접선이 아주 완만해서 \(x_1\)이 멀리 튀어 나간다. 그래서 \(x_0 = 0.5\)는 0에 더 가깝지만 첫 걸음에 정확히 \(-1\)에 떨어진다. 0.45와 0.46처럼 아주 가까운 두 출발점도 서로 다른 근으로 갈 수 있다. 출발점마다 도착하는 근을 칠한 띠를 보면, \(0.447\)과 \(0.577\) 사이에서 세 색이 끝없이 번갈아 나타난다.
  4. 연결근 가까이에서는 뉴턴의 방법이 아주 빠르지만, 멀리서는 접선 한 번의 오차가 커서 예측하기 어렵게 움직인다. 그래서 실제로는 먼저 이분법 같은 안전한 방법이나 그래프로 근 근처까지 간 다음 뉴턴의 방법을 쓴다.
  5. 적용여섯 문제의 도착점을 예측한 뒤 확인해 보자. 몇 개를 맞혔는가? 띠를 칠하고 \(x_0 = \frac{1}{\sqrt{5}} \approx 0.4472\) 근처를 보자. 이 점에서 출발하면 \(x_1 = -\frac{1}{\sqrt{5}}\), \(x_2 = \frac{1}{\sqrt{5}}\)로 영원히 오간다.
  6. 판단"출발점이 근에 충분히 가까우면 수렴한다"는 말은 맞지만, "충분히"가 얼마인지는 함수마다 다르다. 뉴턴의 방법이 근을 하나 찾았다고 해서 그것이 출발점에서 가장 가까운 근이라고 장담할 수는 없다.

확인조건이 달라지면

\(f(x) = x^3 - x\)에 뉴턴의 방법을 \(x_0 = \frac{1}{\sqrt{3}}\)에서 시작하면?

AI 출제 문항연습문제 풀어보기10문항
Esc

↑↓ 고르기Enter 열기