public class Integrate extends AbstractFunctionEvaluator
Modifier and Type | Field and Description |
---|---|
static Integrate |
CONST
Constructor for the singleton
|
static java.util.Set<IExpr> |
DEBUG_EXPR |
static boolean |
INITIALIZED
Check if the internal rules are already initialized
|
static java.util.Set<ISymbol> |
INT_FUNCTIONS |
static java.util.Set<ISymbol> |
INT_RUBI_FUNCTIONS |
Constructor and Description |
---|
Integrate() |
Modifier and Type | Method and Description |
---|---|
IExpr |
evaluate(IAST holdallAST,
EvalEngine engine)
Symbolic evaluation of a function.
|
IAST |
getRuleAST()
Get the predefined rules for this function symbol.
|
static IAST |
getUtilityFunctionsRuleAST()
Get the rules defined for Integrate utility functions.
|
static void |
initSerializedRules(ISymbol symbol)
Initialize the serialized Rubi integration rules from ressource
/ser/integrate.ser . |
static boolean |
isQuadratic(edu.jas.poly.GenPolynomial<edu.jas.arith.BigInteger> poly,
edu.jas.arith.BigInteger[] result)
Check if the polynomial has maximum degree 2 in 1 variable and return the
coefficients.
|
static boolean |
isQuadratic(edu.jas.poly.GenPolynomial<edu.jas.arith.BigRational> poly,
edu.jas.arith.BigRational[] result)
Check if the polynomial has maximum degree 2 in 1 variable and return the
coefficients.
|
void |
setUp(ISymbol symbol)
Evaluate built-in rules and define Attributes for a function.
|
createRuleFromMethod, getNormalizedNegativeExpression, getNormalizedNegativeExpression, getPeriodicParts, getPureImaginaryPart, isNegativeExpression
numericEval
public static final Integrate CONST
public static boolean INITIALIZED
public static final java.util.Set<ISymbol> INT_RUBI_FUNCTIONS
public static final java.util.Set<ISymbol> INT_FUNCTIONS
public static final java.util.Set<IExpr> DEBUG_EXPR
public IExpr evaluate(IAST holdallAST, 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
holdallAST
- 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 static boolean isQuadratic(edu.jas.poly.GenPolynomial<edu.jas.arith.BigRational> poly, edu.jas.arith.BigRational[] result)
poly
- false
if the polynomials degree > 2 and number of
variables <> 1public static boolean isQuadratic(edu.jas.poly.GenPolynomial<edu.jas.arith.BigInteger> poly, edu.jas.arith.BigInteger[] result)
poly
- false
if the polynomials degree > 2 and number of
variables <> 1public IAST getRuleAST()
AbstractFunctionEvaluator
getRuleAST
in class AbstractFunctionEvaluator
null
if no rules are definedpublic static IAST getUtilityFunctionsRuleAST()
public void setUp(ISymbol symbol)
AbstractFunctionEvaluator
setUp
in interface IEvaluator
setUp
in class AbstractFunctionEvaluator
symbol
- the symbol which should be set uppublic static void initSerializedRules(ISymbol symbol)
/ser/integrate.ser
.symbol
-