Clenshaw递推公式在数值分析中,Clenshaw递推公式 (由Charles William Clenshaw发现)是一个求切比雪夫多项式的值的递归方法。 切比雪夫多项式 N次切比雪夫多项式,是下面形式的多项式p(x) p ( x ) = ∑ n = 0 N a n T n ( x ) {\displaystyle p(x)=\sum _{n=0}^{N}a_{n}T_{n}(x)} 其中Tn是n阶切比雪夫多项式. Clenshaw递推公式 Clenshaw递推公式可以用来计算切比雪夫多项式的值。给定 p ( x ) = ∑ n = 0 N a n T n ( x ) {\displaystyle p(x)=\sum _{n=0}^{N}a_{n}T_{n}(x)} 我们定义 b N {\displaystyle b_{N}\,\!} := a N {\displaystyle :=a_{N}\,} b N − 1 {\displaystyle b_{N-1}\,\!} := 2 x b N + a N − 1 {\displaystyle :=2xb_{N}+a_{N-1}\,} b N − n {\displaystyle b_{N-n}\,\!} := 2 x b N − n + 1 + a N − n − b N − n + 2 , n = 2 , … , N − 1 {\displaystyle :=2xb_{N-n+1}+a_{N-n}-b_{N-n+2}\,,\;n=2,\ldots ,N-1\,} b 0 {\displaystyle b_{0}\,\!} := x b 1 + a 0 − b 2 {\displaystyle :=xb_{1}+a_{0}-b_{2}\,} 于是 p ( x ) = ∑ n = 0 N a n T n ( x ) = b 0 . {\displaystyle p(x)=\sum _{n=0}^{N}a_{n}T_{n}(x)=b_{0}.} (注)上面的公式在 N = 0 , 1 {\displaystyle N=0,1} 的情况下无意义。 此时我们可以用下面的公式: b N + 2 := 0 {\displaystyle b_{N+2}:=0\,} b N + 1 := 0 {\displaystyle b_{N+1}:=0\,} b j := 2 x b j + 1 − b j + 2 + a j , j = N , … , 1 {\displaystyle b_{j}:=2xb_{j+1}-b_{j+2}+a_{j}\,,\;j=N,\ldots ,1} (downward, omit if N=0) p ( x ) := x b 1 − b 2 + a 0 {\displaystyle p(x):=xb_{1}-b_{2}+a_{0}\,} q ( x ) := 2 x b 1 − b 2 + a 0 {\displaystyle q(x):=2xb_{1}-b_{2}+a_{0}\,} 这里 p ( x ) = ∑ n = 0 N a n T n ( x ) {\displaystyle p(x)=\sum _{n=0}^{N}a_{n}T_{n}(x)} 或者 q ( x ) = ∑ n = 0 N a n U n ( x ) {\displaystyle q(x)=\sum _{n=0}^{N}a_{n}U_{n}(x)} 其中 U n ( x ) {\displaystyle U_{n}(x)} 是第二类切比雪夫多项式。