Newton의 방법
\(f\)가 2회 미분가능한 함수일 때 방정식 \(f(x)=0\)의 근사치를 구할 수 있는 정리가 있다.
| 정리 1 함수 \(f\)가 \([a,\,b]\)에서 2회 미분가능이고 (1) \(f''(x)\ne0\) (\(f''(x)>0\) 또는 \(f''(x)<0\)), (2) \(f(a)f(b)<0\) (\(f(a)\)와 \(f(b)\)는 이부호(異符號))라 하자. \(a\le a_1\le b\)인 \(a_1\)을 \[\begin{align}&f''(x)>0\ \text{일 때}\ f(a_1)>0\\&f''(x)<0\ \text{일 때}\ f(a_1)<0\end{align}\]되고록 잡고 \[a_2=a_1-\frac{f(a_1)}{f'(a_1)},\,a_3=a_2-\frac{f(a_2)}{f'(a_2)},\,\cdots,\,a_{n+1}=a_n-\frac{f(a_n)}{f'(a_n)}\ (n=1,\,2,\,3,\,\cdots)\]라 하여 차례로 \(a_1,\,a_2,\,a_3,\,\cdots,\,a_n,\,\cdots\)을 구하면 (3) 수열 \(\{a_n\}\)은 수렴하여, (4) \(\displaystyle\lim_{n\to\infty}a_n=\alpha\)라 하면 \(f(\alpha)=0\) 이므로 (5) \([a,\,b]\)에서 \(f(x)=0\)의 근은 \(\alpha\)뿐이다. |
<증명> \([a,\,b]\)에서 \(f''(x)>0,\,f(a)<0,\,f(b)>0\)라 하자. 중간값 정리에 의해, \((a,\,b)\)에서 \(f(x)=0\)의 근은 적어도 한 개 존재한다. 그런데, 이런 근은 단지 한 개 밖에 없음을 알 수 있다. 왜냐하면, 두 근 \(x_0,\,x_1\)이 있고 \(a<x_0<x_1<b\)라 하면 Rolle의 정리에 의해
\[f'(c)=0,\,x_0<c<x_1\]
인 \(c\)가 존재한다. 그러나, 가정에 의해 \(f''(x)>0\) 이므로 \(f'(x)\)는 증가함수이고, \(f'(c)=0\) 이므로
\[x<c\text{에서}\ f'(x)<0,\,x>c\text{에서}\ f'(x)>0\]
따라서, \(f(x)\)는
\[x<c\text{에서 감소함수},\,x>c\text{에서 증가함수}\]
이다. 더우기 \(a<x_0<x_1<b\) 이므로
\[f(a)>f(x_0)=0\]
이 된다. 이것은 \(f(a)<0\)이라는 사실에 모순이다. 따라서 \((a,\,b)\)에서는 한 개의 근 밖에 없고, 이것을 \(x_0\)라 하자.
가정에 의해 \([a,\,b]\)에서 \(f''(x)>0\) 이므로 \(y=f(x)\)는 아래로 凸이고, \(f'(x)=0\)인 점 \(x\)에서 \(f(x)\)는 최소치를 갖는다. 그런데 가정에 의해 \(f(a)f(b)<0\) 이므로, 최소치는 음이다.
그래서 \(f(a_1)>0\)인 점 \(a_1\)을 잡으면 \(f(a_1)\)은 최소치가 아니므로 \(f'(a_1)\ne0\) 이다.
\[\begin{align}0=f(x_0)&=f(a_1)+(x_0-a_1)f'(a_1)+\frac{(x_0-a_1)^2}{2}f''(\xi_1)\\&>f(a_1)+(x_0-a_1)f'(a_1)\end{align}\]
이므로
\[\begin{align}&f'(a_1)>0\ \text{이면}\ x_0<a_1-\frac{f(a_1)}{f'(a_1)},\\&f'(a_1)<0\ \text{이면}\ x_0>a_1-\frac{f(a_1)}{f'(a_1)}\end{align}\]
\((a_1,\,f(a_1))\)에 대한 접선
\[y=f(a_1)+(x-a_1)f'(a_1)\]
과 \(x\)축과의 교점의 \(x\)좌표를 \(a_2\)라 하면
\[a_2=a_1-\frac{f(a_1)}{f'(a_1)}\]
이다. 그리고
\[\begin{align}&f'(a_1)>0\ \text{이면}\ x_0<a_2<a_1,\\&f'(a_1)<0\ \text{이면}\ a_1<a_2<x_0\end{align}\]
이므로, 어느 경우이든 \(a_2\)는 \(a_1\) 보다 \(x_0\)에 가깝다.
또한, \(y=f(x)\)는 아래로 凸하므로
\[a_{n+1}=a_n-\frac{f(a_n)}{f'(a_n)}\]
라 두면, \(a_{n+1}\)은 \(a_n\) 보다 \(x_0\)에 더 가깝고, 더우기 \(f(a_{n+1})>0\) 이다. 이와 같이 얻어진 수열 \(\{a_n\}\)은, 단조이고 유계이므로 수렴한다.
\[\lim_{n\to\infty}a_n=\alpha\]
라 하자.
\[f(a_n)=(a_n-a_{n+1})f'(a_n)\]
이고, \(f(x)\) 및 \(f'(x)\)는 연속이므로
\[f(\alpha)=\lim_{n\to\infty}f(a_n)=\lim_{n\to\infty}\left(a_n-a_{n+1}\right)f'(a_n)=(\alpha-\alpha)f'(\alpha)=0\]
그런데, \(f(x)=0\)의 근은 \(x_0\)뿐이므로
\[\alpha=x_0\]
이어야 한다.
\(f''(x)<0,\,f(a_1)<0\)인 경우도 동일하게 증명할 수 있다.
이 방법에 따라 방정식의 근의 근사치를 구하는 방법을 Newton의 方法이라고 한다.
[예제 1] \(f(x)=x^2-2=0\)의 근사치를 Newton 방법에 의해 구하여라.
<풀이> \(f'(x)=2x,\,f''(x)=2>0,\,f(1)=-1<0,\,f(2)=2>0\) 이므로, \(1<x_0<2\)인 근 \(x_0\)가 단 하나있다.
근 \(x_0\)의 제 1 근사치로서, \(a_1=2\)를 잡으면
\[f(2)=2,\,f'(2)=4\]
이므로, 제 2 근사치 \(a_2\)는
\[a_2=a_1-\frac{f(a_1)}{f'(a_1)}=2-{2\over4}=1.5\]
또한
\[f(1.5)=0.25,\,f'(1.5)=3\]
이므로, 제 3 근사치 \(a_3\)는
\[a_3=a_2-\frac{f(a_2)}{f'(a_2)}=1.5-{0.25\over3}=1.4166\cdots\]
이다. Newton의 방법에 의해 차례로 \(a_4,\,a_5,\,\cdots\)을 구하면 이 수열은 단조감소가 된다.
실제로 계산할 때는 \(a_3\) 대신에 \(a_3\)에 충분히 가까우면서 \(a_3\) 보다 작은 수를 택하는 것이 좋다. \(a_3\) 대신에 \(a_3'=1.416\)을 택하면
\[a_4=a_3'-\frac{f(a_3')}{f'(a_3')}=1.416-{0.005056\over2.832}=1.414214\cdots\]
가 되어 근의 근사치가 얻어진다.
《문 제》
1. 다음 각 방정식은 한 개의 무리근을 갖는다. Newton의 방법을 써서 그 근을 소수점 이하 둘째자리까지 구하라.
(1) \(x^2+2x-5=0\)
(2) \(x^4+x^3+x^2-1=0\)
<풀이>
(1) \(f(x)=x^2+2x-5\)라 두면 \(f'(x)=3x^2+2>0,\,f''(x)=6x,\,f(1)=-2,\,f(2)=7\) 이므로 \((1,\,2)\)에서 근 \(x_0\)가 단 하나 있다.
\(a_1=2\)를 잡으면
\[\begin{align}&a_2=a_1-\frac{f(a_1)}{f'(a_1)}=1.5-{7\over14}=1.5\\&a_3=a_2-\frac{f(a_2)}{f'(a_2)}=1.5-{1.375\over8.75}=1.34285\cdots\\&a_4=a_3'-\frac{f(a_3')}{f'(a_3')}=1.342-{0.10089\over7.40289}=1.32837\cdots\\&a_5=a_4'-\frac{f(a_4')}{f'(a_4')}=1.328+{0.00196\over7.29075}=1.32826\cdots\end{align}\]
따라서 \(x_0\approx1.33\).
(2) \(f(x)=x^4+x^3+x^2-1\)라 두면 \(f'(x)=4x^3+3x^2+2x,\,f''(x)=12x^2+6x+2,\)
\(f(0)=-1,\,f(1)=2\) 이므로 \((0,\,1)\)에서 \(f''(x)>0\). 따라서 \(0<x_0<1\)인 근 \(x_0\)가 단 하나 있다.
\(a_1=1\)을 잡으면
\[\begin{align}&a_2=a_1-\frac{f(a_1)}{f'(a_1)}=1-{2\over9}=0.77777\cdots\\&a_3=a_2'-\frac{f(a_2')}{f'(a_2')}=0.777-{0.43732\over5.24158}=0.69356\cdots\\&a_4=a_3'-\frac{f(a_3')}{f'(a_3')}=0.693-{0.04370\over4.15800}=0.68248\cdots\\&a_5=a_4'-\frac{f(a_4')}{f'(a_4')}=0.682+{0.00132\over4.02823}=0.68232\cdots\end{align}\]
따라서 \(x_0\approx0.68\).
2. 방정식 \(x-\cos{x}=0\)은, \(0<x_0<\pi/2\)인 근 \(x_0\)를 갖는다. \(a_1=\pi/4\)를 \(x_0\)의 제 1 근사치로 하여, 제 2 근사치 \(a_2\)를 구하여라.
<풀이> \(f(x)=x-\cos{x}\)라 두면 \(f'(x)=1+\sin{x},\,f''(x)=\cos{x}\).
\[a_2=a_1-\frac{f(a_1)}{f'(a_1)}={\pi\over4}-\frac{f({\pi\over4})}{f'({\pi\over4})}=0.73953\cdots\]
따라서 제 2 근사치 \(a_2=0.739\)로 둘 수 있다.
3. \(y=x^x\)에서 \(y=10\)일 때 \(x\)의 값을 소수점 이하 둘째자리까지 구하여라.
<풀이> \(10=x^x\)로 놓고 양변에 상용로그를 취하면
\[1=\log_{10}x^x=x\log_{10}x\]
따라서, \(f(x)\)를 아래와 같이 두고 미분하면 (대수함수의 미분법 참조)
\[f(x)=x\log_{10}x-1,\,f'(x)=\log_{10}(ex),\,f''(x)={1\over x}\log_{10}e\]
\(f(1)=-1,\,f(3)=0.43136\cdots\) 이고 \((1,\,3)\)에서 \(f''(x)>0\) 이므로 이 구간에서 단 하나의 근 \(x_0\)을 갖는다.
제 1 근사치 \(a_1=3\)으로 잡으면
\[\begin{align}&a_2=a_1-\frac{f(a_1)}{f'(a_1)}=1-{0.43136\over0.91142}=2.52671\cdots\\&a_3=a_2'-\frac{f(a_2')}{f'(a_2')}=2.526-{0.01655\over0.83673}=2.50622\cdots\\&a_4=a_3'-\frac{f(a_3')}{f'(a_3')}=2.506+{0.00015\over0.83328}=2.50618\end{align}\]
따라서 \(x_0\approx2.51\)
댓글
댓글 쓰기