public class InterpolatingPolynomial extends AbstractEvaluator
See: Wikipedia - Polynomial interpolation and Wikipedia - Newton Polynomial
| Constructor and Description |
|---|
InterpolatingPolynomial() |
| Modifier and Type | Method and Description |
|---|---|
protected static IExpr[] |
computeDividedDifference(IExpr[] x,
IExpr[] y)
Return a copy of the divided difference array.
|
IExpr |
evaluate(IAST ast,
EvalEngine engine)
Symbolic evaluation of a function.
|
void |
setUp(ISymbol symbol)
Evaluate built-in rules and define Attributes for a function.
|
numericEvalprotected static IExpr[] computeDividedDifference(IExpr[] x, IExpr[] y)
The divided difference array is defined recursively by
f[x0] = f(x0) f[x0,x1,...,xk] = (f[x1,...,xk] - f[x0,...,x[k-1]]) / (xk - x0)
The computational complexity is O(N^2).
x - Interpolating points array.y - Interpolating values array.org.apache.commons.math4.exception.DimensionMismatchException - if the array lengths are different.org.apache.commons.math4.exception.NumberIsTooSmallException - if the number of points is less than 2.org.apache.commons.math4.exception.NonMonotonicSequenceException - if x is not sorted in strictly increasing order.public IExpr evaluate(IAST ast, EvalEngine engine)
AbstractEvaluatorast.get(0) (or alternatively ast.head()) contains the
head (i.e. the function symbol) of this abstract syntax tree (AST). ast.arg1() to ast.get(n) the ast contains the first to n-th argument of the
function (alternatively you get the first to fifth argument with the methods arg1(), arg2(),...
arg5()).Validate class to check the number or types of arguments in the evaluate
method.null value without throwing an exception!evaluate in interface IFunctionEvaluatorevaluate in class AbstractEvaluatorast - the abstract syntax tree (AST) which should be evaluatedengine - the users current evaluation enginenull, if evaluation isn't possibleValidate,
IExpr.head(),
IAST.arg1(),
IAST.arg2(),
IAST.arg3()public void setUp(ISymbol symbol)
AbstractEvaluatorsetUp in interface IEvaluatorsetUp in class AbstractEvaluatorsymbol - the symbol which should be set up