Three Term Recurrence Relations

Every family of orthogonal polynomials can be shown to satisfy a three term recurrence relation of the form

\[\begin{split}\begin{align} p_{-1}(x) &= 0 \\ p_0(x) &= 1 \\ p_{i+1}(x) &= (x-a_i) p_i(x) - b_i p_{i-1}(x) \\ \end{align}\end{split}\]

Knowing the coefficients of the recurrence relation \(a_i, b_i\) along with the normalization constants \(g_i\) such that

\[\int_D p_i(x) p_j(x) w(x) dx = g^2_i \delta_{i,j}\]

provides all the needed information for performing arithmetic, calculus, and other manipulations on orthogonal polynomial series.

This module provides a number of classes for storing information about these recurrence relationships that can be used with any of the functions in the base orthax namespace that expect an AbstractRecurrenceRelation. These include classes representing many of the “classical” orthogonal polynomial families, as well as the function generate_recurrence for generating recurrence coefficients for orthogonal polynomials with arbitrary user defined weight functions and domains.

Functions

generate_recurrence(weight, domain, n[, ...])

Generate recurrence relation coefficients for orthogonal polynomial family.

Base Classes

AbstractRecurrenceRelation(_domain)

Base class for three term recurrence relations.

TabulatedRecurrenceRelation(weight, domain, ...)

Recurrence relation from tabulated values.

Classical Recurrence Relations

Legendre([scale])

Recurrence relation for Legendre Polynomials \(P_n(x)\)

ShiftedLegendre([scale])

Recurrence relation for Shifted Legendre Polynomials \(P^*_n(x)\)

ChebyshevT([scale])

Recurrence relation for Chebyshev polynomials of the first kind \(T_n(x)\)

ChebyshevU([scale])

Recurrence relation for Chebyshev polynomials of the second kind \(U_n(x)\)

ChebyshevV([scale])

Recurrence relation for Chebyshev polynomials of the third kind \(V_n(x)\)

ChebyshevW([scale])

Recurrence relation for Chebyshev polynomials of the fourth kind \(W_n(x)\)

Gegenbauer(lmbda[, scale])

Recurrence relation for Gegenbauer polynomials \(C^\lambda_n(x)\)

Jacobi(alpha, beta[, scale])

Recurrence relation for Jacobi polynomials \(P^{(\alpha, \beta)}_n(x)\)

Laguerre([scale])

Recurrence relation for Laguerre polynomials \(L_n(x)\)

GeneralizedLaguerre(alpha[, scale])

Recurrence relation for Generalized Laguerre polynomials \(L^\alpha_n(x)\)

Hermite([scale])

Recurrence relation for (physicists) Hermite polynomials \(H_n(x)\)

HermiteE([scale])

Recurrence relation for (probabalists) Hermite polynomials \(He_n(x)\)