dlinear  0.0.1
Delta-complete SMT solver for linear programming
Loading...
Searching...
No Matches
dlinear::drake::symbolic::ExpressionExp Class Reference

Symbolic expression representing exponentiation using the base of natural logarithms. More...

#include <symbolic_expression_cell.h>

Inheritance diagram for dlinear::drake::symbolic::ExpressionExp:
dlinear::drake::symbolic::UnaryExpressionCell dlinear::drake::symbolic::ExpressionCell

Public Member Functions

Expression Expand () override
 Expands out products and positive integer powers in expression.
 
Expression Substitute (const ExpressionSubstitution &expr_subst, const FormulaSubstitution &formula_subst) override
 Returns an Expression obtained by replacing all occurrences of the variables in s in the current expression cell with the corresponding expressions in s.
 
Expression Differentiate (const Variable &x) const override
 Differentiates this symbolic expression with respect to the variable var.
 
std::ostream & Display (std::ostream &os) const override
 Outputs string representation of expression into output stream os.
 
- Public Member Functions inherited from dlinear::drake::symbolic::UnaryExpressionCell
bool EqualTo (const ExpressionCell &e) const override
 Checks structural equality.
 
bool Less (const ExpressionCell &e) const override
 Provides lexicographical ordering between expressions.
 
mpq_class Evaluate (const Environment &env) const override
 Evaluates under a given environment (by default, an empty environment).
 
const Expressionget_argument () const
 Returns the argument.
 
 UnaryExpressionCell (const UnaryExpressionCell &e)=delete
 Copy-constructs from an lvalue.
 
 UnaryExpressionCell ()=delete
 Default constructor (DELETED).
 
UnaryExpressionCelloperator= (UnaryExpressionCell &&e)=delete
 Move-assigns (DELETED).
 
UnaryExpressionCelloperator= (const UnaryExpressionCell &e)=delete
 Copy-assigns (DELETED).
 
 UnaryExpressionCell (UnaryExpressionCell &&e)=delete
 Move-constructs from an rvalue.
 
 ~UnaryExpressionCell () override=default
 Default destructor.
 
- Public Member Functions inherited from dlinear::drake::symbolic::ExpressionCell
ExpressionKind get_kind () const
 Returns expression kind.
 
size_t get_hash () const
 Returns hash value.
 
const VariablesGetVariables () const
 Collects variables in expression.
 
bool is_polynomial () const
 Checks if this symbolic expression is convertible to Polynomial.
 
bool include_ite () const
 Returns true if this symbolic expression includes an ITE (If-Then-Else) expression.
 
unsigned use_count () const
 Returns the reference count of this cell.
 
 ExpressionCell (const ExpressionCell &e)=delete
 Copy-constructs an ExpressionCell from an lvalue.
 
 ExpressionCell (ExpressionCell &&e)=delete
 Move-constructs an ExpressionCell from an rvalue.
 
ExpressionCelloperator= (ExpressionCell &&e)=delete
 Move-assigns (DELETED).
 
ExpressionCelloperator= (const ExpressionCell &e)=delete
 Copy-assigns (DELETED).
 
virtual void UpdateHash ()
 Update the cached hash value.
 

Private Member Functions

mpq_class DoEvaluate (const mpq_class &v) const override
 Returns the evaluation result f(v ).
 

Additional Inherited Members

- Protected Member Functions inherited from dlinear::drake::symbolic::UnaryExpressionCell
 UnaryExpressionCell (ExpressionKind k, const Expression &e, bool is_poly)
 Constructs UnaryExpressionCell of kind k with hash, e, is_poly.
 
- Protected Member Functions inherited from dlinear::drake::symbolic::ExpressionCell
 ExpressionCell (ExpressionKind k)
 Constructs ExpressionCell of kind k.
 
 ExpressionCell (ExpressionKind k, bool is_poly)
 Constructs ExpressionCell of kind k with hash, is_poly, and include_ite.
 
 ExpressionCell (ExpressionKind k, bool is_poly, bool include_ite)
 Constructs ExpressionCell of kind k with hash, is_poly, and include_ite.
 
 ExpressionCell (ExpressionKind k, bool is_poly, bool include_ite, Variables variables)
 Constructs ExpressionCell of kind k with hash, is_poly, and include_ite.
 
 ExpressionCell (ExpressionKind k, bool is_poly, bool include_ite, Variables variables, size_t hash)
 Constructs ExpressionCell of kind k with hash, is_poly, and include_ite.
 
virtual ~ExpressionCell ()=default
 Default destructor.
 
Expression GetExpression ()
 Returns an expression pointing to this ExpressionCell.
 

Detailed Description

Symbolic expression representing exponentiation using the base of natural logarithms.

Definition at line 610 of file symbolic_expression_cell.h.

Member Function Documentation

◆ Differentiate()

Expression dlinear::drake::symbolic::ExpressionExp::Differentiate ( const Variable & x) const
overridevirtual

Differentiates this symbolic expression with respect to the variable var.

Exceptions
std::runtime_errorif it is not differentiable.

Implements dlinear::drake::symbolic::ExpressionCell.

◆ Expand()

Expression dlinear::drake::symbolic::ExpressionExp::Expand ( )
overridevirtual

Expands out products and positive integer powers in expression.

Exceptions
std::runtime_errorif NaN is detected during expansion.

Implements dlinear::drake::symbolic::ExpressionCell.

◆ Substitute()

Expression dlinear::drake::symbolic::ExpressionExp::Substitute ( const ExpressionSubstitution & expr_subst,
const FormulaSubstitution & formula_subst )
overridevirtual

Returns an Expression obtained by replacing all occurrences of the variables in s in the current expression cell with the corresponding expressions in s.

Exceptions
std::runtime_errorif NaN is detected during substitution.

Implements dlinear::drake::symbolic::ExpressionCell.


The documentation for this class was generated from the following file: