math-functions-0.3.4.4: Collection of tools for numeric computations

Copyright | (c) 2009 2011 Bryan O'Sullivan
License | BSD3
Maintainer | bos@serpentine.com
Stability | experimental
Portability | portable
Safe Haskell | None
Language | Haskell2010

Numeric.Polynomial.Chebyshev

Contents

- Chebyshev polinomials
- References

Description

Chebyshev polynomials.

Synopsis

- chebyshev :: Vector v Double => Double -> v Double -> Double
- chebyshevBroucke :: Vector v Double => Double -> v Double -> Double

# Chebyshev polinomials

A Chebyshev polynomial of the first kind is defined by the following recurrence:

\[\begin{aligned} T_0(x) &= 1 \\ T_1(x) &= x \\ T_{n+1}(x) &= 2xT_n(x) - T_{n-1}(x) \\ \end{aligned} \]

chebyshev #

Arguments

:: Vector v Double |
=> Double | Parameter of each function.
-> v Double | Coefficients of each polynomial term, in increasing order.
-> Double |

Evaluate a Chebyshev polynomial of the first kind. Uses Clenshaw's algorithm.

chebyshevBroucke #

Arguments

:: Vector v Double |
=> Double | Parameter of each function.
-> v Double | Coefficients of each polynomial term, in increasing order.
-> Double |

Evaluate a Chebyshev polynomial of the first kind. Uses Broucke's ECHEB algorithm, and his convention for coefficient handling. It treat 0th coefficient different so

    chebyshev x [a0,a1,a2...] == chebyshevBroucke [2*a0,a1,a2...]

# References

- Broucke, R. (1973) Algorithm 446: Ten subroutines for the manipulation of Chebyshev series. Communications of the ACM 16(4):254–256. http://doi.acm.org/10.1145/362003.362037
- Clenshaw, C.W. (1962) Chebyshev series for mathematical functions. National Physical Laboratory Mathematical Tables 5, Her Majesty's Stationery Office, London.