|
| | Ideal (size_t varCount=0) |
| | Initialize this object to the zero ideal in varCount variables. More...
|
| |
| | Ideal (const Term &term) |
| | Initialize this object to the ideal generated by term. More...
|
| |
| | Ideal (const Ideal &ideal) |
| | Initialize this object to be a copy of ideal. More...
|
| |
| | ~Ideal () |
| |
| const_iterator | begin () const |
| |
| const_iterator | end () const |
| |
| const Exponent * | operator[] (size_t index) const |
| |
| iterator | begin () |
| |
| iterator | end () |
| |
| Exponent *& | operator[] (size_t index) |
| |
| size_t | getVarCount () const |
| |
| size_t | getGeneratorCount () const |
| |
| bool | isIncomparable (const Exponent *term) const |
| |
| bool | contains (const Exponent *term) const |
| |
| bool | containsIdentity () const |
| |
| bool | strictlyContains (const Exponent *term) const |
| |
| bool | isMinimallyGenerated () const |
| |
| bool | isZeroIdeal () const |
| |
| bool | isIrreducible () const |
| |
| bool | isSquareFree () const |
| |
| bool | isStronglyGeneric () |
| |
| bool | isWeaklyGeneric () const |
| |
| bool | disjointSupport () const |
| | Returns true if all pairs of generators have disjoint support. More...
|
| |
| void | getLcm (Exponent *lcm) const |
| | Sets lcm to the least common multiple of all generators. More...
|
| |
| void | getGcd (Exponent *gcd) const |
| | Sets gcd to the greatest common divisor of all generators. More...
|
| |
| void | getGcdAtExponent (Exponent *gcd, size_t var, Exponent exp) |
| | Sets gcd to the greatest common divisor of those generators that raise the variable var to the power exp. More...
|
| |
| void | getGcdOfMultiplesOf (Exponent *gcd, const Exponent *divisor) |
| | Sets gcd to the greatest common divisor of those generators that are divisible by divisor. More...
|
| |
| void | getLeastExponents (Exponent *least) const |
| |
| void | getSupportCounts (Exponent *counts) const |
| | counts[var] will be the number of generators divisible by var. More...
|
| |
| size_t | getTypicalExponent (size_t &var, Exponent &exp) |
| | Sets var and exp such that var^exp is the typical non-zero exponent. More...
|
| |
| size_t | getMostNonGenericExponent (size_t &var, Exponent &exp) |
| | Sets var and exp such that var^exp is the most non-generic degree. More...
|
| |
| size_t | getTypicalNonGenericExponent (size_t &var, Exponent &exp) |
| | Sets var and exp such that var^exp is the typical non-generic degree. More...
|
| |
| bool | getNonGenericExponent (size_t &var, Exponent &exp) |
| | Sets var and exp such that var^exp is some non-generic degree. More...
|
| |
| const_iterator | getMultiple (size_t var) const |
| |
| bool | operator== (const Ideal &ideal) const |
| | Rereturns true if *this equals ideal. More...
|
| |
| void | print (FILE *file) const |
| |
| void | print (ostream &out) const |
| |
| void | insert (const Exponent *term) |
| |
| void | insert (const Ideal &ideal) |
| |
| void | insert (size_t var, Exponent e) |
| |
| void | insertReminimize (const Exponent *term) |
| |
| void | insertReminimize (size_t var, Exponent e) |
| |
| void | minimize () |
| |
| void | sortReverseLex () |
| |
| void | sortLex () |
| |
| void | singleDegreeSort (size_t var) |
| |
| void | product (const Exponent *term) |
| |
| void | colon (const Exponent *by) |
| |
| void | colon (size_t var, Exponent e) |
| |
| bool | colonReminimize (const Exponent *colon) |
| |
| bool | colonReminimize (size_t var, Exponent e) |
| |
| void | remove (const_iterator it) |
| |
| void | removeMultiples (const Exponent *term) |
| |
| void | removeMultiples (size_t var, Exponent e) |
| |
| void | insertNonMultiples (const Exponent *term, const Ideal &ideal) |
| |
| void | insertNonMultiples (size_t var, Exponent e, const Ideal &ideal) |
| |
| void | removeStrictMultiples (const Exponent *term) |
| |
| void | removeDuplicates () |
| |
| void | clear () |
| |
| void | clearAndSetVarCount (size_t varCount) |
| |
| void | mapExponentsToZeroNoMinimize (const Term &zeroExponents) |
| | Replaces the exponents from zeroExponents with zero and does not remove any non-minimal generators this may produce. More...
|
| |
| void | takeRadicalNoMinimize () |
| | Replaces all generators with their support and does not remove any non-minimal generators this may produce. More...
|
| |
| Ideal & | operator= (const Ideal &ideal) |
| |
| void | swap (Ideal &ideal) |
| |
| template<class Predicate > |
| bool | removeIf (Predicate pred) |
| | Removes those generators m such that pred(m) evaluates to true. More...
|
| |
Represents a monomial ideal with int exponents.
Definition at line 27 of file Ideal.h.
| size_t Ideal::getMostNonGenericExponent |
( |
size_t & |
var, |
|
|
Exponent & |
exp |
|
) |
| |
Sets var and exp such that var^exp is the most non-generic degree.
A unordered pair of generators a and b is non-generic if a and b raise some var to the same non-zero exponent and lcm(a,b) is not strictly divisible by any generator. The most non-generic degree is the exponent that occurs most often as the shared degree for non-generic pairs. In case of ties some deterministic choice is made.
The return value is the number of non-generic pairs that concern the most non-generic degree. If there are no non-generic pairs (i.e. the ideal is generic) then the return value is zero and var=exp=0.
This method is not const since it may re-arrange the generators for efficiency.
Definition at line 271 of file Ideal.cpp.
| size_t Ideal::getTypicalNonGenericExponent |
( |
size_t & |
var, |
|
|
Exponent & |
exp |
|
) |
| |
Sets var and exp such that var^exp is the typical non-generic degree.
A unordered pair of generators a and b is non-generic if a and b raise some var to the same non-zero exponent and lcm(a,b) is not strictly divisible by any generator. A degree var^exp is non-generic if it occurs as the shared degree for some non-generic pair. The typical non-generic degree is the non-generic degree that occurs most often among all generators. So it does not matter how non-generic the degree is, just that it is non-generic at all.
The return value is the number of generators that raise var to exp. If there are no non-generic pairs (i.e. the ideal is generic) then the return value is zero and var=exp=0.
This method is not const since it may re-arrange the generators for efficiency.
Definition at line 325 of file Ideal.cpp.