public class Roots extends AbstractFunctionEvaluator
Constructor and Description |
---|
Roots() |
Modifier and Type | Method and Description |
---|---|
IExpr |
evaluate(IAST ast,
EvalEngine engine)
Symbolic evaluation of a function.
|
static IAST |
findRoots(double... coefficients)
Given a set of polynomial coefficients, compute the roots of the
polynomial.
|
protected static IAST |
roots(IExpr arg1,
boolean numericSolutions,
IAST variables,
EvalEngine engine) |
protected static IAST |
rootsOfVariable(IExpr expr,
IExpr denom,
IAST variables,
boolean numericSolutions,
EvalEngine engine) |
createRuleFromMethod, getNormalizedNegativeExpression, getNormalizedNegativeExpression, getPeriodicParts, getPureImaginaryPart, getRuleAST, initSerializedRules, isNegativeExpression, setUp
numericEval
public IExpr evaluate(IAST ast, EvalEngine engine)
AbstractFunctionEvaluator
ast.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 IFunctionEvaluator
evaluate
in class AbstractFunctionEvaluator
ast
- 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()
protected static IAST roots(IExpr arg1, boolean numericSolutions, IAST variables, EvalEngine engine)
public static IAST findRoots(double... coefficients)
Given a set of polynomial coefficients, compute the roots of the polynomial. Depending on the polynomial being considered the roots may contain complex number. When complex numbers are present they will come in pairs of complex conjugates.
coefficients
- coefficients of the polynomial.protected static IAST rootsOfVariable(IExpr expr, IExpr denom, IAST variables, boolean numericSolutions, EvalEngine engine)
expr
- denom
- variables
- numericSolutions
- engine
- F.NIL
if no evaluation was possible.