수치해석 에서는 클렌쇼합계 라고도 하는 클렌쇼 알고리즘 은 체비셰프 다항식 의 선형 결합을 평가하는 재귀적 방법이다.[1] [2] 이 방법은 1955년 찰스 윌리엄 클린쇼 에 의해 출판되었다. 호너의 단수형 선형 결합 평가법을 일반화한 것이다.
그것은 체비셰프 다항식에만 적용되는 것이 아니라, 3개월의 재발 관계 에 의해 정의될 수 있는 어떤 종류의 기능에도 적용된다.[3]
클렌쇼 알고리즘 완전한 일반성에서, Clenshaw 알고리즘은 유한 계열 함수 functionsk ( x ) {\displaystyle \pi _{k}(x)} 의 가중 합계를 계산한다.
S ( x ) = ∑ k = 0 n a k ϕ k ( x ) {\displaystyle S(x)=\sum _{k=0}^{n}a_{k}\phi _{k}(x)} 여기서 ϕk , k = 0 , 1 , … {\displaystyle \phi _{k}\;k=0,1,\ldots }은( 는) 선형 반복 관계를 만족하는 함수의 순서다.
ϕ k + 1 ( x ) = α k ( x ) ϕ k ( x ) + β k ( x ) ϕ k − 1 ( x ) , {\displaystyle \phi \phi_{k+1}(x)=\phi_{k}(x)\,\phi_{k-1}(x),} 여기서 계수 αk (x ) {\displaystyle \alpha \alpha _{k}(x)} 및 β k (x ) {\displaystyle \beta _{k}(x)} 을(를) 미리 알 수 있다 .
알고리즘은 ϕk (x ) {\displaystyle \phi _{k }(x )} 이(가) 직접 계산하기 복잡한 함수일 때 가장 유용하지만 αk (x ) {\displaystyle \ alpha _{ k}(x) 와 βk (x ) 가 특히 단순 하다. 가장 일반적인 애플리케이션에서 α( x ) {\displaystyle \alpha(x)} 은(는) k {\displaystyle k} 에 종속되지 않으며, β {\displaystyle \beta } 은(는) x {\ displaystystyle x } 도 k} 에도 종속되지 않는 상수입니다.
지정 된 일련의 계수를 0 , … , n {\ displaystyle a_{0},\ ldots ,a_{n}}} 에 대한 합계를 수행하려면 "역방향" 반복 공식으로 값 b k ( x ){\displaystyle b_{k}(x) 를 계산하십시오.
b n + 1 ( x ) = b n + 2 ( x ) = 0 , b k ( x ) = a k + α k ( x ) b k + 1 ( x ) + β k + 1 ( x ) b k + 2 ( x ) . {\displaystyle {\regated}b_{n+1}b_{n+1}(x)&=b_{n+2}(x)=0,\\b_{k}(x)&=a_{k}+}\,b_{k+1}(x)+\,b_{k+1}(x)_{k+2(x). \end{정렬}}} 이 계산은 함수 ϕk ( x ) {\displaystyle \phi _{k }( x)} 을(를) 직접 참조하지 않는다는 점 에 유의하십시오. b 2 ( x ) {\displaystyle b_{2}( x )} 와 b 1 ( x) {\displaystyle b_{1}(x )} 을 계산한 후 원하는 합을 ϕ 0 (x ) 과 가장 단순한 함수로서 표현할 수 있다. \phi _{0}(x)} 및 and 1 (x ) {\displaystyle \phi _{1}(x)} :
S ( x ) = ϕ 0 ( x ) a 0 + ϕ 1 ( x ) b 1 ( x ) + β 1 ( x ) ϕ 0 ( x ) b 2 ( x ) . {\displaystyle S(x)=\phi _{0}(x)\,a_{0}+\phi _{1}(x)\,b_{1}(x)+\{1}(x)\,\phi _{0}(x)\,b_{2}(x). } 자세한 정보 및 안정성 분석은 Fox와 Parker를[4] 참조하십시오.
예 클렌쇼의 특별한 경우로서 호너 특히 간단한 경우는 양식의 다항식을 평가할 때 발생한다.
S ( x ) = ∑ k = 0 n a k x k {\ displaystyle S(x)=\sum _{k=0}^{n}a_{k}x^{k }}}}. 기능은 간단하다.
ϕ 0 ( x ) = 1 , ϕ k ( x ) = x k = x ϕ k − 1 ( x ) {\displaystyle {\regated}\phi _{0}(x)&=1,\\\phi _{k}=x^{k}=x\pi _{k-1}(x)\ended}}}}}}}} 그리고 재발 계수 α( x ) = x {\displaystyle \chd(x)=x} 및 β = 0 {\displaystyle \chd =0} 에 의해 생성된다.
이 경우, 합계를 계산하기 위한 반복 공식은 다음과 같다.
b k ( x ) = a k + x b k + 1 ( x ) {\displaystyle b_{k}(x)=a_{k}+xb_{k+1}(x)} 그리고, 이 경우, 합계는 간단하다.
S ( x ) = 0 + x b 1 ( x ) = b 0 ( x ) {\displaystyle S(x)=a_{0}+xb_{1}(x)=b_{0}(x )}, 그게 바로 일반적인 호너의 방법이야
체비셰프 시리즈 특별 케이스 잘린 체비셰프 시리즈 고려
p n ( x ) = a 0 + a 1 T 1 ( x ) + a 2 T 2 ( x ) + ⋯ + a n T n ( x ) . {\displaystyle p_{n}(x)=a_{0}+a_{1 {}T_{1}(x)+a_{2} T_{2}(x)+\cdots +a_{n} T_{n}(x). } 체비셰프 다항식 의 재귀 관계에 있는 계수는 다음과 같다.
α ( x ) = 2 x , β = − 1 , {\displaystyle \cHB(x)=2x,\cHB \cHB =-1,} 초기의 조건으로
T 0 ( x ) = 1 , T 1 ( x ) = x . {\displaystyle T_{0}(x)=1,\quad T_{1}(x)=x.} 따라서, 재발은 다음과 같다.
b k ( x ) = a k + 2 x b k + 1 ( x ) − b k + 2 ( x ) {\displaystyle b_{k}(x)=a_{k}+2xb_{k+1}(x)-b_{k+2}(x)} 그리고 최종 합계는
p n ( x ) = a 0 + x b 1 ( x ) − b 2 ( x ) . {\displaystyle p_{n}(x)=a_{0}+xb_{1}(x)-b_{2}(x). } 이를 평가하는 한 가지 방법은 한 단계 더 반복하여 계산하는 것이다.
b 0 ( x ) = 2 a 0 + 2 x b 1 ( x ) − b 2 ( x ) , {\displaystyle b_{0}=2a_{0}+2xb_{1}(x)-b_{2}(x),} (계수 가0 두 배로 증가했다는 점에 유의) 그 다음
p n ( x ) = 1 2 [ b 0 ( x ) − b 2 ( x ) ] . {\displaystyle p_{n}(x)={\frac {1}{1}{2}}\왼쪽[b_{0}(x)-b_{2}(x)\오른쪽] } 타원형의 자오선 호 길이 클렌쇼 합계는 측지학적 용도에 광범위하게 사용된다.[2] 간단한 응용은 타원체 표면의 자오선 호 거리를 계산하기 위해 삼각계 시리즈를 합친 것이다. 이것들이 그 형태를 띠고 있다.
m ( θ ) = C 0 θ + C 1 죄를 짓다 θ + C 2 죄를 짓다 2 θ + ⋯ + C n 죄를 짓다 n θ . {\displaystyle m(\theta )=C_{0}\theta +C_{1}\sin \theta +C_{2}\sin 2\theta +\cdots +C_{n}\sina .} 초기 C 0 θ {\displaystyle C_{0}\,\theta } 의 용어를 제외하고 나머지는 적절한 형식의 합이다. ϕ 0 ( θ ) = 죄 0 = 죄 0 = 죄 0 = 0 {\displaystyle \pi _{0}(\theta )=\sin 0\theta =\sin 0=0} 이기 때문에 선도적인 용어는 없다.
sin k θ {\displaystyle \sin k\theta} 에 대한 반복 관계 는 다음과 같다.
sin ( k + 1 ) θ = 2 cos sin sin k - sin ( k - 1 ) θ {\displaystyle \sin(k+1)\theta \sina -\sin(k-1)\ta \cos \sina }, , 재귀 관계에 계수 만들기
α k ( θ ) = 2 cas θ , β k = − 1. {\displaystyle \cHB(\theta )=2\cos \theta,\cos \theta,\cos \cos \cos \cos \cos \theet \ 그리고 이 시리즈의 평가는 다음과 같다.
b n + 1 ( θ ) = b n + 2 ( θ ) = 0 , b k ( θ ) = C k + 2 cas θ b k + 1 ( θ ) − b k + 2 ( θ ) , f o r n ≥ k ≥ 1. {\displaystyle {\begin{aligned}b_{n+1}(\theta )&=b_{n+2}(\theta )=0,\\b_{k}(\theta )&=C_{k}+2\cos \theta \,b_{k+1}(\theta )-b_{k+2}(\theta ),\quad \mathrm {for\ } n\geq k\geq 1.\end{aligned}}} The final step is made particularly simple because ϕ 0 ( θ ) = sin 0 = 0 {\displaystyle \phi _{0}(\theta )=\sin 0=0} , so the end of the recurrence is simply b 1 ( θ ) sin ( θ ) {\displaystyle b_{1}(\theta )\sin(\theta )} ; the C 0 θ {\displaystyle C_{0}\,\theta } term is added separately:
m ( θ ) = C 0 θ + b 1 ( θ ) 죄를 짓다 θ . {\displaystyle m(\theta )=C_{0}\,\theta +b_{1}(\theta )\sin \theta .} 알고리즘에는 trig {\displaystyle \cos \cos \ theta } 및 sin display {\displaystyle \sin \theta} 의 두 삼각측량만 평가하면 된다는 점에 유의하십시오.
자오선 호 길이의 차이 때로는 높은 상대적 정확도를 유지하는 방식으로 두 자오선 호의 차이를 계산할 필요가 있다. 이것은 삼각측량적 정체성을 사용하여 작성한다.
m ( θ 1 ) − m ( θ 2 ) = C 0 ( θ 1 − θ 2 ) + ∑ k = 1 n 2 C k 죄를 짓다 ( 1 2 k ( θ 1 − θ 2 ) ) cas ( 1 2 k ( θ 1 + θ 2 ) ) . {\displaystyle m(\theta _{1}-m(\theta _{2}) =C_{0}(\theta _{1}-\theta _{2})+\sum _{k=1}^{n}2C_{k}\sin {\bigl (}{\textstyle {\frac {1}{2}}}k(\theta _{1}-\theta _{2}){\bigr )}\cos {\bigl (}{\textstyle {\frac {1}{2}}}k(\theta _{1}+\theta _{2}){\bigr )}. } 우리가 동시 에 m ( θ 1 ) + m ( θ 2 )을 계산하고 매트릭스 합계 를 수행한다면, 이 경우에[5] 클렌쇼 합계가 적용 될 수 있다.
M ( θ 1 , θ 2 ) = [ ( m ( θ 1 ) + m ( θ 2 ) ) / 2 ( m ( θ 1 ) − m ( θ 2 ) ) / ( θ 1 − θ 2 ) ] = C 0 [ μ 1 ] + ∑ k = 1 n C k F k ( θ 1 , θ 2 ) , {\displaystyle {\mathsf {M}}(\theta _{1},\theta _{2})={\begin{bmatrix}(m(\theta _{1})+m(\theta _{2}))/2\\(m(\theta _{1})-m(\theta _{2}))/(\theta _{1}-\theta _{2})\end{bmatrix}}= C_{0}{\begin{bmatrix}\mu \\\1\end{bmatrix}+++_{k=1}^{n_{k}{\mathsf{F}{F}}(\teta _{1},\teta _{2}),}} 어디에
δ = 1 2 ( θ 1 − θ 2 ) , μ = 1 2 ( θ 1 + θ 2 ) , F k ( θ 1 , θ 2 ) = [ cas k δ 죄를 짓다 k μ 죄를 짓다 k δ δ cas k μ ] . {\displaystyle {\begin{aligned}\delta &={\textstyle {\frac {1}{2}}}(\theta _{1}-\theta _{2}),\\\mu &={\textstyle {\frac {1}{2}}}(\theta _{1}+\theta _{2}),\\{\mathsf {F}}_{k}(\theta _{1},\theta _{2})&={\begin{bmatrix}\cos k\delta \sin k\mu \\\displaystyle {\frac {\sin k\delta }{\delta }}\cos k\mu \end{bmatrix}}. \end{정렬}}} M ( element 1, ( 2 ) {\displaystyle {\mathsf{M}(\theta _{1},\theta _{2}) 의 첫 번째 요소는 m {\displaystyle m} 의 평균 값이고 두 번째 요소는 평균 기울기입니다. F k ( θ 1 , θ 2 ) {\displaystyle {\mathsf {F}_{k}(\theta _{1},\theta _{2}) 는 재발 관계를 만족한다 .
F k + 1 ( θ 1 , θ 2 ) = A ( θ 1 , θ 2 ) F k ( θ 1 , θ 2 ) − F k − 1 ( θ 1 , θ 2 ) , {\displaystyle {\mathsf {F}}_{k+1}(\theta _{1},\theta _{2})={\mathsf {A}}(\theta _{1},\theta _{2}){\mathsf {F}}_{k}(\theta _{1},\theta _{2})-{\mathsf {F}}_{k-1}(\theta _{1},\theta _{2}),} 어디에
A ( θ 1 , θ 2 ) = 2 [ cas δ cas μ − δ 죄를 짓다 δ 죄를 짓다 μ − 죄를 짓다 δ δ 죄를 짓다 μ cas δ cas μ ] {\displaystyle {\mathsf {A}}(\theta _{1},\theta _{2})=2{\begin{bmatrix}\cos \delta \cos \mu &-\delta \sin \delta \sin \mu \\-\displaystyle {\frac {\sin \delta }{\delta }}\sin \mu &\cos \delta \cos \mu \end{bmatrix}}} 재발 관계에서 α {\displaystyle \alpha } 을(를) 대신하고, β = - 1 {\displaystyle \beta =-1} 을(를) 대신한다. 표준 Clenshaw 알고리즘은 이제 수율에 적용될 수 있다.
B n + 1 = B n + 2 = 0 , B k = C k I + A B k + 1 − B k + 2 , f o r n ≥ k ≥ 1 , M ( θ 1 , θ 2 ) = C 0 [ μ 1 ] + B 1 F 1 ( θ 1 , θ 2 ) , {\displaystyle{\begin{정렬}{\mathsf{B}}_{n+1}&, ={\mathsf{B}}_{n+2}={\mathsf{0}},\\{\mathsf{B}}_{k}&을 말한다.=C_{k}{\mathsf{나는}}+{\mathsf{A}}{\mathsf{B}}_{k+1}-{\mathsf{B}}_{k+2},\qquad\mathrm{for\}n\geq k\geq 1,\\{\mathsf{M}}(\theta_{1},\theta_{2})&, =.C_{0}{\begin{bmatrix}\mu \\1\end{bmatrix}}+{\mathsf{B}}_{1}{\mathsf{F}}_{1}(\theta _{1},\t. 헤타 _{2}),\end{aigned}}} 여기서 B k {\ displaystyle {\mathsf{B}_{k}} 은(는) 2×2 행렬이다 . 드디어 우리가 가지게 되었다.
m ( θ 1 ) − m ( θ 2 ) θ 1 − θ 2 = M 2 ( θ 1 , θ 2 ) . {\displaystyle {\frac(\theta _{1}-m)(\theta _{2}){\theta_{1}-\theta_{2}}={\mathsf{M}}{2}(\teta _{1},\ta _{2}). } This technique can be used in the limit θ 2 = θ 1 = μ {\displaystyle \theta _{2}=\theta _{1}=\mu } and δ = 0 {\displaystyle \delta =0\,} to simultaneously compute m ( μ ) {\displaystyle m(\mu )} and the derivative d m ( μ ) / d μ {\displaystyle dm(\mu )/d\mu } , provided that, in evaluating F 1 {\displaystyle {\mathsf{F}_{ 1 } 및 A {\ displaystyle {\ mathsf {\mathsf{A }}, Δ = 1 {\delta \ lim_ {\delta \rightarrow 0}(\sin \delta )/\delta =1 }.
참고 항목 참조 ^ Clenshaw, C.W.(7월 1955년)."체비쇼프 시리즈의 가중에 대한 참고 사항".수학 표 및 에이즈 계수에. 9(51):118.doi:10.1090/S0025-5718-1955-0071856-0.ISSN 0025-5718.이 논문은 제1종 Tn(()))Tn(2)− 1){\displaystyle T_{n}())=의 Shifted 체비 셰프 다항식의 용어로 쓰여져 있습니다. T_{n}(2x-1)} . ^ a b Tscherning, C. C.; Poder, K. (1982), "Some Geodetic applications of Clenshaw Summation" (PDF) , Bolletino di Geodesia e Scienze Affini , 41 (4): 349–375, archived from the original (PDF) on 2007-06-12, retrieved 2012-08-02 ^ Press, WH; Teukolsky, SA; Vetterling, WT; Flannery, BP (2007), "Section 5.4.2. Clenshaw's Recurrence Formula" , Numerical Recipes: The Art of Scientific Computing (3rd ed.), New York: Cambridge University Press, ISBN 978-0-521-88068-8 ^ Fox, Leslie; Parker, Ian B. (1968), Chebyshev Polynomials in Numerical Analysis , Oxford University Press, ISBN 0-19-859614-6 ^ Karney, C. F. F. (2014), Clenshaw evaluation of differenced sums