archimedes.measure.JacobiMeasureΒΆ

class archimedes.measure.JacobiMeasure(alpha: float, beta: float)ΒΆ

Measure for the Jacobi polynomial family.

Weight \(w(x) = (1-x)^\alpha (1+x)^\beta\) on \([-1, 1]\), with \(\alpha, \beta > -1\).

The associated orthogonal polynomials are the Jacobi polynomials \(P_n^{(\alpha,\beta)}(x)\). Gauss-Legendre is the special case \(\alpha = \beta = 0\); Chebyshev quadrature of the first and second kind are the special cases \(\alpha = \beta = -1/2\) and \(\alpha = \beta = 1/2\), respectively. The zeroth moment (normalization) of the weight has a closed form in terms of the Beta function:

\[\int_{-1}^1 (1-x)^\alpha (1+x)^\beta \, dx = 2^{\alpha + \beta + 1} \, B(\alpha + 1, \beta + 1)\]

Since the reference domain \([-1, 1]\) is the same as the Legendre family, affine_params is the same.

Parameters:
  • alpha (float) – Exponents of the weight function. Must be \(> -1\) for the weight to be integrable at the corresponding endpoint.

  • beta (float) – Exponents of the weight function. Must be \(> -1\) for the weight to be integrable at the corresponding endpoint.

Raises:

ValueError – If alpha or beta is \(\leq -1\).

__init__(alpha: float, beta: float) NoneΒΆ

Methods

__init__(alpha, beta)

affine_params([a, b])

Map the reference interval \([-1, 1]\) onto \([a, b]\).

mass(*args, **kwargs)

Total mass of the measure mapped by affine_params(*args, **kwargs).

weight(x)

Reference weight function \(w(x) = (1-x)^\alpha (1+x)^\beta\), evaluated at x.

Attributes

reference_mass

\(2^{\alpha + \beta + 1} \, B(\alpha + 1, \beta + 1)\).

support

Support \([-1, 1]\).

uniform_weight

True if the weight is constant (weight(x) == weight(y)) for every x, y in support -- e.g. true for Legendre, false for Jacobi (singular at the endpoints) or Hermite/Laguerre (unbounded support).

alpha

beta