본문 바로가기

Library/Numerical Analysis

Numerical Differentiation 1

수치 미분은 사실 수치 적분보다 훨씬 단순하지만, 실제로 적분만큼 자주 쓰이지 않는다.

만약, 함수 자체가 주어져 있지 않고, 함수값만 주어진 상태라고 하자. 여기서 미분값을 구하고자 한다면, 가장 단순한 방법은 아주 작은 무한소 h를 주고, (f(x + h) - f(x)) / h를 통해 미분값을 구하는 방법이다. 물론, 함수가 주어져 있지 않기 때문에 f(x + h)를 직접 구할 수는 없다. 여기서도 적분에서 적용된 정밀도에 관한 차수의 개념이 적용되는데, f(x + h)와 f(x)를 잇는 선이 직선이라고 가정한다면, 이것은 일차식의 형태로 표현될 수 있고 위의 개념을 하나의 식으로 정리할 수 있다.

물론, 이 직선은 실제 함수와 다를 수 있으며, 2차, 3차식 따위로 차수를 높여나간다면 좀 더 원래의 함수가 그리는 모양과 닮게 될 것이다. 여기에, f(x + h) - f(x)가 아니라, f(x + h) - f(x - h)의 평균을 사용하면 조금 더 정확한 값을 얻을 수 있다.

즉, f(x) = ax^2 + bx + c라고 했을 때, (f(x + h) - f(x - h)) / 2를 전개하면 2ahx + bh를 얻게 된다. 여기서, 실제 함수에 의한 미분값과 이 근사식에 의한 미분값의 차이를 무시할 수 있는 O(h^2)이라 하면, 2ah + b + O(h^2)으로 표현할 수 있다. 이 생각은 뉴턴의 'Method of Fluxions(유율법, 流率法)'에 나타나 있다.


변량의 모멘텀은, 이것에 의해 x 같은 하나의 변량이 시간이 0인 무한히 작은 구간에서 증가하는 무한히 적은 양이다. 따라서 변량 x의 모멘트는 x0로 주어진다. 뉴턴은 어떠한 문제에서도 2차 이상의 지수를 가진 0이 곱해진 항은 무시할 수 있고 그 결과 생성 점의 좌표 x, y와 그들의 유율 x, y 사이의 관계식을 얻을 수 있다.


그러나, 어떤 수치 방정식의 해를 구하는데 보다 일반적인 방법은 테일러 급수(Taylor Series)를 사용하는 것이며, 테일러 급수는 다음과 같다.


a를 f(x) = 0의 근의 근사값이라 하고, f(a) = k, f'(a) = k', f''(a) = k'', x = a + h라 하자. 0 = f(a + h)를 급수 전개하여 h의 2차 이상의 항을 무시하고, k, k', k''의 값을 대입하면 h를 구할 수 있다. 이 과정을 계속 되풀이하여 보다 근접한 근사값을 얻을 수 있다.


그렇다면, 어떤 함수를 이런 형태로 표현할 수 있는 근거는 무엇인가? 다음 인용에서 출발해보자.

만약 어떤 양을 무한히 쪼갤 수 있거나 또는 그것이 매우 많은 개수의 쪼갤 수 없는 극소량들의 합으로 이루어져 있다고 가정할 수 있을까? 첫 번째 가정은 그냥 받아들일 수 있을 것처럼 보인다. 그러나 어떤 것을 발견하는데 두 번째 가정을 이용할 때는 자칫 어떤 불합리성을 놓칠 가능성이 있다. 고대 그리스의 수학 학교들이 위의 두 가정을 이용하는 것을 발달시켰다는 증거가 있다.

두 가정 모두가 직면하는 약간의 논리적인 문제점이 기원전 5 세기경에 엘레아 학파의 철학자 제논이 만든 네 개의 역설에 의하여 충격적으로 제기되었다. 수학에 심대한 영향을 끼친 이 역설은 어떤 양을 무한히 쪼갤 수 있다고 가정하든지 또는 많은 개수의 극소량들의 합으로 만들어질 수 있다고 가정하든지 간에 운동은 불가능하다고 주장한다. 우리는 이 역설의 본질을 다음 두 가지로 설명할 수 있다.

이분법(The Dichotomy) : 만일 직선을 무한히 쪼갤 수 있다면 운동은 불가능하다. 왜냐하면 직선을 통과하려면 우선 중점을 지나야만 하고 그러기 위해서는 사분점을 지나야 하고 또 그러기 위해서 팔분점을 지나야만 하는 등 무한히 많은 점을 지나야 한다. 따라서 운동은 시작조차도 할 수 없다.

화살(The Arrow) : 만약 시간이 더 이상 쪼갤 수 없는 아주 짧은 순간들로 이루어져 있다면 움직이는 화살은 항상 정지해 있다. 왜냐하면 매 순간마다 그 화살은 한 고정된 지점에 있기 때문이다. 각 순간에서 이 명제가 참이므로 화살은 결코 움직이지 않는다.

그 후 제논의 역설에 대한 많은 해설이 주어졌는데 그들 대부분의 각 양이 극히 작다 하더라도 양의 무한개의 합은 무한히 크고, 그 크기가 0인 양의 유한 또는 무한개의 합은 0이라는 통상적인 직관적 믿음에 도전한 것이었다. 그 역설을 만든 동기가 무엇이었든 간에 그것들의 영향으로 무한소가 그리스 논증기하학에서 배제되었다.


즉, sin, cos, ln과 같은 함수값을 어떻게 계산할 수 있는가? 공학 계산기도 없다면 어떻게 계산할지 난감한 일이다. 급수를 사용한 근사값을 구하는 방법은, 이렇게 계산기가 없던 시절 이런 함수값을 구할 수 있는 유일한 방법이었다. 즉, f(x) = sin(x)라고 했을 때, f(x)를 다항식의 합으로 표현된 급수로 나타낼 수 있다면 이제 계산 가능한 영역에 들어오게 된다. 그렇다면, 그 다항식은 어떻게 구할 수 있을까?

f(x) = c0 + c1 * x + c2 * x^2 + ...와 같이 표현된 멱급수(power series)로 다항식을 표현하고, c0, c1과 같은 것은 상수항이라고 한다면 문제는 이 상수항을 구하는 것이다. 만약, p(x) = c0 + c1 * x + ...라고 한다면,


p'(x) = c1 + 2 * c2 * x + 3 * c3 * x^2 + ...,

p''(x) = 2 * c2 + 3 * 2 * c3 * x + ...


의 형태를 얻게 된다. 위의 식에 0을 대입하면,


p'(0) = c0

p''(0) = c1 / 2 ....

p'''(0) = c2 / 3 * 2 ....


를 얻게 되며, f(x)에 이것을 적용하면 맥클로닌 급수(Maclaurin Series)의 전개식을 얻을 수 있다. 이 맥클로닌 급수를 일반화한 것이 테일러 급수이다. 맥클로닌 급수는 x = 0일 때지만, 테일러 급수는 x = a일 때 값을 구한 것이며, 따라서 p(x)의 전개식은 c0 + c1 * (x - a) + c2 * (x - a)^2 ...와 같다.

단도직입적으로 말하자면, 어떤 함수에 있어서 무한히 작은 값을 계속해서 더해나간다면, 그 값은 언젠가는 구하고자 하는 값과 같아질 수 있다는 것이다. 이것은 정확한 값은 아니더라도 매우 괜찮은 근사값을 얻을 수 있다.

테일러 급수나 맥클로닌 급수는 이러한 생각에 바탕을 두고 있으며, 각 급수의 상수항은 미분 개념을 이용하여 표현할 수 있다. 이 전개식을 정리하면, 익숙한 테일러 급수 전개식을 얻을 수 있다.


Reference
Howard Eves, An Introduction To The History Of Mathematics, Sauderns Colleage Publishing