- lagrangeBasis :: Fractional a => [a] -> [Poly a]
- lagrange :: Num a => [a] -> Poly a
- lagrangeWeights :: Fractional a => [a] -> [a]
Documentation
lagrangeBasis :: Fractional a => [a] -> [Poly a]Source
Returns the Lagrange basis set of polynomials associated with a set of
points. This is the set of polynomials each of which is 1
at its
corresponding point in the input list and 0
at all others.
These polynomials are especially convenient, mathematically, for
interpolation. The interpolating polynomial for a set of points (x,y)
is given by using the y
s as coefficients for the basis given by
lagrangeBasis xs
. Computationally, this is not an especially stable
procedure though. Math.Polynomial.Interpolation.lagrangePolyFit
implements a slightly better algorithm based on the same idea.
Generally it is better to not compute the coefficients at all.
Math.Polynomial.Interpolation.polyInterp
evaluates the interpolating
polynomial directly, and is both quicker and more stable than any method
I know of that computes the coefficients.
lagrange :: Num a => [a] -> Poly aSource
Construct the Lagrange master polynomial for the Lagrange barycentric form: That is, the monic polynomial with a root at each point in the input list.
lagrangeWeights :: Fractional a => [a] -> [a]Source
Compute the weights associated with each abscissa in the Lagrange barycentric form.