Elsevier Science Home
Computer Physics Communications Program Library
Full text online from Science Direct
Programs in Physics & Physical Chemistry
CPC Home

[Licence| Download | New Version Template] acee_v1_0.gz(8 Kbytes)
Manuscript Title: An expansion of complicated functions using Chebyshev polynomials suitable for fast calculation.
Authors: M.O. Caceres, H.S. Wio, R.J.J. Stamm'ler
Program title: FUNEXP
Catalogue identifier: ACEE_v1_0
Distribution format: gz
Journal reference: Comput. Phys. Commun. 29(1983)261
Programming language: Fortran.
Computer: IBM 360/44.
Operating system: IBM 44PS.
RAM: 1K words
Word size: 32
Keywords: General purpose, Fast evaluation, Chebyshev polynomials, Recurrence relations, Function expansion.
Classification: 4.7.

Nature of problem:
When solving physical and mathematical problems on a computer, one or more complicated functions may have to be evaluated a great number of times. For the sake of computational efficiency it is then desirable to have a fast and compact algorithm for the evaluation of such functions.

Solution method:
Low-order power expansions of high accuracy are used. These are obtained via known relations from Fourier-Chebyshev series in a set of ad hoc chosen intervals. The program described in this paper performs the following tasks.
1) It partitions user-specified argument ranges (macro-intervals) in a given number of small subintervals.
2) In these subintervals, it evaluates the coefficients of Chebyshev expansions up to sixth order.
3) It rearranges the Chebyshev expansions into power series expansions, and computes, per subinterval, the average and maximum error in a given number of points.

The only restrictions on the programs are the number of subintervals in each macrointerval (NI). The combination number, given by 2*NI+132, must not exceed the dimension of the working vector. In the present version, the working vector has been dimensioned to 1000. However, this can readily be changed by the user.

Running time:
The full test run took 34 s on the IBM 360/44.