archimedes.quadrature.QuadratureReferenceDataΒΆ

class archimedes.quadrature.QuadratureReferenceData(
nodes: ndarray,
weights: ndarray,
measure: Measure,
breakpoints: ndarray | None = None,
elements: ndarray | None = None,
)ΒΆ

Reference-domain payload of a QuadratureRule nodes/weights

Validated once at construction; a rule’s map_to reuses the same instance unchanged across every mapping, so this validation never re-runs just because the mapping changes. Never itself symbolic, so this stays a plain dataclass rather than a struct().

Parameters:
  • nodes (array_like) – Quadrature nodes \(x_i\), shape (n,), on measure.support.

  • weights (array_like) – Quadrature weights \(w_i\), shape (n,).

  • measure (Measure) – Weight function and reference domain the rule is defined on.

  • breakpoints (array_like, optional) – For a composite rule (see composite_quad()), the element boundaries it was tiled across, on measure.support; None for a plain rule.

  • elements (array_like, optional) – For a composite rule, the index of the element each node came from, shape (n,). Required whenever breakpoints is given and forbidden otherwise – a rule that claims element structure but cannot say which element a node belongs to is exactly the state that makes a discontinuous basis mis-integrate. See Quadrature.elements.

Raises:

ValueError – If nodes and weights do not have the same shape, or if breakpoints and elements are not both given or both omitted.

Attributes

breakpoints

elements

nodes

weights

measure

__init__(
nodes: ndarray,
weights: ndarray,
measure: Measure,
breakpoints: ndarray | None = None,
elements: ndarray | None = None,
) → NoneΒΆ