An opaque reusable interpolation plan at a distinct point sequence.
- mulData : Hex.DensePoly.MulPlan F
- pointsData : Array F
- evalData : Hex.DensePoly.EvalPlan F
- nodeData : Option ((poly : Hex.DensePoly F) × Hex.DensePoly.PointNode F (mulData self) (pointsData self).toList poly)
- invDerivData : Array F
- distinctData : (pointsData self).toList.Nodup
- invDerivSpec (built : (poly : Hex.DensePoly F) × Hex.DensePoly.PointNode F (mulData self) (pointsData self).toList poly) : nodeData self = some built → invDerivData self = Array.map (fun (x : F) => x⁻¹) ((evalData self).eval built.fst.derivative)
Instances For
Build a reusable interpolation plan exactly when the points are distinct.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Plan construction fails exactly when the point sequence has a duplicate.
Planned interpolation points.
Equations
- plan.points = Hex.DensePoly.InterpPlan.pointsData✝ plan
Instances For
Number of planned interpolation points.
Instances For
The points accessor has the advertised plan size.
The cached multipoint plan used for derivative evaluation.
Equations
- plan.evalPlan = Hex.DensePoly.InterpPlan.evalData✝ plan
Instances For
The nested evaluation plan uses the same point sequence.
The nested evaluation plan has the same size.
Interpolate a matching value array, rejecting only a count mismatch.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Interpolation rejects exactly a mismatch between point and value counts.
A successful interpolation has the requested values and no more coefficients than there are points.
The successful interpolation is the unique polynomial of size at most the point count with the supplied values.