carl
24.04
Computer ARithmetic Library
|
#include <Ideal.h>
Public Member Functions | |
Ideal ()=default | |
Ideal (const Polynomial &p1, const Polynomial &p2) | |
virtual | ~Ideal ()=default |
Ideal (const Ideal &rhs) | |
Ideal & | operator= (const Ideal &rhs) |
size_t | addGenerator (const Polynomial &f) |
DivisionLookupResult< Polynomial > | getDivisor (const Term< typename Polynomial::CoeffType > &t) const |
bool | isDividable (const Term< typename Polynomial::CoeffType > &m) |
size_t | nrGenerators () const |
std::vector< Polynomial > & | getGenerators () |
const std::vector< Polynomial > & | getGenerators () const |
const Polynomial & | getGenerator (size_t index) const |
std::vector< size_t > | getOrderedIndices () |
void | eliminateGenerator (size_t index) |
void | removeEliminated () |
Invalidates indices. More... | |
void | clear () |
bool | is_constant () const |
bool | is_linear () const |
Checks whether all polynomials occurring in this ideal are linear. More... | |
std::set< unsigned > | gatherVariables () const |
Gather all variables occurring in this ideal. More... | |
void | print (bool printOrigins=true, std::ostream &os=std::cout) const |
Private Attributes | |
std::vector< Polynomial > | mGenerators |
sortByLeadingTerm< Polynomial > | mTermOrder = sortByLeadingTerm<Polynomial>(mGenerators) |
std::unordered_set< size_t > | mEliminated |
Datastructure< Polynomial > | mDivisorLookup = Datastructure<Polynomial>(mGenerators, mEliminated, mTermOrder) |
Friends | |
std::ostream & | operator<< (std::ostream &os, const Ideal &rhs) |
|
default |
|
inline |
|
virtualdefault |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
friend |
|
private |
|
private |
|
private |
|
private |