carl  24.04
Computer ARithmetic Library
carl::IdealDatastructureVector< Polynomial > Class Template Reference

#include <IdealDSVector.h>

Collaboration diagram for carl::IdealDatastructureVector< Polynomial >:

Public Member Functions

 IdealDatastructureVector (const std::vector< Polynomial > &generators, const std::unordered_set< size_t > &eliminated, const sortByLeadingTerm< Polynomial > &order)
 
 IdealDatastructureVector (const IdealDatastructureVector &id)
 
virtual ~IdealDatastructureVector ()=default
 
void addGenerator (size_t fIndex) const
 Should be called whenever an generator is added. More...
 
DivisionLookupResult< Polynomial > getDivisor (const Term< typename Polynomial::CoeffType > &t) const
 
void reset ()
 Should be called if the generator set is reset. More...
 

Private Attributes

const std::vector< Polynomial > & mGenerators
 A reference to the generators in the ideal. More...
 
const std::unordered_set< size_t > & mEliminated
 A reference to the indices of eliminated generators. More...
 
const sortByLeadingTerm< Polynomial > & mOrder
 A object which orders the generators according their leading terms, given their indices. More...
 
std::vector< size_t > mDivList
 

Detailed Description

template<class Polynomial>
class carl::IdealDatastructureVector< Polynomial >

Definition at line 23 of file IdealDSVector.h.

Constructor & Destructor Documentation

◆ IdealDatastructureVector() [1/2]

template<class Polynomial >
carl::IdealDatastructureVector< Polynomial >::IdealDatastructureVector ( const std::vector< Polynomial > &  generators,
const std::unordered_set< size_t > &  eliminated,
const sortByLeadingTerm< Polynomial > &  order 
)
inline

Definition at line 27 of file IdealDSVector.h.

◆ IdealDatastructureVector() [2/2]

template<class Polynomial >
carl::IdealDatastructureVector< Polynomial >::IdealDatastructureVector ( const IdealDatastructureVector< Polynomial > &  id)
inline

Definition at line 33 of file IdealDSVector.h.

◆ ~IdealDatastructureVector()

template<class Polynomial >
virtual carl::IdealDatastructureVector< Polynomial >::~IdealDatastructureVector ( )
virtualdefault

Member Function Documentation

◆ addGenerator()

template<class Polynomial >
void carl::IdealDatastructureVector< Polynomial >::addGenerator ( size_t  fIndex) const
inline

Should be called whenever an generator is added.

Parameters
fIndex

Definition at line 45 of file IdealDSVector.h.

◆ getDivisor()

template<class Polynomial >
DivisionLookupResult<Polynomial> carl::IdealDatastructureVector< Polynomial >::getDivisor ( const Term< typename Polynomial::CoeffType > &  t) const
inline
Parameters
t
Returns
A divisionresult [divisor, factor].
Todo:
delete divres ?

Definition at line 58 of file IdealDSVector.h.

Here is the call graph for this function:

◆ reset()

template<class Polynomial >
void carl::IdealDatastructureVector< Polynomial >::reset ( )
inline

Should be called if the generator set is reset.

Definition at line 87 of file IdealDSVector.h.

Field Documentation

◆ mDivList

template<class Polynomial >
std::vector<size_t> carl::IdealDatastructureVector< Polynomial >::mDivList
mutableprivate

Definition at line 106 of file IdealDSVector.h.

◆ mEliminated

template<class Polynomial >
const std::unordered_set<size_t>& carl::IdealDatastructureVector< Polynomial >::mEliminated
private

A reference to the indices of eliminated generators.

Definition at line 101 of file IdealDSVector.h.

◆ mGenerators

template<class Polynomial >
const std::vector<Polynomial>& carl::IdealDatastructureVector< Polynomial >::mGenerators
private

A reference to the generators in the ideal.

Definition at line 99 of file IdealDSVector.h.

◆ mOrder

template<class Polynomial >
const sortByLeadingTerm<Polynomial>& carl::IdealDatastructureVector< Polynomial >::mOrder
private

A object which orders the generators according their leading terms, given their indices.

Definition at line 103 of file IdealDSVector.h.


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