Eigen::symbolic Namespace Reference

Classes

class  AddExpr
 
class  BaseExpr
 
struct  is_symbolic
 
class  NegateExpr
 
class  ProductExpr
 
class  QuotientExpr
 
class  Symbol
 
class  SymbolExpr
 
class  SymbolValue
 
class  ValueExpr
 

Detailed Description

This namespace defines a set of classes and functions to build and evaluate symbolic expressions of scalar type Index. Here is a simple example:

// First step, defines symbols:
struct x_tag {}; static const symbolic::SymbolExpr<x_tag> x;
struct y_tag {}; static const symbolic::SymbolExpr<y_tag> y;
struct z_tag {}; static const symbolic::SymbolExpr<z_tag> z;
// Defines an expression:
auto expr = (x+3)/y+z;
// And evaluate it: (c++14)
std::cout << expr.eval(x=6,y=3,z=-13) << "\n";
const Scalar & y

It is currently only used internally to define and manipulate the Eigen::placeholders::last and Eigen::placeholders::lastp1 symbols in Eigen::seq and Eigen::seqN.