45typedef SymEngine::RCP<const SymEngine::MExprPoly>
Polynomial;
48typedef std::unordered_map<Symbol, Expression, SymEngine::RCPBasicHash, SymEngine::RCPBasicKeyEq>
AffineCoeffs;
123 return {
false, SymEngine::null, SymEngine::null};
Symbol symbol(const std::string &name)
Creates a symbolic variable with the given name.
SymEngine::RCP< const SymEngine::Basic > Expression
Reference-counted pointer to a symbolic expression (SymEngine Basic).
Definition symbolic.h:83
SymEngine::RCP< const SymEngine::Symbol > Symbol
Reference-counted pointer to a SymEngine Symbol.
Definition symbolic.h:71
std::vector< Symbol > SymbolVec
Vector of symbols.
Definition symbolic.h:92
Definition assumptions.h:55
std::pair< Expression, Expression > polynomial_div(const Expression ÷nd, const Expression &divisor)
Performs polynomial division.
AffineCoeffs affine_coefficients(Polynomial poly)
Converts a Polynomial of degree 1 to coefficient map.
bool is_integer_affine(const Expression &expr)
Whether expr is affine in all of its symbols with integer coefficients, e.g.
std::unordered_map< Symbol, Expression, SymEngine::RCPBasicHash, SymEngine::RCPBasicKeyEq > AffineCoeffs
Map from symbols to their coefficients in an affine expression.
Definition polynomials.h:48
Expression solve_affine_bound(const Expression &expr, const Symbol &symbol, const Expression &bound_value, bool is_lower_bound)
Solves for a symbol's bound given an inequality constraint.
Expression affine_inverse(AffineCoeffs coeffs, Symbol symbol)
Computes the inverse function for an affine expression.
SymEngine::RCP< const SymEngine::MExprPoly > Polynomial
Type representing a SymEngine polynomial expression.
Definition polynomials.h:45
AffineDecomposition affine_decomposition(const Expression &expr, const Symbol &symbol)
Decomposes an expression into affine form w.r.t.
Polynomial polynomial(const Expression expr, SymbolVec &symbols)
Converts an Expression to a Polynomial.
Result of affine decomposition of an expression w.r.t.
Definition polynomials.h:117
bool success
True if the expression is affine in the symbol.
Definition polynomials.h:118
Expression coeff
Coefficient of the symbol (must be non-zero integer for success).
Definition polynomials.h:119
static AffineDecomposition failure()
Definition polynomials.h:122
Expression offset
Constant offset (terms not involving the symbol).
Definition polynomials.h:120
Symbolic system for integer-based symbol analysis.