SMT-RAT  24.02
Toolbox for Strategic and Parallel Satisfiability-Modulo-Theories Solving
smtrat::cadcells::representation Namespace Reference

Heuristics for computing representations. More...

Namespaces

 approximation
 
 util
 

Data Structures

struct  cell
 Note: If connected(i) holds, then the indexed root ordering must contain an ordering between the interval bounds. More...
 
struct  covering
 
struct  cell< CellHeuristic::BIGGEST_CELL_APPROXIMATION >
 
struct  cell< CellHeuristic::BIGGEST_CELL >
 
struct  cell< CellHeuristic::BIGGEST_CELL_PDEL >
 
struct  cell< CellHeuristic::BIGGEST_CELL_FILTER >
 
struct  cell< CellHeuristic::BIGGEST_CELL_FILTER_ONLY_INDEPENDENT >
 
struct  cell< CellHeuristic::CHAIN_EQ >
 
struct  cell< CellHeuristic::LOWEST_DEGREE_BARRIERS_EQ >
 
struct  cell< CellHeuristic::LOWEST_DEGREE_BARRIERS >
 
struct  cell< CellHeuristic::LOWEST_DEGREE_BARRIERS_CACHE_GLOBAL >
 
struct  cell< CellHeuristic::LOWEST_DEGREE_BARRIERS_PDEL >
 
struct  cell< CellHeuristic::LOWEST_DEGREE_BARRIERS_FILTER >
 
struct  cell< CellHeuristic::LOWEST_DEGREE_BARRIERS_FILTER_ONLY_INDEPENDENT >
 
struct  covering< CoveringHeuristic::BIGGEST_CELL_COVERING >
 
struct  covering< CoveringHeuristic::LDB_COVERING >
 
struct  covering< CoveringHeuristic::LDB_COVERING_CACHE >
 
struct  covering< CoveringHeuristic::LDB_COVERING_CACHE_GLOBAL >
 
struct  covering< CoveringHeuristic::BIGGEST_CELL_COVERING_PDEL >
 
struct  covering< CoveringHeuristic::BIGGEST_CELL_COVERING_FILTER >
 
struct  covering< CoveringHeuristic::BIGGEST_CELL_COVERING_FILTER_ONLY_INDEPENDENT >
 
struct  covering< CoveringHeuristic::BIGGEST_CELL_COVERING_MIN_TDEG >
 
struct  covering< CoveringHeuristic::CHAIN_COVERING >
 

Typedefs

using IR = datastructures::IndexedRoot
 

Enumerations

enum  CellHeuristic {
  BIGGEST_CELL , CHAIN_EQ , LOWEST_DEGREE_BARRIERS , LOWEST_DEGREE_BARRIERS_EQ ,
  BIGGEST_CELL_FILTER , BIGGEST_CELL_FILTER_ONLY_INDEPENDENT , LOWEST_DEGREE_BARRIERS_FILTER , LOWEST_DEGREE_BARRIERS_FILTER_ONLY_INDEPENDENT ,
  BIGGEST_CELL_APPROXIMATION , BIGGEST_CELL_PDEL , LOWEST_DEGREE_BARRIERS_PDEL , LOWEST_DEGREE_BARRIERS_CACHE_GLOBAL
}
 
enum  CoveringHeuristic {
  BIGGEST_CELL_COVERING , CHAIN_COVERING , BIGGEST_CELL_COVERING_FILTER , BIGGEST_CELL_COVERING_FILTER_ONLY_INDEPENDENT ,
  BIGGEST_CELL_COVERING_MIN_TDEG , BIGGEST_CELL_COVERING_PDEL , LDB_COVERING , LDB_COVERING_CACHE ,
  LDB_COVERING_CACHE_GLOBAL
}
 
enum class  LocalDelMode { NONE , ALL , ONLY_INDEPENDENT , SIMPLIFY }
 

Functions

std::ostream & operator<< (std::ostream &os, CellHeuristic heuristic)
 
std::ostream & operator<< (std::ostream &os, CoveringHeuristic heuristic)
 
template<typename T >
void handle_section_all_equational (const datastructures::Delineation &delin, datastructures::CellRepresentation< T > &response)
 
template<typename T >
void handle_connectedness (datastructures::SampledDerivationRef< T > &der, datastructures::CellRepresentation< T > &response, bool enable_weak=false)
 
boost::container::flat_map< datastructures::PolyRef, datastructures::IndexedRootroots_below (const datastructures::Delineation &delin, const datastructures::DelineationInterval &interval, bool closest)
 
boost::container::flat_map< datastructures::PolyRef, datastructures::IndexedRootroots_above (const datastructures::Delineation &delin, const datastructures::DelineationInterval &interval, bool closest)
 
template<typename T >
void handle_projective_ordering (datastructures::SampledDerivationRef< T > &der, datastructures::CellRepresentation< T > &response)
 
template<typename T >
void handle_ordering_polys (datastructures::SampledDerivationRef< T > &der, datastructures::CellRepresentation< T > &response)
 
template<typename T >
void handle_cell_reduction (datastructures::Delineation &reduced_delineation, datastructures::DelineationInterval &reduced_cell, datastructures::CellRepresentation< T > &response)
 
template<typename T >
void handle_local_del (datastructures::SampledDerivationRef< T > &der, datastructures::Delineation &reduced_delineation, datastructures::CellRepresentation< T > &response)
 
void handle_local_del_simplify_all (datastructures::Delineation &reduced_delineation)
 
void handle_local_del_simplify_non_independent (datastructures::Delineation &reduced_delineation)
 
template<typename T >
datastructures::CellRepresentation< T > compute_cell_biggest_cell (datastructures::SampledDerivationRef< T > &der, LocalDelMode ldel_mode=LocalDelMode::NONE, bool enable_weak=false)
 
template<typename T >
datastructures::CellRepresentation< T > compute_cell_lowest_degree_barriers (datastructures::SampledDerivationRef< T > &der, LocalDelMode ldel_mode=LocalDelMode::NONE, bool enable_weak=false, bool use_global_cache=false, datastructures::IndexedRootOrdering global_ordering=datastructures::IndexedRootOrdering())
 
template<typename T >
std::vector< datastructures::SampledDerivationRef< T > > compute_min_derivs (const std::vector< datastructures::SampledDerivationRef< T >> &derivs)
 
template<typename T >
datastructures::IndexedRootOrdering compute_default_ordering (const std::vector< datastructures::CellRepresentation< T >> &cells, bool enable_weak=false)
 

Variables

static const char * CellHeuristicStrings [] = { "BIGGEST_CELL", "CHAIN_EQ", "LOWEST_DEGREE_BARRIERS", "LOWEST_DEGREE_BARRIERS_EQ", "BIGGEST_CELL_FILTER", "BIGGEST_CELL_FILTER_ONLY_INDEPENDENT", "LOWEST_DEGREE_BARRIERS_FILTER", "LOWEST_DEGREE_BARRIERS_FILTER_ONLY_INDEPENDENT", "BIGGEST_CELL_PDEL", "LOWEST_DEGREE_BARRIERS_PDEL", "LOWEST_DEGREE_BARRIERS_CACHE_GLOBAL" }
 
static const char * CoveringHeuristicStrings [] = { "BIGGEST_CELL_COVERING", "CHAIN_COVERING", "BIGGEST_CELL_COVERING_FILTER", "BIGGEST_CELL_COVERING_FILTER_ONLY_INDEPENDENT", "BIGGEST_CELL_COVERING_MIN_TDEG", "BIGGEST_CELL_COVERING_PDEL", "LDB_COVERING", "LDB_COVERING_CACHE", "LDB_COVERING_CACHE_GLOBAL" }
 

Detailed Description

Heuristics for computing representations.

Typedef Documentation

◆ IR

Enumeration Type Documentation

◆ CellHeuristic

Enumerator
BIGGEST_CELL 
CHAIN_EQ 
LOWEST_DEGREE_BARRIERS 
LOWEST_DEGREE_BARRIERS_EQ 
BIGGEST_CELL_FILTER 
BIGGEST_CELL_FILTER_ONLY_INDEPENDENT 
LOWEST_DEGREE_BARRIERS_FILTER 
LOWEST_DEGREE_BARRIERS_FILTER_ONLY_INDEPENDENT 
BIGGEST_CELL_APPROXIMATION 
BIGGEST_CELL_PDEL 
LOWEST_DEGREE_BARRIERS_PDEL 
LOWEST_DEGREE_BARRIERS_CACHE_GLOBAL 

Definition at line 10 of file heuristics.h.

◆ CoveringHeuristic

Enumerator
BIGGEST_CELL_COVERING 
CHAIN_COVERING 
BIGGEST_CELL_COVERING_FILTER 
BIGGEST_CELL_COVERING_FILTER_ONLY_INDEPENDENT 
BIGGEST_CELL_COVERING_MIN_TDEG 
BIGGEST_CELL_COVERING_PDEL 
LDB_COVERING 
LDB_COVERING_CACHE 
LDB_COVERING_CACHE_GLOBAL 

Definition at line 15 of file heuristics.h.

◆ LocalDelMode

Enumerator
NONE 
ALL 
ONLY_INDEPENDENT 
SIMPLIFY 

Definition at line 165 of file heuristics_cell.h.

Function Documentation

◆ compute_cell_biggest_cell()

template<typename T >
datastructures::CellRepresentation<T> smtrat::cadcells::representation::compute_cell_biggest_cell ( datastructures::SampledDerivationRef< T > &  der,
LocalDelMode  ldel_mode = LocalDelMode::NONE,
bool  enable_weak = false 
)
inline

Definition at line 199 of file heuristics_cell.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ compute_cell_lowest_degree_barriers()

template<typename T >
datastructures::CellRepresentation<T> smtrat::cadcells::representation::compute_cell_lowest_degree_barriers ( datastructures::SampledDerivationRef< T > &  der,
LocalDelMode  ldel_mode = LocalDelMode::NONE,
bool  enable_weak = false,
bool  use_global_cache = false,
datastructures::IndexedRootOrdering  global_ordering = datastructures::IndexedRootOrdering() 
)
inline

Definition at line 286 of file heuristics_cell.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ compute_default_ordering()

template<typename T >
datastructures::IndexedRootOrdering smtrat::cadcells::representation::compute_default_ordering ( const std::vector< datastructures::CellRepresentation< T >> &  cells,
bool  enable_weak = false 
)

Definition at line 26 of file heuristics_covering.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ compute_min_derivs()

template<typename T >
std::vector<datastructures::SampledDerivationRef<T> > smtrat::cadcells::representation::compute_min_derivs ( const std::vector< datastructures::SampledDerivationRef< T >> &  derivs)

Definition at line 3 of file heuristics_covering.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ handle_cell_reduction()

template<typename T >
void smtrat::cadcells::representation::handle_cell_reduction ( datastructures::Delineation reduced_delineation,
datastructures::DelineationInterval reduced_cell,
datastructures::CellRepresentation< T > &  response 
)

Definition at line 135 of file heuristics_cell.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ handle_connectedness()

template<typename T >
void smtrat::cadcells::representation::handle_connectedness ( datastructures::SampledDerivationRef< T > &  der,
datastructures::CellRepresentation< T > &  response,
bool  enable_weak = false 
)

Definition at line 29 of file heuristics_cell.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ handle_local_del()

template<typename T >
void smtrat::cadcells::representation::handle_local_del ( datastructures::SampledDerivationRef< T > &  der,
datastructures::Delineation reduced_delineation,
datastructures::CellRepresentation< T > &  response 
)

Definition at line 144 of file heuristics_cell.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ handle_local_del_simplify_all()

void smtrat::cadcells::representation::handle_local_del_simplify_all ( datastructures::Delineation reduced_delineation)
inline

Definition at line 150 of file heuristics_cell.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ handle_local_del_simplify_non_independent()

void smtrat::cadcells::representation::handle_local_del_simplify_non_independent ( datastructures::Delineation reduced_delineation)
inline

Definition at line 157 of file heuristics_cell.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ handle_ordering_polys()

template<typename T >
void smtrat::cadcells::representation::handle_ordering_polys ( datastructures::SampledDerivationRef< T > &  der,
datastructures::CellRepresentation< T > &  response 
)

Definition at line 124 of file heuristics_cell.h.

Here is the caller graph for this function:

◆ handle_projective_ordering()

template<typename T >
void smtrat::cadcells::representation::handle_projective_ordering ( datastructures::SampledDerivationRef< T > &  der,
datastructures::CellRepresentation< T > &  response 
)

Definition at line 73 of file heuristics_cell.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ handle_section_all_equational()

template<typename T >
void smtrat::cadcells::representation::handle_section_all_equational ( const datastructures::Delineation delin,
datastructures::CellRepresentation< T > &  response 
)
inline

Definition at line 10 of file heuristics_cell.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ operator<<() [1/2]

std::ostream& smtrat::cadcells::representation::operator<< ( std::ostream &  os,
CellHeuristic  heuristic 
)
inline

Definition at line 35 of file heuristics.h.

◆ operator<<() [2/2]

std::ostream& smtrat::cadcells::representation::operator<< ( std::ostream &  os,
CoveringHeuristic  heuristic 
)
inline

Definition at line 38 of file heuristics.h.

◆ roots_above()

boost::container::flat_map<datastructures::PolyRef, datastructures::IndexedRoot> smtrat::cadcells::representation::roots_above ( const datastructures::Delineation delin,
const datastructures::DelineationInterval interval,
bool  closest 
)
inline

Definition at line 56 of file heuristics_cell.h.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ roots_below()

boost::container::flat_map<datastructures::PolyRef, datastructures::IndexedRoot> smtrat::cadcells::representation::roots_below ( const datastructures::Delineation delin,
const datastructures::DelineationInterval interval,
bool  closest 
)
inline

Definition at line 39 of file heuristics_cell.h.

Here is the call graph for this function:
Here is the caller graph for this function:

Variable Documentation

◆ CellHeuristicStrings

◆ CoveringHeuristicStrings

const char* smtrat::cadcells::representation::CoveringHeuristicStrings[] = { "BIGGEST_CELL_COVERING", "CHAIN_COVERING", "BIGGEST_CELL_COVERING_FILTER", "BIGGEST_CELL_COVERING_FILTER_ONLY_INDEPENDENT", "BIGGEST_CELL_COVERING_MIN_TDEG", "BIGGEST_CELL_COVERING_PDEL", "LDB_COVERING", "LDB_COVERING_CACHE", "LDB_COVERING_CACHE_GLOBAL" }
static

Definition at line 18 of file heuristics.h.