archimedes.measure.ReferenceDomain¶

class archimedes.measure.ReferenceDomain¶

A reference support plus the affine map onto instances of it.

Concrete subclasses fix a reference support and define the family-specific parameters that map it onto a target domain – a/b bounds for UnitInterval, loc/scale for RealLine, rate/start for HalfLine.

Instances carry no state; they exist so that a Measure or a Basis can say which reference domain it lives on without re-implementing the map. See archimedes.measure.Measure, which pairs one of these with a weight function.

Classes

Parameters()

Base for a domain's affine-reparametrization parameters.

Methods

affine_params(*args, **kwargs)

Return (scale, shift) mapping the reference domain onto the requested target instance.

resolve_params(*args, **kwargs)

Build (and validate) this domain's Parameters.

Attributes

support

Reference support \(\mathcal{D} = [a, b]\).

__init__()¶
abstractmethod affine_params(*args, **kwargs) → tuple[float, float]¶

Return (scale, shift) mapping the reference domain onto the requested target instance.

For reference point t, the corresponding point in the target domain is \(x = \mathrm{scale} \cdot t + \mathrm{shift}\). Integration weights pick up the same scale as a Jacobian factor, since \(dx = \mathrm{scale} \cdot dt\).

Called with no arguments, must return the identity (1.0, 0.0), i.e. the reference domain itself. Validates the arguments via resolve_params().

abstractmethod resolve_params(
*args,
**kwargs,
) → Parameters¶

Build (and validate) this domain’s Parameters.

Called with no arguments, must return the Parameters for the reference domain itself.

abstract property support: tuple[float, float]¶

Reference support \(\mathcal{D} = [a, b]\).