archimedes.measure.UnitInterval¶

class archimedes.measure.UnitInterval¶

The reference interval \([-1, 1]\), mapped onto \([a, b]\).

Shared by the Legendre and Jacobi measures (which differ only in weight, not domain) and by nodal bases defined on a reference interval.

Classes

Parameters([a, b])

Bounds of the target interval; see affine_params.

Methods

affine_params([a, b])

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

resolve_params([a, b])

Build this domain's Parameters, defaulting to a=-1.0, b=1.0

Attributes

support

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

__init__()¶
affine_params(a=None, b=None) → tuple[float, float]¶

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

The affine map \(x = \mathrm{scale} \cdot t + \mathrm{shift}\) with

\[\mathrm{scale} = \frac{b - a}{2}, \qquad \mathrm{shift} = \frac{a + b}{2}\]

carries the reference domain onto \([a, b]\).

Parameters:
  • a (float, optional) – Bounds of the target interval. Must both be given, or neither (falls back to the reference domain, (1.0, 0.0)).

  • b (float, optional) – Bounds of the target interval. Must both be given, or neither (falls back to the reference domain, (1.0, 0.0)).

Returns:

scale, shift – Affine parameters mapping reference points onto \([a, b]\).

Return type:

float

Raises:

ValueError – If only one of a, b is given, or if they aren’t finite.

resolve_params(
a=None,
b=None,
) → Parameters¶

Build this domain’s Parameters, defaulting to a=-1.0, b=1.0

property support: tuple[float, float]¶

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