gpe.chebyshev#

Chebyshev methods.

Attributes#

Classes#

Base

Simple base class.

Chebyshev

Chebyshev pseudo-spectral basis of order N.

Functions#

sinnx_sinx(x, n[, d])

Return the dth derivative of sin(n*x)/sin(x).

Module Contents#

_EPS[source]#
sinnx_sinx(x, n, d=0)[source]#

Return the dth derivative of sin(n*x)/sin(x).

class Base(**kw)[source]#

Simple base class.

Allows class variables to be assigned in the constructor and then delegates to init() for initialization. See {class}`gpe.utils.ExperimentBase` for a more comprehensive example.

_initializing = True[source]#
__setattr__(key, value)[source]#
init()[source]#

Perform any initializations here.

__repr__()[source]#

Return a rudimentary representation for debugging.

class Chebyshev(**kw)[source]#

Bases: Base

Chebyshev pseudo-spectral basis of order N.

This is an orthonormal basis for functions on [-1, 1]:

\[\braket{f, g} = \int_{-1}^{1} \frac{f^*(x)g(x)}{\sqrt{1-x^2}}\d{x}\]
Parameters:
  • N (int) – Order of the basis. The quadrature rule is exact for polynomials of order 2N-1 (i.e. containing 2N terms \(1, x, x^2, ..., x^{2N-1}\)). This means that there are N interior abscissa or N+1 abscissa including the endpoints (interior = False).

  • interior (bool) – Type of collocation points. If True, then N interior abscissa will be used, the roots of T_N(x), also called the Chebyshev-Gauss quadature. If False, then N+1 abscissa will be used, including the endpoints (extreme + endpoints), also called the Chebyshev-Gauss-Lobatto quadrature.

  • x (array_like) – Abscissa and corresponding weights.

  • w (array_like) – Abscissa and corresponding weights.

N = 32[source]#
interior = True[source]#
xL = -1.0[source]#
xR = 1.0[source]#
init()[source]#

Perform any initializations here.

static W(x)[source]#

Return the integration weight (metric).

static Tn(x, n, d=0)[source]#

Return the dth derivative of the nth Chebyshev polynomial.

These are orthogonal, but not normalized.

Cn(x, n)[source]#

Return the nth Cardinal function: zero on all abscissa except x_n.

get_a(f)[source]#

Return the Chebyshev series using the DCT.

get_f(a)[source]#

Evaluate the series at the abscissa using the DCT.

This is the inverse of get_a().

diff(f, d=1)[source]#

Return the dth derivative of f.

integrate(f)[source]#

Return the integral of f.