interp_barycentric — MATH numerics op

• Data kinds: signal × signal × signal → signal

• Call: import fullseye as fs; fs.ledger.interp_barycentric(xk, yk, x) -> 'np.ndarray' (to call the implementation directly, import mathnumerics; mathnumerics.interp_barycentric(xk, yk, x) -> 'np.ndarray'; from the registry, opsmath.get("interp_barycentric"))

Usage

Evaluates at x the polynomial (degree len−1) through the points (xk, yk) with the barycentric formula (Berrut & Trefethen 2004).

Does not go through coefficients (no Vandermonde matrix is solved), so it is numerically stable even at high degree. With equally spaced points the Runge phenomenon (oscillation at the ends) shows up as is —— that is not a defect of the formula but a matter of how the points are placed.

Gate: polynomials of degree at most len−1 are reproduced exactly.

Family-wide input contract (fail-closed)

Every mathops op validates its input before computing (nothing slips through silently):

• complex input raises ValueError — coercing to float64 silently discards the imaginary part (numpy only emits a ComplexWarning and returns a plausible-looking wrong real number). State .real/.imag/abs() explicitly, or use complexops, which handles complex data.

• masked arrays with masked elements raise ValueError — the implicit conversion that peels off the mask and uses the raw values underneath is refused. Say explicitly whether to fill or to drop.

• NaN/Inf raises ValueError on every input (refused with the count stated — it propagates through the whole result).

• Shapes are strict: 1-D and 2-D are never implicitly promoted or broadcast (a matrix in a vector slot, or a vector in a matrix slot, raises ValueError; reshape explicitly).

• Size cap: ops that take a matrix, and the stat_histogram bins, raise ValueError beyond mathops.MAX_ELEMENTS (2^26 ≈ 67 million elements).

Detailed usage guide

• math_metrology family guide

References (sample data, literature)

• Sample-data catalog (download URLs / licences) — 2-D uses skimage.data (BSD/public domain) plus synthetic images; 3-D lists download URLs for real data sources (Stanford, PDS, …).

• Operator provenance and references — the sources of the research/methods this op family came from.

• The canonical algorithm (author, year) and its uses are named in the family usage guide above.

Runnable examples (verified samples that actually call this op)

• numerics_tour — py -3.11 examples/numerics_tour.py

Ops the type connects to (they accept signal as input)

mat_solve · mat_lstsq · stat_describe · stat_histogram · stat_zscore · interp_linear · interp_cubic · interp_scattered

Same category (numerics)

erf · erfc · bessel · gauss_quadrature · gauss_cubature · chebyshev_coeffs_nd · chebyshev_eval_nd · low_discrepancy


*Provenance: mathnumerics.py — MATH operator registry. This per-op note is generated by tools/opdocs.py md (do not hand-edit).*

© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.