Copyright | (c) 2009 2011 Bryan O'Sullivan |
---|---|
License | BSD3 |
Maintainer | bos@serpentine.com |
Stability | experimental |
Portability | portable |
Safe Haskell | Safe-Inferred |
Language | Haskell2010 |
Chebyshev polynomials.
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} \]
:: 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.
:: 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.