본문 바로가기

Newton Method

Square Root Function Implementation 제곱근을 구하는 sqrt() 함수를 구현하고자 한다면, 뉴턴의 방법(Newton Method)을 사용해서 근사식을 얻는 것에서부터 출발한다. 그러나, 제곱근을 뉴턴의 방법을 적용해본다면, 다시 같은 식이 반복되어 나오기 때문에, 구하고자 하는 x를 대수로 정의하고 이것에서부터 출발해보자. x = x(i) + d 여기서 x는 구하고자 하는 x 값이고, x(i)는 초기값, 그리고 d는 오차이다. 그리고, a = x^2이라 한다면, a = (x(i) + d)^2으로 표현할 수 있고, a = x(i)^2 + 2x(i) * d + d^2의 꼴로 전개할 수 있다. 여기서, d는 초기값 x(i)가 x에 매우 가깝게 추측되었다고 가정한다면, 그리고 d가 무시할 수 있을 정도라면 d^2은 매우 0에 가까울 것이다. 따라.. 더보기
Secant Method Secant Method는 False Position Method와 비슷하지만, 계속해서 근의 탐색 구간이 변경되는 False Position Method와 달리, 최초의 고정점에서 Secant line만 연속적으로 수정하여 실제 근이나, 그에 준하는 근사값을 얻는다. Newton Method가 근을 찾는데 효과적인 방법이긴 하지만, 실제로 주어진 방정식에서 미분된 형태의 f'(x)를 구하는 것은 쉽지 않다. 따라서, f'(x)와 비슷한 근사된 함수로 Newton Method와 비슷한 효과를 내고자 하는 것이 Secant Method이다. 즉, f'(x(i)) = { f(x(i)) - f(x(i - 1)) } / { x(i) - x(i - 1) }의 근사된 함수로 x(i) = x(i + 1) - f(x(.. 더보기
Newton Method(Newton-Raphson Method) Newton Method(a.k.a. Newton-Raphson Method)는 일반적으로 함수의 근사값이나, 실제 값을 찾는데 가장 효율적인 방법이다. 어떤 함수 f(x)가 주어졌을 때, 이 함수의 미분 f'(x)를 구하고, 초기 추측값 x(0)부터 시작한다. x(0)보다 조금 더 나은 다음 추측값 x(1) = x(0) - f(x) / f'(x)이다. 즉, 일반적으로 x(i + 1) = x(i) - f(x(i)) / f'(x(i))이다. Newton Method의 착안점은 다음과 같다. 어떤 x(i)에 대해서, 이것이 근과 가깝다면, 이것의 tangent line과 y = 0과의 교점은 현재 추정근인 x(i)보다 훨씬 더 근에 가깝다. 이 과정을 반복하는 것이다. 그러나, Newton Method 역시.. 더보기