Copyright | (c) 2009, 2011 Bryan O'Sullivan |
---|---|

License | BSD3 |

Maintainer | bos@serpentine.com |

Stability | experimental |

Portability | portable |

Safe Haskell | None |

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.