NumPy

This is documentation for an old release of NumPy (version 1.19). Read this page in the documentation of the latest stable release (version 2.2).

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]:

T_n(x) = \frac{z^n + z^{-n}}{2} \\
z\frac{dx}{dz} = \frac{z - z^{-1}}{2}.

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 (preprint: https://www.math.hmc.edu/~benjamin/papers/CombTrig.pdf, pg. 4)