exprinterpret.h File Reference Detailed Descriptionmethods to interpret (evaluate) an expression tree "fast" Definition in file exprinterpret.h. #include "scip/def.h" #include "blockmemshell/memory.h" #include "nlpi/type_expr.h" #include "nlpi/type_exprinterpret.h" #include "scip/intervalarith.h" Go to the source code of this file. Function Documentation
gets name and version of expression interpreter Definition at line 2157 of file exprinterpret_cppad.cpp.
gets descriptive text of expression interpreter Definition at line 2163 of file exprinterpret_cppad.cpp.
gets capabilities of expression interpreter (using bitflags) Definition at line 2169 of file exprinterpret_cppad.cpp. References SCIP_EXPRINTCAPABILITY_FUNCVALUE, SCIP_EXPRINTCAPABILITY_GRADIENT, SCIP_EXPRINTCAPABILITY_HESSIAN, SCIP_EXPRINTCAPABILITY_INTFUNCVALUE, SCIP_EXPRINTCAPABILITY_INTGRADIENT, and SCIP_EXPRINTCAPABILITY_NONE.
creates an expression interpreter object
Definition at line 2179 of file exprinterpret_cppad.cpp. References NULL, SCIP_ALLOC, SCIP_NOMEMORY, SCIP_OKAY, and SCIPdebugMessage.
frees an expression interpreter object
Definition at line 2196 of file exprinterpret_cppad.cpp.
compiles an expression tree and stores compiled data in expression tree
Definition at line 2209 of file exprinterpret_cppad.cpp. References NULL, SCIP_CALL, SCIP_OKAY, SCIPdebugMessage, SCIPexprCopyDeep(), SCIPexprFreeDeep(), SCIPexprtreeGetInterpreterData(), SCIPexprtreeGetNVars(), SCIPexprtreeGetRoot(), and SCIPexprtreeSetInterpreterData().
gives the capability to evaluate an expression by the expression interpreter In cases of user-given expressions, higher order derivatives may not be available for the user-expression, even if the expression interpreter could handle these. This method allows to recognize that, e.g., the Hessian for an expression is not available because it contains a user expression that does not provide Hessians.
Definition at line 2264 of file exprinterpret_cppad.cpp. References NULL, SCIP_EXPRINTCAPABILITY_NONE, and SCIPexprtreeGetInterpreterData().
frees interpreter data
Definition at line 2278 of file exprinterpret_cppad.cpp. References NULL, SCIP_OKAY, and SCIPexprFreeDeep().
notify expression interpreter that a new parameterization is used this probably causes retaping by AD algorithms notify expression interpreter that a new parameterization is used This probably causes retaping by AD algorithms.
Definition at line 2298 of file exprinterpret_cppad.cpp. References NULL, SCIP_OKAY, and SCIPexprtreeGetInterpreterData().
evaluates an expression tree
Definition at line 2317 of file exprinterpret_cppad.cpp. References NULL, SCIP_CALL, SCIP_OKAY, SCIP_PLUGINNOTFOUND, SCIPdebugMessage, SCIPerrorMessage, SCIPexprtreeEval(), SCIPexprtreeGetInterpreterData(), SCIPexprtreeGetNVars(), SCIPexprtreeGetParamVals(), and SCIPexprtreeGetRoot(). Referenced by SCIPexprintGrad(), SCIPexprintHessianDense(), and SCIPexprintHessianSparsityDense().
evaluates an expression tree on intervals
Definition at line 2385 of file exprinterpret_cppad.cpp. References SCIPInterval::infinity, NULL, SCIP_CALL, SCIP_OKAY, SCIP_PLUGINNOTFOUND, SCIPerrorMessage, SCIPexprtreeEvalInt(), SCIPexprtreeGetInterpreterData(), SCIPexprtreeGetNVars(), SCIPexprtreeGetParamVals(), and SCIPexprtreeGetRoot(). Referenced by SCIPexprintGradInt().
computes value and gradient of an expression tree
Definition at line 2451 of file exprinterpret_cppad.cpp. References FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIP_PLUGINNOTFOUND, SCIPerrorMessage, SCIPexprintEval(), SCIPexprtreeGetInterpreterData(), and SCIPexprtreeGetNVars().
computes interval value and interval gradient of an expression tree
Definition at line 2498 of file exprinterpret_cppad.cpp. References NULL, SCIP_CALL, SCIP_OKAY, SCIP_PLUGINNOTFOUND, SCIPerrorMessage, SCIPexprintEvalInt(), SCIPexprtreeGetInterpreterData(), and SCIPexprtreeGetNVars().
gives sparsity pattern of hessian NOTE: this function might be replaced later by something nicer. Since the AD code might need to do a forward sweep, you should pass variable values in here. gives sparsity pattern of hessian NOTE: this function might be replaced later by something nicer Since the AD code might need to do a forward sweep, you should pass variable values in here.
Definition at line 2548 of file exprinterpret_cppad.cpp. References NULL, SCIP_CALL, SCIP_OKAY, SCIP_PLUGINNOTFOUND, SCIP_Real, SCIPdebugMessage, SCIPerrorMessage, SCIPexprintEval(), SCIPexprtreeGetInterpreterData(), SCIPexprtreeGetNVars(), and TRUE.
computes value and dense hessian of an expression tree The full hessian is computed (lower left and upper right triangle). computes value and dense hessian of an expression tree the full hessian is computed (lower left and upper right triangle)
Definition at line 2621 of file exprinterpret_cppad.cpp. References FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIP_PLUGINNOTFOUND, SCIPerrorMessage, SCIPexprintEval(), SCIPexprtreeGetInterpreterData(), and SCIPexprtreeGetNVars(). |