evaluate package:hmatrix-gsl

Evaluate a function by interpolating within the given dataset. For example:
>>> let xs = [1..10]

>>> let ys map (**2) [1..10]

>>> evaluate Akima (zip xs ys) 2.2
4.840000000000001
To successfully evaluate points x, the domain (x) values in points must be monotonically increasing. The evaluation point x must lie between the smallest and largest values in the sampled domain.
Evaluate the derivative of a function by interpolating within the given dataset. For example:
>>> let xs = [1..10]

>>> let ys map (**2) [1..10]

>>> evaluateDerivative Akima (zip xs ys) 2.2
4.4
To successfully evaluateDerivative points x, the domain (x) values in points must be monotonically increasing. The evaluation point x must lie between the smallest and largest values in the sampled domain.
Evaluate the second derivative of a function by interpolating within the given dataset. For example:
>>> let xs = [1..10]

>>> let ys map (**2) [1..10]

>>> evaluateDerivative2 Akima (zip xs ys) 2.2
2.0
To successfully evaluateDerivative2 points x, the domain (x) values in points must be monotonically increasing. The evaluation point x must lie between the smallest and largest values in the sampled domain.
Evaluate the second derivative of a function by interpolating within the given dataset. For example:
>>> let xs = vector [1..10]

>>> let ys = vector $ map (**2) [1..10]

>>> evaluateDerivative2V CSpline xs ys 2.2
2.4
To successfully evaluateDerivative2V xs ys x, the vectors xs and ys must have identical lengths, and xs must be monotonically increasing. The evaluation point x must lie between the smallest and largest values in xs.
Evaluate the derivative of a function by interpolating within the given dataset. For example:
>>> let xs = vector [1..10]

>>> let ys = vector $ map (**2) [1..10]

>>> evaluateDerivativeV CSpline xs ys 2.2
4.338867924528302
To successfully evaluateDerivativeV xs ys x, the vectors of corresponding domain-range values xs and ys must have identical lengths, and xs must be monotonically increasing. The interpolation point x must lie between the smallest and largest values in xs.
Evaluate the definite integral of a function by interpolating within the given dataset. For example:
>>> let xs = [1..10]

>>> let ys = map (**2) [1..10]

>>> evaluateIntegralV CSpline (zip xs ys) (2.2, 5.5)
51.909
To successfully evaluateIntegral points (a, b), the domain (x) values of points must be monotonically increasing. The integration bounds a and b must lie between the smallest and largest values in the sampled domain..
Evaluate the definite integral of a function by interpolating within the given dataset. For example:
>>> let xs = vector [1..10]

>>> let ys = vector $ map (**2) [1..10]

>>> evaluateIntegralV CSpline xs ys 2.2 5.5
51.89853207547169
To successfully evaluateIntegralV xs ys a b, the vectors xs and ys must have identical lengths, and xs must be monotonically increasing. The integration bounds a and b must lie between the smallest and largest values in xs.
Evaluate a function by interpolating within the given dataset. For example:
>>> let xs = vector [1..10]

>>> let ys = vector $ map (**2) [1..10]

>>> evaluateV CSpline xs ys 2.2
4.818867924528303
To successfully evaluateV xs ys x, the vectors of corresponding domain-range values xs and ys must have identical lengths, and xs must be monotonically increasing. The evaluation point x must lie between the smallest and largest values in xs.