comment Tschebycheff Polynome T(n,x); Computes T_n(x) Trek(n,x); a recursiv version (for test purposes) Tpoly(n); Computes the Chebyshev polynomials T_n endcomment function T(n,x) ## T(n,x) computes T_n(x) the trigonometric way. s=size(x,n); y=x; signum=-mod(n,2)*2+1; loop 1 to s(2); z=x{#}; if z>1; w=(z+sqrt(z^2-1))^n{#}; y{#}=(w+1/w)/2; else; if z<-1; w=(-z+sqrt(z^2-1))^n{#}; y{#}=signum{#}*(w+1/w)/2; else; y{#}=cos(n{#}*acos(z)); endif; endif; end; return y; endfunction function Trek(n,x) ## Computes the Chebyshev polynomial via the recursion formula. if (n==0); return ones(size(x)); endif; if (n==1); return x; endif; z=ones(size(x))_x; loop 3 to n+1; z=z_(2*x*z[#-1]-z[#-2]); end; return z[n+1]; endfunction function Tpoly (n) ## Computes the coefficients of the n-th chebyshev polynomial ## recursively. t0=[1]; t1=[0,1]; if (n==0); return t0; endif; if (n==1); return t1; endif; loop 2 to n t=(0|2*t1[1:#])-(t0|[0,0]); t0=t1; t1=t; end; return t; endfunction