체비 쇼프 다항식의 빠른 (대략적인) 평가


9

균일 한 그리드에서 체비 쇼프 보간 다항식의 빠른 (대략적인) 평가를 구현하는 바람직한 방법이 있습니까 (체비 쇼프 노드에서 함수 값이 제공됨)? 내 문제는 보간 다항식의 정도가 증가하면 보간이 느려진다는 것입니다.

다음과 같은 아이디어가 떠 올랐습니다.

  • NFFT (Non-Uniform FFT) 기술을 적용하십시오.
  • FFT를 사용하면 Chebyshev 노드에서 파생물을 계산할 수 있습니다. 처음에는 더 미세한 (Chebyshev) 그리드로 이동 한 후 가능합니다. 그런 다음 (근사) 평가를 위해 부분 입방 보간법을 사용하십시오.
  • "가까운"체비 쇼프 노드에서 함수 값 (및 잠재적 미분) 만 사용하는 일부 공식을 사용하십시오 (특정 NFFT 기술과 관련됨).

chebfun보십시오 ! Chebyshev 다항식을 사용하여 함수 표현을 기반으로하는 전체 라이브러리입니다. 그것은 오픈 소스이며 고도로 최적화되어 있으며 잘 관리되어 있으며 다항식의 포인트 평가에 바람직한 방법이 있다면 거기에서 찾을 수 있다고 생각합니다.
1

답변:


11

Barycentric Interpolation 사용에 대해 생각해 보셨습니까 ? Chebyshev 노드에서 효율적으로 수행하는 방법에 대한 자세한 설명은 백서의 섹션 5에 나와 있습니다.

이것은 실제로 체비 쇼프 보간에 대한 정확한 평가입니다. 노드 에서 차수 의 다항식을 평가하는 경우 비용은 입니다.nmO(nm)

최신 정보

보간 다항식의 체비 쇼프 계수가있는 경우 다른 대안은 Clenshaw 알고리즘 을 사용하는 것 입니다. 체비 쇼프 노드에 함수 값만 있고 다항식을 여러 번 평가해야하는 경우 FFT를 사용하여 계수를 계산할 수 있습니다.

Clenshaw 알고리즘은 덧셈과 곱셈 만 필요로하며 벡터화도 매우 좋기 때문에 Barycentric 보간보다 다소 빠릅니다.


현재는 특정 평가 지점에 대해 Chebyshev 노드의 함수 값을 기준으로 가중치를 사전 계산 한 다음 수행해야 할 모든 보간에 대해이 지점을 평가합니다 (모두 동일한 Chebyshev 노드와 동일한 평가 지점이 있음) 다음 평가 지점으로 넘어갑니다.
토마스 Klimpel

@ThomasKlimpel : 어떻게 가중치를 계산합니까? Chebyshev 노드를 사용하는 경우[1,1], 그들은 단지 ±1또는 ±1/2가장자리에. 속도가 핵심이라면 Clenshaw 알고리즘을 답장에 추가했습니다. 내 경험상 컴파일 된 코드에서 약 4 배 빠릅니다.
Pedro
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.