다항식 보간
Polynomial interpolation수치 분석에서 다항식 보간은 주어진 이변량 데이터 집합을 데이터 [1]집합의 점을 통과하는 가능한 가장 낮은 차수의 다항식으로 보간하는 것입니다.
n + 1 데이터포인트 집합( 0 0) ,…,(n, ) {\ 0},0 \ (},n가 주어졌을 때, 두 의가 동일하지 않은 다항식 p) + + + + ⋯ +▁ {은는) 각 j{ 에 대해 p}=인 경우를 보간한다고 합니다.
라그랑주 다항식과 뉴턴 다항식이라는 두 가지 명시적 공식에 의해 일반적으로 주어지는 고유한 다항식이 항상 있습니다.
적용들
보간 다항식의 원래 사용은 자연 로그 및 삼각 함수와 같은 중요한 초월 함수의 값을 근사화하는 것이었습니다.정확하게 계산된 데이터 포인트 몇 개부터 시작하여 해당 보간 다항식은 임의의 가까운 점에서 함수를 근사화합니다.다항식 보간은 또한 수치 직교(심슨 규칙) 및 수치 상미분 방정식(다중 격자 방법)의 알고리즘의 기초를 형성합니다.
컴퓨터 그래픽에서 다항식은 타이포그래피의 문자 모양과 같은 몇 가지 지정된 점이 주어진 복잡한 평면 곡선을 근사화하는 데 사용될 수 있습니다.이는 일반적으로 보간 다항식(지정된 접선 및 지정된 점이 있음)의 단순한 일반화인 베지어 곡선을 사용하여 수행됩니다.
수치 분석에서 다항식 보간은 제품 다항식의 점을 통한 보간이 필요한 특정 곱을 산출하는 카라츠바 곱셈 및 툼-쿡 곱셈과 같은 하위 2차 곱셈 및 제곱을 수행하는 데 필수적입니다.예를 들어 a = f00(x) = ax + ax11 + ax + ··와 b = g(x) = bx00 + bx11 + ··가 주어지면 곱 ab은 W(x) = f(x) g(x)의 특정 값입니다.x의 작은 값에서 W(x)를 따라 점을 쉽게 찾을 수 있으며, 이러한 점을 기반으로 보간하면 W(x) 항과 특정 곱 ab이 생성됩니다.카라츠바 곱셈에서 공식화된 것처럼, 이 기술은 특히 병렬 하드웨어에서 적당한 크기의 입력에도 2차 곱셈보다 상당히 빠릅니다.
컴퓨터 과학에서 다항식 보간은 또한 안전한 다자간 계산과 비밀 공유를 위한 알고리즘으로 이어집니다.
보간 정리
임의의 n + 1 {\displaystyle n+1} 이변량 데이터 점 (x 0, y 0 ) , … , (x n, y ) ∈ R 2 {{0}, \dotsc, (x_{n}, y_{n})\in \mathbb {R}^{2}에 대해, 여기서 두 개의 x {{n} x {displaysty} x_{j}는 이들 n개의 스타일을 가장 많이 표시하는 고유한 다항식 p(\displaysty)가 존재한다nts, p( 0) ,… ,p (n ) = {{{={n}) =n[2]
동일하게, 고정된 보간 x \ \ 의 경우, 다항식 보간은 실수값 ( 0 ) \ _ { \ )의 (n+1)-튜플 사이의 선형 을 정의합니다.과 최대 n개의 실제 다항식의 벡터 P P
이것은 단일성 정리의 한 유형입니다.이 정리는 또한 실수 대신에 유리수나 복소수와 같은 무한장에서도 유효합니다.
제1증명
라그랑주 기저 ,… , ) {\ \x)}를 생각해 보십시오.
는 n n의 다항식이며, 각 j\k에 대해 k) 인 k)은 선형 조합을 따릅니다
고유성을 증명하기 위해 n{ n개의 다른 보간 qx)}가 존재한다고 가정하면, 모든 0 {{에 대해 pk) =( k k)(x k) =k가 됩니다.p ( ) - ( ) p -는 n+ {\n+개의 고유한 0(k {}})을 n {\ n개의 차수 다항식입니다.그러나 최대{n}개의 0이 아닌 다항식은 n n개의 [a]0을 가질 수 , -( - q는 0 다항식이어야 합니다. 즉 (( {\ p)=입니다.
두 번째 증명
형식으로 보간 다항식을 작성합니다.
| (1) |
이를 보간 p p)=에 대입하면 행렬-벡터 형식으로 다음 곱셈으로 읽는 의 선형 방정식 시스템을 얻을 수 있습니다.
보간 p(x)({displaystyle p(x)}는 위 행렬식 X⋅ A = Y \ displaystyle X\cdot A = Y의 해 A = (a_{n,\ldots,a_{0})에 해당한다. 왼쪽의 행렬 X는 반데르몽드 행렬로, X = ∏ 1, ji i ≤ i n i이다,텍스트 스타일 표시)=\ _ n 이는 가 모두 다르므로 0이 아닙니다.이를 통해 행렬이 가역적이고 방정식이 한 A - 1 {\A=}\ Y를 수 있습니다. 즉 p ( {\ p가 존재하고 고유합니다.
필연적으로
가 최대 n개의 차수 다항식이라면 n + {{ n의 구별 지점에서 f f 그 입니다.
보간 다항식 구성
위의 두 번째 증명에서 Vandermond 행렬은 조건 [3]수가 커서 방정식 시스템이 가우스 제거를 사용하여 해결되면i 계수 a를 계산할 때 큰 오류를 일으킬 수 있습니다.
따라서 몇몇 저자들은 반데르몽드 [4][5][6]행렬의 구조를3 이용하여 가우스 제거에2 필요한 O(n) 대신 O(n) 연산에서 수치적으로 안정적인 솔루션을 계산하는 알고리듬을 제안했습니다.이러한 방법은 다항식의 뉴턴 보간을 먼저 구성한 다음 위의 다항식 형식으로 변환하는 데 의존합니다.
대신에, 우리는 라그랑주 다항식의 관점에서 다항식을 즉시 적을 수 있습니다.
행렬 인수의 경우 이 공식을 실베스터 공식이라고 하며 행렬 값 라그랑주 다항식은 프로베니우스 공변량입니다.
비반데르몽드 알고리즘
n차 다항식의 벡터 공간 P(n)에서 보간 다항식 p(x)를 찾기 위해 P(n)에 대한 일반적인 다항식 기반을 사용하고 가우스 제거에 의해 반데르몽드 행렬을 반전시켜 O(n3) 연산의 계산 비용을 제공할 수 있습니다.이 알고리즘을 개선하기 위해 P(n)에 대한 더 편리한 기준은 계수의 계산을 단순화할 수 있으며, 이는 다항식 기준으로 다시 변환되어야 합니다.
한 가지 방법은 뉴턴 형식으로 보간 다항식을 작성하고 분할된 차이 방법을 사용하여 계수(예: 네빌의 알고리즘)를 구성하는 것입니다.비용은 O(n2) 작업입니다.또한 데이터 세트에 추가 포인트가 추가된 경우에만 O(n) 추가 작업을 수행하면 되며, 다른 방법의 경우에는 전체 계산을 다시 수행해야 합니다.
p(x)의 계수를 계산하는 것이 목적이 아니라 원래 데이터 집합에서 점 x = a가 아닌 단일 값 p(a)만 계산하는 경우 다른 방법이 선호됩니다.라그랑주 형식은 복잡도가 O(n2)[7]인 값 p(a)를 계산합니다.
번스타인 형식은 번스타인에 의해 바이어슈트라스 근사 정리의 건설적인 증명에 사용되었으며 베지어 곡선의 형태로 컴퓨터 그래픽에서 큰 중요성을 얻었습니다.
값의 선형 조합으로서의 보간
(위치, 값) 데이터 점들의 집합 (x0, y 0 ) , (xj, y j ) , , (xn, y ) \displaystyle (x_{0, y_{0}), \ldots, (x_{j}), (x_{n, y_{n}), (x_{n}), (x_{n})가 동일하지 않은 경우, 보간격 다항식 y를 선형 값의 조합으로 표시할 수 있다에 x{{ x}의인 계수를 사용하는 displaystyle y_ 예를 들어, 라그랑주 형식의 보간 다항식은 선형 조합입니다.
계수는 yj{displaystyle y_{j} 값이 아닌 xj{displaystyle x_{j} 위치에만 의존하기 때문에, 우리는 동일한 계수를 사용하여 동일한 위치에 있는 두 번째 데이터 집합(x0, v0), …, (xn, vn){0}, \ldots, (x_{nv_n})에 대한 보간 다항식을 찾을 수 있다:
또한 {\는 위치 사이의 x - \에만 의존합니다.따라서, 새로운 변수 t x + {\t + b ({\}의 아핀 , x - {\x= t-b}{에 의해 점이 주어진 세 번째 데이터 집합이 주어지면,
이전 계수 다항식의 변환된 버전을 사용할 수 있습니다.
보간 다항식을 다음과 같이 기록합니다.
데이터 점 j },j})}은(는) 종종 같은 간격의 위치를 , 이는 jj {{로 변환을 통해 정규화될 수 있습니다. 예를 들어, 데이터 점을 고려해 보십시오.
( 1 ( {\ ( (
라그랑주 형식의 보간 다항식은 선형 결합입니다.
를 들어 y = - y + y(3) } = .5) 1.5 = + 6 1 + 2 {) = y입니다.
동일한 간격의 점의 경우는 유한 차이의 방법으로 처리할 수도 있습니다.일련의 값 v = {v j} j = 0 ∞ {{v_{j}\}_{j=0}^{\infty }는 j = j u = {u j } j = \{u_{j}_{j }_{j }_{j } j u = {j } j + } u u = {j }_0^{infty } } j -j -j } } } j -j -j -j } } δj -j -j -j -j ∞j^{ 다음에 의해 명시적으로 정의됨:
1 | 행 n = 0 | ||||||||||||||||
1 | −1 | 행 n = 1 또는 d = 0 | |||||||||||||||
1 | −2 | 1 | 행 n = 2 또는 d = 1 | ||||||||||||||
1 | −3 | 3 | −1 | 행 n = 3 또는 d = 2 | |||||||||||||
1 | −4 | 6 | −4 | 1 | 행 n = 4 또는 d = 3 | ||||||||||||
1 | −5 | 10 | −10 | 5 | −1 | 행 n = 5 또는 d = 4 | |||||||||||
1 | −6 | 15 | −20 | 15 | −6 | 1 | 행 n = 6 또는 d = 5 | ||||||||||
1 | −7 | 21 | −35 | 35 | −21 | 7 | −1 | 행 n = 7 또는 d = 6 | |||||||||
d의 ( {\y(는 양의 에서 일련의 값 yj y_y(를 정의하며 이 시퀀스의 ( 차이는 동일하게 0입니다.
Δ +
따라서, n + { \ n = +등간격 점에서 y \ 이 주어지면 다음과 같이 됩니다.
보간 오류: 라그랑주 잔차 공식
이 섹션은 독자들에게 혼란스럽거나 불분명할 수 있습니다.(2011년 6월 (이 메시지를 및 에 대해 ) |
주어진0 함수 f를 노드 x,…, x에서n n도의 으로 보간할 때 오류가 발생합니다.
서f [ ,… , n ,] \ f는 데이터 점의 (n+1)st 나누기 차이입니다.
0 ( ),… ,( n , ( n)), ( , () \, (x ( f(
또한, 닫힌 구간에서 n + 1배 연속 미분 가능한 함수 f에 대한 라그랑주의 나머지 형태의 오차가 있으며, 최대 n에 대해서는 n + 1개의 구별되는 점 x 0, …, x i\displaystyle x_0, ldots, x_n\in}에서 f를 보간하는 다항식 pn(x)({n})이다.의 x 에 대하여, 다음과 ∈ ▁for \가 존재합니다.
이 오류 한계는 보간점 x를i 선택하여 체비셰프 노드에 의해 달성되는 곱 (- i) \i})\right를 할 것을제안합니다.
라그랑주 잔량 증명
오류 용어를 - R_)=로 설정하고 보조 함수를 정의합니다.
그러나 p () {\ 는 최대 n의 다항식이므로 + 1)() ( 1)( )+ 1)}(t) = f+ 1 그리고 다음과 .
이제, x는( {\과W ( {\ W의i 루트로 Y () Y) 즉, Y에는 n + 2개 이상의 루트가 있습니다.롤의 정리에 따르면, 는 n + 1개 이상의 근을 가지며, 으로 Y )(+ 는 구간 I에서 하나 이상의 근 θ를 갖습니다.따라서:
그리고:
이것은 테일러 정리에서 라그랑주 나머지 항 뒤의 추론과 유사합니다. 사실, 테일러 나머지는 모든 보간 노드i x가 [8]동일할 때 보간 오류의 특별한 경우입니다.모든 i에 대해 x i({ x=일 때 오류는 0이 됩니다.따라서 연속된 두 노드 사이의 간격에서 최대 오류가 발생합니다.
등간격 간격
+ }= a i = 0 …, i = 1 n, 서 h ( -) / {\ h = (의 항을 보간 오차 공식으로 묶을[9] 수 있습니다.
따라서 오차 한계는 다음과 같이 주어질 수 있습니다.
그러나 이는 f+) ( )\" + xi )}가+ 1 h+1 f+1) + ≪ \" f+ 에 의해 합니다 몇몇 경우, 이는 사실이 아니며 실제로 룬 현상을 참조하십시오.이 질문은 Convergence 속성 섹션에서 처리됩니다.
르베그 상수
우리는 보간0 노드 x, ..., x와n 모든 보간 노드를 포함하는 간격 [a, b]를 수정합니다.보간 과정은 함수 f를 다항식 p에 매핑합니다.이것은 [a, b]의 모든 연속 함수의 공간 C([a, b])에서 자신에 대한 매핑 X를 정의합니다.지도 X는 선형이며, n 이하 다항식의 공간P))에 투영한 것입니다.
르베그 상수 L은 X의 연산자 노름으로 정의됩니다.하나는 (레베그 부제의 특별한 경우):
즉, 보간 다항식은 가능한 최상의 근사보다 최대 요인(L + 1)이 더 나쁜 것입니다.이는 L을 작게 만드는 보간 노드 집합을 찾는다는 것을 의미합니다.특히 체비셰프 노드에 대해 다음과 같이 설명합니다.
우리는 다시 체비셰프 노드가 다항식 보간에 매우 좋은 선택이라는 결론을 내립니다. 왜냐하면 n에서의 성장은 등거리 노드에 대해 기하급수적이기 때문입니다.그러나 이러한 노드는 최적이 아닙니다.
수렴 특성
어떤 함수의 클래스에 대해, 어떤 보간 노드에 대해, 어떤 보간 다항식의 시퀀스가 n → ∞로 보간 함수에 수렴하는지 묻는 것은 당연합니다. 수렴은 점별, 균일 또는 일부 적분 규범과 같은 다양한 방식으로 이해될 수 있습니다.
무한히 미분 가능한 함수에 대해 균일한 수렴이 보장되지 않는다는 점에서 등거리 노드의 상황은 다소 좋지 않습니다.칼 룽지로 인한 한 가지 고전적인 예는 구간 [-5, 5]에서의 함수 f(x) = 1 / (1 + x2)입니다.보간 오차 f - p는n n → µ로 경계 없이 증가합니다.또 다른 예는 구간 [-1, 1]의 함수 f(x) = x이며, 이에 대해 보간 다항식은 3개의 점 x = ±[10]1, 0을 제외하고는 점으로 수렴하지 않습니다.
다른 보간 노드를 선택하면 더 나은 수렴 특성을 얻을 수 있다고 생각할 수 있습니다.다음 결과는 상당히 고무적인 답변을 제공하는 것으로 보입니다.
정리 - 구간 [a,b]에서 연속되는 함수 f(x)에 대해 보간 의 시퀀스가 [a,b]에서 fx로 균일하게 수렴하는 노드 테이블이 존재합니다.
(바이어스트라스 근사 정리로 인해) 최적 ∗ ( {{의 다항식 시퀀스가 f(x)로 균일하게 수렴되는 것은 분명합니다.이제 는 각 () {}^{*}(x가 특정 노드에서 보간을 통해 얻을 수 있음을 보여주기만 하면 됩니다.그러나 이는 등진동 정리에서 알려진 최상의 근사 다항식의 특수한 특성 때문에 사실입니다.구체적으로, 우리는 그러한 다항식이 적어도 n + 1번 f(x)와 교차해야 한다는 것을 알고 있습니다.교차점을 보간 노드로 선택하여 최상의 근사 다항식과 일치하는 보간 다항식을 얻습니다.
그러나 이 방법의 결점은 각 새로운 함수 f(x)에 대해 보간 노드를 새로 계산해야 하지만 알고리즘을 수치적으로 구현하기 어렵다는 것입니다.보간 다항식의 시퀀스가 연속 함수 f(x)로 수렴하는 단일 노드 테이블이 있습니까?유감스럽게도 그 대답은 부정적입니다.
정리 — 임의의 노드 테이블에 대해, 보간 다항식의 순서가 [a,[11]b]에서 발산되는 구간에 연속 함수 f(x)가 있습니다.
증명은 본질적으로 위에서 X의 연산자n 노름(여기서n X는 Δ의 투영 연산자)으로 정의한 르베그 상수의 하한n 추정치를 사용합니다.이제 우리는 다음을 위한 노드 테이블을 찾습니다.
바나흐-슈타인하우스 정리로 인해, 이것은 X의n 규범이 균일하게 경계를 이룰 때만 가능하며, 이는 우리가 알고 있기 때문에 사실일 수 없습니다.
예를 들어, 등거리 점이 보간 노드로 선택된 경우, 룽게 현상의 함수는 이러한 보간의 차이를 보여줍니다.이 함수는 [-1, 1]에서 연속적일 뿐만 아니라 무한히 미분 가능합니다.그러나 더 나은 체비셰프 노드의 경우 다음 결과로 인해 이러한 예제를 찾기가 훨씬 어렵습니다.
관련 개념
런지의 현상은 n의 높은 값의 경우 보간 다항식이 데이터 포인트 사이에서 심하게 진동할 수 있음을 보여줍니다.이 문제는 일반적으로 스플라인 보간법을 사용하여 해결됩니다.여기서, 보간물은 다항식이 아니라 스플라인입니다: 낮은 정도의 여러 다항식의 체인입니다.
조화 함수에 의한 주기 함수의 보간은 푸리에 변환에 의해 수행됩니다.이것은 조화 기저 함수가 있는 다항식 보간의 한 형태로 볼 수 있습니다. 삼각 보간 및 삼각 다항식을 참조하십시오.
헤르마이트 보간 문제는 노드에서 다항식 p의 값뿐만 아니라 주어진 순서까지의 모든 파생물이 주어지는 문제입니다.이것은 동시 다항식 합동 시스템과 동등한 것으로 밝혀졌으며 다항식에 대한 중국어 나머지 정리를 사용하여 해결할 수 있습니다.버코프 보간법은 0부터 k까지의 모든 차수가 아니라 일부 차수의 파생물만 규정되는 추가 일반화입니다.
미분 방정식과 적분 방정식의 해를 위한 코로케이션 방법은 다항식 보간을 기반으로 합니다.
합리적인 함수 모델링 기법은 다항식 함수의 비율을 고려하는 일반화입니다.
마지막으로, 더 높은 차원에 대한 다변량 보간.
참고 항목
메모들
인용문
- ^ Tiemann, Jerome J. (May–June 1981). "Polynomial Interpolation". I/O News. 1 (5): 16. ISSN 0274-9998. Retrieved 3 November 2017.
- ^ Humpherys, Jeffrey; Jarvis, Tyler J. (2020). "9.2 - Interpolation". Foundations of Applied Mathematics Volume 2: Algorithms, Approximation, Optimization. Society for Industrial and Applied Mathematics. p. 418. ISBN 978-1-611976-05-2.
- ^ Gautschi, Walter (1975). "Norm Estimates for Inverses of Vandermonde Matrices". Numerische Mathematik. 23 (4): 337–347. doi:10.1007/BF01438260. S2CID 122300795.
- ^ Higham, N. J. (1988). "Fast Solution of Vandermonde-Like Systems Involving Orthogonal Polynomials". IMA Journal of Numerical Analysis. 8 (4): 473–486. doi:10.1093/imanum/8.4.473.
- ^ Björck, Å; V. Pereyra (1970). "Solution of Vandermonde Systems of Equations". Mathematics of Computation. American Mathematical Society. 24 (112): 893–903. doi:10.2307/2004623. JSTOR 2004623.
- ^ Calvetti, D.; Reichel, L. (1993). "Fast Inversion of Vandermonde-Like Matrices Involving Orthogonal Polynomials". BIT. 33 (3): 473–484. doi:10.1007/BF01990529. S2CID 119360991.
- ^ R.베빌라쿠아, D.Bini, M.카포바니와 O.멘치 (2003).칼콜로 수치노 백작님.5장 89페이지세르비치오 에디토리얼 유니버시타리오 피사 - 아지엔다 지역 디리토 알로 스튜디오 유니버시타리오.
- ^ "Errors in Polynomial Interpolation" (PDF).
- ^ "Notes on Polynomial Interpolation" (PDF).
- ^ Watson (1980, 페이지 21)은 마지막 예를 Bernstein (1912)의 탓으로 돌립니다.
- ^ Watson (1980, 페이지 21)은 이 정리를 Faber (1914)의 탓으로 돌립니다.
- ^ 크릴로프, V. I. (1956)."схо абрачкиогнтрполипяяммнноочгочделаанфяункциийифосенниемчиеемкгныннарцмзийнидмуостьлгеиесохыновырлеерыюсбептшебрноовваникровонле"conс[имдоохстьенни.독레이디 아카데미 나우크 SSSR.새 시리즈(러시아어). 107: 362–365.MR 18-32.
레퍼런스
- Bernstein, Sergei N. (1912). "Sur l'ordre de la meilleure approximation des fonctions continues par les polynômes de degré donné" [On the order of the best approximation of continuous functions by polynomials of a given degree]. Mem. Acad. Roy. Belg. (in French). 4: 1–104.
- Faber, Georg (1914). "Über die interpolatorische Darstellung stetiger Funktionen" [On the Interpolation of Continuous Functions]. Deutsche Math. Jahr. (in German). 23: 192–210.
- Watson, G. Alistair (1980). Approximation Theory and Numerical Methods. John Wiley. ISBN 0-471-27706-1.
진일보한 내용
- Atkinson, Kendell A. (1988). "Chapter 3.". An Introduction to Numerical Analysis (2nd ed.). John Wiley and Sons. ISBN 0-471-50023-2.
- Brutman, L. (1997). "Lebesgue functions for polynomial interpolation — a survey". Ann. Numer. Math. 4: 111–127.
- Powell, M. J. D. (1981). "Chapter 4". Approximation Theory and Methods. Cambridge University Press. ISBN 0-521-29514-9.
- Schatzman, Michelle (2002). "Chapter 4". Numerical Analysis: A Mathematical Introduction. Oxford: Clarendon Press. ISBN 0-19-850279-6.
- Süli, Endre; Mayers, David (2003). "Chapter 6". An Introduction to Numerical Analysis. Cambridge University Press. ISBN 0-521-00794-1.
외부 링크
- "Interpolation process", Encyclopedia of Mathematics, EMS Press, 2001 [1994]
- ALGLIB는 C++/C#에 구현되어 있습니다.
- GSL은 C에 다항식 보간 코드를 가지고 있습니다.
- 다항식 보간 시연.