How to find the beset approximating polynomial in the uniform norm
본 챕터에선 앞에서 확인한 내용들을 기반으로 체비셰프를 이용하여 uniform-norm에 대한 근사문제를 풀어본다. 또한 -norm과의 비교를 진행할 것이며 그 후에 최적근사함수를 찾기 위한 몇가지 테크닉을 살펴볼 것이다.
본 챕터의 마지막에선 몇가지 예제를 제공하여 살펴본다.
6.1 Chebyshev’s solution
이번 섹션에선 체비셰프가 해결할 수 있었던 최적화 문제를 단계별로 살펴본다.
우선 체피셰프가 풀고싶어 했던 문제는 아래와 같다.
Problem 3.
구간 에서 에 대한 차 최적근사 다항식 를 찾아라.
이 문제는 과 사이의 에러를 최소화하는 문제며 즉 를 최소화하는 를 찾아야 한다.
이를 해결하기 위한 체비셰프의 솔루션은 아래단계와 같이 진행된다.
1.
개념을 단순화 시킨다. 이고 라 하자. 기존에 보인대로 는 개의 alternating set을 갖는다(). 또한 는 적어도 개의 해를 가지고 모든 에 대해 와 가 성립한다.
2.
는 의 극점이다. 따라서 구간 의 임의의 점 는 을 만족한다. 또한 는 차 다항식이므로 개의 해를 갖게 된다. 즉, 과 은 각각 양 끝점 과 이 되어야 구간부호가 바뀌는 alternating set임과 동시에 의 해가 아니게 된다. 따라서 아래 식이 성립한다.
3.
다항식 에 대해 고려한다. 에 대해 가 성립하고 구간 에서 이 성립한다. 즉, 은 에서 이 되고 모든 구간에 대해 보다 크므로 는 중근(double root)이 된다. 은 차 다항식이므로 최대 개의 해를 갖는다. 이므로 이는 가 개의 중근과 개의 단일근(single root)를 가지며 이것이 의 모든 해가 됨을 알 수 있다.
4.
다음은 에 대해 고려한다. 위 2,3번단계에서 에서 중근을 가짐을 알 수 있고 이에 따라 이들이 의 해가 됨을 알 수 있다.
따라서 은 에서 중근을 가지고 과 에서 단일근을 가지는 다항식이다. 또한 이므로 와 같은 차수로 같은 해를 가진다.
5.
위 4번단계로 부터 과 는 같은 차수의 같은해를 가지는 다항식임을 알 수 있다. 이는 두 다항식이 어느 한쪽에 상수곱을 해서 같은 식으로 만들어 줄 수 있음을 의미한다. 는 일계수다항식 이므로 최고차항의 계수가 이 된다. 이에 따라 의 최고차항 계수는 이 된다. 그러므로 아래 식이 성립한다.
은 어떤 구간에선 양의 값을 가지며 때문에 일관성을 잃지 않고 에선 양수라고 둘 수 있다. 이를 통해 부호에 대한 고려를 제외하고 양 변을 적분하면 아래와 같다.
이므로 위와 같은 식이 만족된다. 또한 위에서 임을 가정했으므로 이 된다. 따라서 아래 식을 전개하면
는 번째 체비셰프 다항식이다. 이므로 차식의 최대차항의 계수는 이다. 따라서 최대차항의 계수가 인 는 라 할 수 있다. 에 대해 이므로 최소값 이다.
Theorem 6
임의의 에 대해 인 함수 는 모든 에 대해 아래 식을 만족한다.
Proof.
Corollary 2
구간 에서 일계수 차 다항식의 최소크기(smallest norm)는 아래와 같다.
Proof.
위 Theorem 6와 Corollary 2를 이용하여 구간 에서 최고차항의 계수가 인 차 다항식 에 대한 차 최적근사 다항식 을 구하는 방법을 아래와 같이 일반화 할 수 있다.
Corollary 3 (Generalization)
최고차항의 계수가 인 함수 가 주어졌을 때,
1.
구간 에서 에 최대 차인 최적근사 다항식 는 아래와 같다.
또한 최대오차(maximum error)로 를 갖는다. 이 테크닉을 체비셰프 최적화(Chebyshev approximation)이라 한다.
2.
구간 에서 최소크기(smallest norm)를 가지는 차 다항식은 아래와 같다.
이 테크닉을 smallest norm이라 한다.
위 두 개의 방식을 통해 최고차항의 계수가 인 최적근사 다항식 을 구할 수 있다. 섹션6.3에선 두 방식을 통해 최적근사 다항식을 찾아볼 것이다.
6.2 Comparison to approximation in the -norm
이번 세션에선 -norm에서의 근사와 uniform-norm에서의 근사를 비교할 것이다.
6.2.1 Differences between approximation in the -norm and in the uniform norm
이번 섹션에선 -norm과 uniform-norm에서 최적화 과정의 차이점을 살펴볼 것이다.
이 두가지 방식의 두 가지 차이점은 아래와 같다.
•
Uniform-norm: 최대 절대편차를 최소화 한다.
따라서 를 최소화 하는 과정을 가진다.
•
-norm: 최대 절대편차의 제곱의 합을 최소화한다.
따라서 를 최소화 한다.
함수 norm의 값은 어떤 norm이냐 뿐만 아니라 어떤 함수를 쓰느냐에도 많은 영향을 받는다.
일 때 아래 수식이 성립한다.
그러나 어떤 함수는 는 작고 는 큰 값을 계산할 수 도 있다. 그러므로, norm을 선택하는 것은 최적화 문제의 솔루션에 많은 영향을 줄 수 있다.
6.2.2 Similarity between approximation in the -norm and in the uniform norm
이번 섹션에선 두 norm의 유사한 점을 살펴본다.
chapter 5에서 체비셰프 다항식이 에서 weight function이 일 때 직교(orthogonal) 한 것을 확인했다(직교하게 만들기 위해 weight function을 이렇게 잡았다고 해도 된다). 이 구간에선 -norm과 uniform-norm에서 모두 최적근사 다항식이 같다.
물론 대수 다항식을 제외한 나머지 함수에선 아래와 같은 식이 성립하지 않아 위 가정이 맞지 않는다.
때문에 본 예제에선 구간에서 를 가정하여 진행한다.
내적 공간 에서 의 basis는 이고 이를 그램-슈미트 과정을 진행시키면 아래와 같다.
이번엔 다른 직교 시스템의 항을 통해 를 계산한다.
모든 에 대해 이 성립하므로 위 식을 다시 아래와 같이 정리할 수 있다.
이를 계산하면 아래와 같다.
위 식은 상당히 복잡하여 계산과정은 생략한다. 즉, 이 경운 -norm을 사용하면 계산하기 상당히 까다로와 진다. 그러나 체비셰프 최적화를 이용할 경우 아래와 같이 훨씬 더 쉽고 간단하게 최적화 과정을 진행할 수 있다.
6.3 Other techniques and utilities
이번 세션에선 최적근사 다항식을 찾기 위한 두 가지 테크릭을 사려보고 왜 이러한 테크닉이 유용한가를 확인한다.
6.3.1 Economization
을 에 대한 식으로 표현한 것과 반대로 을 과 관련된 식으로 표현할 수 있다.
의 제곱형태를 체비셰프 다항식으로 표현함으로써 계산량을 줄일 수 있다. 게다가 체비셰프 형태는 훨씬 더 작은 계수를 가지며 이로써 더 적은 오차로 낮은 차수의 다항식으로 근사할 수 있다.
Example 3.
이번 예제에선 구간 에서 의 최적근사함수 를 찾는다. 위 식 를 체비셰프 다항식을 통해 다시 아래와 같이 표현할 수 있다.
3차함수로 근사할 것이기 때문에 항을 없애야 한다. 때문에 최적근사함수는 가 된다. 이렇게 근사하면 대략 의 오차를 가진다. 만약 이러한 테크닉을 활용하지 않고 라 하면 오차를 거의 정도로 가져가게 된다.
일반적인 상황에서 전체과정은 다음과 같다. 함수 는 멱급수(power series)거나 멱급수로 표현이 가능하기 때문에 로 표현할 수 있다. 이를 더 낮은 차수인 로 근사해야한다. 과 같이 을 최고차항의 계수로 갖는 차 다항식을 이라 하면 로 표현할 수 있다. 이 때 로 표현할 수 있다. 따라서 아래와 같이 전개된다.
만약 가 멱급수 형태라면 이 된다. 을 가장 큰 오차로 근사하면 라 둘 수 있다. 따라서 에서 이므로 라 할 수있다. 정리하면 라 할 수 있고 최종적으로 정확도 오차는 라 할 수 있다.
6.3.2 Transformation of the domain
위 예제에선 구간 에서의 문제를 다루었다. 그러나 정의역의 구간은 이와 다를 수 있으므로 유한한 구간으로 가지는 변수 를 로 치환하여 문제를 해결할 수 있다. 치환을 위해 아래와 같이 와 의 관계식을 도출할 수 있다.
만약 의 구간이 이라 하면 아래와 같이 단순화 된다.
위와 같이 정의된 정의역을 위해 체비셰프 다항식 로 표현하면 아래와 같이 정리할 수 있다.
위 수식은 를 로 치환하거나 를 이용하여 도출할 수 있다. 도메인의 구간이 작을수록 오차의 크기가 더 줄어들게 된다.
Example 4.
을 이차 다항식으로 근사해보자. 이 문제를 economization으로 풀어본다.
먼저 구간 에서 진행한다.
이차 다항식으로 근사해야하므로 항을 제거한다. 이 때 최대오차는 가 되고 최적근사함수는 가 된다.
다음은 같은 문제를 다루되 구간을 로 두고 를 통해 해결한다.
다음 항을 제거한다. 이때 가 되고 최대오차는 가 된다.
다음은 같은 문제를 다루되 구간을 에서 진행한다.
먼저 변수를 치환하는 과정을 진행한다.
이를 이용하여 4차까지 체비셰프 다항식을 표현하면 아래와 같다.
이를 이용하여 를 표현하면 아래와 같이 전개된다.
다음 항을 제거한다. 이때 가 되고 최대오차는 가 된다.
최대오차는 구간 에서 , 구간 에서 , 구간 에서 이 되며 이를 통해 구간의 크기가 증가 할 수록 최대오차의 크기가 늘어남을 확인할 수 있다.
6.3.3 Generating function
이번 섹션에선 앞에서 활용했던 이나 의 일반 표현식을 찾아본다. 이를 위해 급수의 인 에 대해 고민해보자. 라 하면() 아래와 같이 전개된다.
여기서 실수부만 고려하면 가 된다. 따라서 아래와 같이 전개가 가능하다.
이에 따라 급수의 합 의 실수부만 취하고 등비수열의 공식을 이용하여 아래와 같이 식을 전개할 수 있다.
에서 오른쪽 항을 를 기준으로 generating function을 만들면 아래와 같이 정리된다.
에 대한 generating function을 찾기 위해 를 아래와 같이 넣는다.
이를 적용하면 아래와 같이 정리할 수 있다.
이 짝수면 의 계수는 반이 된다.
정의역의 구간을 으로 하면 위 식들을 를 로 치환할 수 있다. 그러나 이렇게 하지 않고 아래 체비셰프 다항식의 성질을 이용한다.
라 하여 를 계산한다.
위 두식을 이용하여 아래와 같이 을 전개할 수 있다.
위 식을 을 로 치환하면 가 되며 가 된다. 이를 이용하면 아래와 같이 전개된다.
따라서 이므로 위의 에 대해 정리한 식에 n대신 2n으로 치환하고 를 으로 치환하여 계산하면 아래와 같이 정리할 수 있다.
이 또한 이 짝수는 가 반이 된다.
6.3.4 Small coefficients and little error
구간 에서 small norm을 가지는 다항식은 아주 큰 계수를 가질 수 있어 활용이 불편할 수 있다. 체비셰프 다항식은 작은 계수를 가지며 이를 이용하여 적은 오차로도 기존 다항식의 계수를 훨씬 작은 값으로 만들 수 있다. 이를 아래 예제와 함께 보인다.
Example 5.
아래와 같은 다항식에 대해 고려한다.
위 다항식은 아주 큰 계수를 가지나 이를 체비셰프 형태로 바꾸면 아래와 같다.
위 식은 가장 큰 계수가 가 되고 이는 기존 식의 가장 큰 계수 보다 훨씬 더 작은값이 된다. 또한 마지막 3개 항을 제거해도 최대 오차가 단지 를 가진다.
6.3.5 Tayler expansion
economization 테크닉은 또한 테일러 급수에도 적용될 수 있다.
Example 6.
테일러 다항식은 일 때 가 된다. 만약 이면 이 식의 오차는 가 된다.
6차항까지 economization을 진행하면 아래와 같다.
이 때 뒤 두개 항을 제거하면 추가 오차가 단지 이 된다. 이를 기존 테일러 다항식의 오차 에 더해도 총 오차는 이며 이는 4차 테일러 다항식으로 했을 때 오차 보다 훨씬 더 적은 오차를 갖는다.
6.3.6. Algorithm to find the alternating set, the polynomial and the error
전에 살펴보았듯이 는 구간 에서 최대값이 인 alternating set을 최소 개 가진다.
이러한 성질을 이용하여 최적 근사 다항식 와 최대오차(maximum error)를 구할 수 있다. 재귀 프로세스를 따르며 아래 단계로 이루어져 있다.
[알고리즘]
1.
구간 에서 임의의 개 점 을 선택한다. k번째 재귀 프로세스에서 찾은 다항식을 , 이 때 최대 오차를 라 하자. 이 때 최대오차를 로 갖는 는 alternating set에서 의 값을 가진다.
2.
양 끝점이나 극점 중 이 최대값을 갖는 을 찾는다.
3.
만약 위 최대값이 보다 클 경우 중 하나를 로 변경한다. 이 때 변경 후의 이 부호가 연속적으로 바뀌도록 한다.
4.
조건을 만족할 때 까지 1~3번 과정을 반복한다.