![]() |
SMT-RAT
24.02
Toolbox for Strategic and Parallel Satisfiability-Modulo-Theories Solving
|
Construct a single open CAD Cell around a given point that is sign-invariant on a given set of polynomials. More...
#include <algorithm>#include <optional>#include <set>#include <unordered_map>#include <vector>#include <carl-arith/poly/umvpoly/CoCoAAdaptor.h>#include <carl-arith/poly/umvpoly/MultivariatePolynomial.h>#include <carl-arith/poly/umvpoly/functions/Resultant.h>#include <carl-arith/poly/umvpoly/UnivariatePolynomial.h>#include <carl-arith/core/Variable.h>#include <carl-arith/core/VariablePool.h>#include <carl-arith/ran/ran.h>#include <carl-arith/ran/RealAlgebraicPoint.h>#include <smtrat-common/smtrat-common.h>
Go to the source code of this file.
Data Structures | |
| struct | smtrat::onecellcad::recursive::Section |
| Represent a cell's closed-interval-boundary object along one single axis by an irreducible, multivariate polynomial of level k. More... | |
| struct | smtrat::onecellcad::recursive::Sector |
| Represent a cell's open-interval boundary object along one single axis by two irreducible, multivariate polynomials of level k. More... | |
Namespaces | |
| smtrat | |
| Class to create the formulas for axioms. | |
| smtrat::onecellcad | |
| smtrat::onecellcad::recursive | |
Typedefs | |
| using | smtrat::onecellcad::recursive::UniPoly = carl::UnivariatePolynomial< smtrat::Rational > |
| using | smtrat::onecellcad::recursive::MultiPoly = carl::MultivariatePolynomial< smtrat::Rational > |
| using | smtrat::onecellcad::recursive::MultiCoeffUniPoly = carl::UnivariatePolynomial< MultiPoly > |
| using | smtrat::onecellcad::recursive::RANPoint = RealAlgebraicPoint< smtrat::Rational > |
| using | smtrat::onecellcad::recursive::RANMap = std::map< carl::Variable, RAN > |
| using | smtrat::onecellcad::recursive::OpenCADCell = std::vector< Sector > |
| Represent a single open cell [1]. More... | |
Functions | |
| std::ostream & | smtrat::onecellcad::recursive::operator<< (std::ostream &o, const Section &s) |
| std::ostream & | smtrat::onecellcad::recursive::operator<< (std::ostream &o, const Sector &s) |
| std::ostream & | smtrat::onecellcad::recursive::operator<< (std::ostream &o, const OpenCADCell &c) |
| OpenCADCell | smtrat::onecellcad::recursive::createFullspaceCoveringCell (size_t level) |
| size_t | smtrat::onecellcad::recursive::levelOf (const MultiPoly &poly, const std::vector< carl::Variable > &variableOrder) |
| Find the index of the highest variable (wrt. More... | |
| std::map< carl::Variable, RAN > | smtrat::onecellcad::recursive::toStdMap (const RANPoint &point, size_t count, const std::vector< carl::Variable > &variableOrder) |
| Create a mapping from the first 'count'-many variables in the given 'variableOrder' to the first 'count'-many components of the given 'point'. More... | |
| std::optional< OpenCADCell > | smtrat::onecellcad::recursive::mergeCellWithPoly (OpenCADCell &cell, const RANPoint &point, const std::vector< carl::Variable > &variableOrder, const MultiPoly poly) |
| Merge the given open OpenCADCell 'cell' that contains the given 'point' (called "alpha" in [1]) with a polynomial 'poly'. More... | |
| std::optional< OpenCADCell > | smtrat::onecellcad::recursive::createOpenCADCell (const std::vector< MultiPoly > polySet, const RANPoint &point, const std::vector< carl::Variable > &variableOrder) |
| Construct a OpenCADCell for the given set of polynomials 'polySet' that contains the given 'point'. More... | |
Construct a single open CAD Cell around a given point that is sign-invariant on a given set of polynomials.
References: [1] Christopher W. Brown. 2013. Constructing a single open cell in a cylindrical algebraic decomposition. In Proceedings of the 38th International Symposium on Symbolic and Algebraic Computation (ISSAC '13). ACM
Definition in file OpenCAD.h.