New in version 1.4.0.

Chebyshev Series (numpy.polynomial.chebyshev)

This module provides a number of objects (mostly functions) useful for dealing with Chebyshev series, including a Chebyshev class that encapsulates the usual arithmetic operations. (General information on how this module represents and works with such polynomials is in the docstring for its “parent” sub-package, numpy.polynomial).

Classes

Chebyshev(coef[, domain, window])

A Chebyshev series class.

Arithmetic

chebadd(c1, c2)

Add one Chebyshev series to another.

chebsub(c1, c2)

Subtract one Chebyshev series from another.

chebmulx(c)

Multiply a Chebyshev series by x.

chebmul(c1, c2)

Multiply one Chebyshev series by another.

chebdiv(c1, c2)

Divide one Chebyshev series by another.

chebpow(c, pow[, maxpower])

Raise a Chebyshev series to a power.

chebval(x, c[, tensor])

Evaluate a Chebyshev series at points x.

chebval2d(x, y, c)

Evaluate a 2-D Chebyshev series at points (x, y).

chebval3d(x, y, z, c)

Evaluate a 3-D Chebyshev series at points (x, y, z).

chebgrid2d(x, y, c)

Evaluate a 2-D Chebyshev series on the Cartesian product of x and y.

chebgrid3d(x, y, z, c)

Evaluate a 3-D Chebyshev series on the Cartesian product of x, y, and z.

Calculus

chebder(c[, m, scl, axis])

Differentiate a Chebyshev series.

chebint(c[, m, k, lbnd, scl, axis])

Integrate a Chebyshev series.

Misc Functions

chebfromroots(roots)

Generate a Chebyshev series with given roots.

chebroots(c)

Compute the roots of a Chebyshev series.

chebvander(x, deg)

Pseudo-Vandermonde matrix of given degree.

chebvander2d(x, y, deg)

Pseudo-Vandermonde matrix of given degrees.

chebvander3d(x, y, z, deg)

Pseudo-Vandermonde matrix of given degrees.

chebgauss(deg)

Gauss-Chebyshev quadrature.

chebweight(x)

The weight function of the Chebyshev polynomials.

chebcompanion(c)

Return the scaled companion matrix of c.

chebfit(x, y, deg[, rcond, full, w])

Least squares fit of Chebyshev series to data.

chebpts1(npts)

Chebyshev points of the first kind.

chebpts2(npts)

Chebyshev points of the second kind.

chebtrim(c[, tol])

Remove "small" "trailing" coefficients from a polynomial.

chebline(off, scl)

Chebyshev series whose graph is a straight line.

cheb2poly(c)

Convert a Chebyshev series to a polynomial.

poly2cheb(pol)

Convert a polynomial to a Chebyshev series.

chebinterpolate(func, deg[, args])

Interpolate a function at the Chebyshev points of the first kind.

Notes

The implementations of multiplication, division, integration, and differentiation use the algebraic identities [1]:

\[\begin{split}T_n(x) = \frac{z^n + z^{-n}}{2} \\ z\frac{dx}{dz} = \frac{z - z^{-1}}{2}.\end{split}\]

where

\[x = \frac{z + z^{-1}}{2}.\]

These identities allow a Chebyshev series to be expressed as a finite, symmetric Laurent series. In this module, this sort of Laurent series is referred to as a “z-series.”

References

1

A. T. Benjamin, et al., “Combinatorial Trigonometry with Chebyshev Polynomials,” Journal of Statistical Planning and Inference 14, 2008 (https://web.archive.org/web/20080221202153/https://www.math.hmc.edu/~benjamin/papers/CombTrig.pdf, pg. 4)