Frobby 0.9.5
|
Represents a saturated binomial ideal. More...
#include <SatBinomIdeal.h>
Public Member Functions | |
SatBinomIdeal () | |
SatBinomIdeal (const VarNames &names) | |
void | insert (const vector< mpz_class > &binom) |
const vector< mpz_class > & | getGenerator (size_t index) const |
size_t | getGeneratorCount () const |
void | print (FILE *file) const |
void | print (ostream &out) const |
void | clearAndSetNames (const VarNames &names) |
void | removeGeneratorsWithLeadingZero () |
void | removeGeneratorsWithoutLeadingZero () |
void | getInitialIdeal (BigIdeal &ideal) const |
void | renameVars (const VarNames &names) |
Requires that names.getVarCount() equals getVarCount(). | |
size_t | getVarCount () const |
void | clear () |
void | reserve (size_t size) |
vector< mpz_class > & | getLastBinomRef () |
void | newLastTerm () |
const VarNames & | getNames () const |
bool | hasZeroEntry () const |
Returns true if any generator does not involve every variable, i.e. | |
bool | initialIdealIsWeaklyGeneric () const |
Returns true if the initial ideal is weakly generic. | |
bool | isGeneric () const |
Returns true if the generating set is generic, i.e. | |
void | getDoubleTriangleCount (mpz_class &count) const |
Returns the number of pairs of generators a and b such that {0,a,a+b} and {0,b,a+b} are both interior point-free bodies. | |
bool | isPointFreeBody (const vector< mpz_class > &a, const vector< mpz_class > &b) const |
Returns true if the smallest body containing zero, a and b has no generator in its interior. | |
bool | isPointFreeBody (const vector< mpz_class > &a, const vector< mpz_class > &b, const vector< mpz_class > &c) const |
Returns true if the smallest body containing zero, a, b and c has no generator in its interior. | |
bool | isInterior (const vector< mpz_class > &a, const vector< mpz_class > &b) const |
Returns true if max(0,a,b) is strictly positive in every element. | |
bool | isInteriorEdge (size_t from, size_t to) const |
Returns whether {to,to+from} is an interior edge of Top. | |
bool | isTerminatingEdge (size_t from, size_t to) const |
Returns wehther {from,to+from} is an interior edge of Top and also {to,to+from} is an edge of Top (not necessarily interior). | |
bool | validate () const |
Temporary. | |
bool | isDominating (const vector< mpz_class > &v) const |
Returns true if any generator, considered as an integer vector, is dominated by v. | |
bool | isGenerator (const vector< mpz_class > &v) const |
Returns true if v is a generator. | |
void | projectVar (size_t var) |
SatBinomIdeal & | operator= (const SatBinomIdeal &ideal) |
void | getMatrix (Matrix &matrix) const |
Private Attributes | |
vector< vector< mpz_class > > | _gens |
VarNames | _names |
Represents a saturated binomial ideal.
Definition at line 28 of file SatBinomIdeal.h.
SatBinomIdeal::SatBinomIdeal | ( | ) |
Definition at line 26 of file SatBinomIdeal.cpp.
Definition at line 29 of file SatBinomIdeal.cpp.
void SatBinomIdeal::clear | ( | ) |
Definition at line 86 of file SatBinomIdeal.cpp.
Definition at line 67 of file SatBinomIdeal.cpp.
Returns the number of pairs of generators a and b such that {0,a,a+b} and {0,b,a+b} are both interior point-free bodies.
Definition at line 308 of file SatBinomIdeal.cpp.
Definition at line 39 of file SatBinomIdeal.cpp.
size_t SatBinomIdeal::getGeneratorCount | ( | ) | const |
Definition at line 45 of file SatBinomIdeal.cpp.
Definition at line 117 of file SatBinomIdeal.cpp.
vector< mpz_class > & SatBinomIdeal::getLastBinomRef | ( | ) |
Definition at line 129 of file SatBinomIdeal.cpp.
Definition at line 368 of file SatBinomIdeal.cpp.
Definition at line 82 of file SatBinomIdeal.cpp.
size_t SatBinomIdeal::getVarCount | ( | ) | const |
Definition at line 72 of file SatBinomIdeal.cpp.
bool SatBinomIdeal::hasZeroEntry | ( | ) | const |
Returns true if any generator does not involve every variable, i.e.
the vector representing the generator has a zero entry.
Definition at line 140 of file SatBinomIdeal.cpp.
bool SatBinomIdeal::initialIdealIsWeaklyGeneric | ( | ) | const |
Returns true if the initial ideal is weakly generic.
Definition at line 148 of file SatBinomIdeal.cpp.
Definition at line 33 of file SatBinomIdeal.cpp.
Returns true if any generator, considered as an integer vector, is dominated by v.
Definition at line 337 of file SatBinomIdeal.cpp.
Returns true if v is a generator.
Definition at line 352 of file SatBinomIdeal.cpp.
bool SatBinomIdeal::isGeneric | ( | ) | const |
Returns true if the generating set is generic, i.e.
no generator has a zero entry.
This concept of genericity comes from Scarf's theory of maximal lattice-free bodies, and this link is preserved if the generating set is a graded reverse-lex toric Grobner basis of a primitive vector.
Definition at line 327 of file SatBinomIdeal.cpp.
bool SatBinomIdeal::isInterior | ( | const vector< mpz_class > & | a, |
const vector< mpz_class > & | b | ||
) | const |
Returns true if max(0,a,b) is strictly positive in every element.
Definition at line 213 of file SatBinomIdeal.cpp.
bool SatBinomIdeal::isInteriorEdge | ( | size_t | from, |
size_t | to | ||
) | const |
Returns whether {to,to+from} is an interior edge of Top.
Definition at line 280 of file SatBinomIdeal.cpp.
bool SatBinomIdeal::isPointFreeBody | ( | const vector< mpz_class > & | a, |
const vector< mpz_class > & | b | ||
) | const |
Returns true if the smallest body containing zero, a and b has no generator in its interior.
Definition at line 175 of file SatBinomIdeal.cpp.
bool SatBinomIdeal::isPointFreeBody | ( | const vector< mpz_class > & | a, |
const vector< mpz_class > & | b, | ||
const vector< mpz_class > & | c | ||
) | const |
Returns true if the smallest body containing zero, a, b and c has no generator in its interior.
Definition at line 193 of file SatBinomIdeal.cpp.
bool SatBinomIdeal::isTerminatingEdge | ( | size_t | from, |
size_t | to | ||
) | const |
Returns wehther {from,to+from} is an interior edge of Top and also {to,to+from} is an edge of Top (not necessarily interior).
Definition at line 295 of file SatBinomIdeal.cpp.
void SatBinomIdeal::newLastTerm | ( | ) |
Definition at line 135 of file SatBinomIdeal.cpp.
SatBinomIdeal & SatBinomIdeal::operator= | ( | const SatBinomIdeal & | ideal | ) |
Definition at line 331 of file SatBinomIdeal.cpp.
Definition at line 49 of file SatBinomIdeal.cpp.
Definition at line 55 of file SatBinomIdeal.cpp.
void SatBinomIdeal::projectVar | ( | size_t | var | ) |
Definition at line 360 of file SatBinomIdeal.cpp.
void SatBinomIdeal::removeGeneratorsWithLeadingZero | ( | ) |
Definition at line 95 of file SatBinomIdeal.cpp.
void SatBinomIdeal::removeGeneratorsWithoutLeadingZero | ( | ) |
Definition at line 106 of file SatBinomIdeal.cpp.
Requires that names.getVarCount() equals getVarCount().
Definition at line 76 of file SatBinomIdeal.cpp.
void SatBinomIdeal::reserve | ( | size_t | size | ) |
Definition at line 91 of file SatBinomIdeal.cpp.
bool SatBinomIdeal::validate | ( | ) | const |
Temporary.
Returns whether the graph satisfies some conditions that it should if some hypotheses are correct.
Definition at line 246 of file SatBinomIdeal.cpp.
|
private |
Definition at line 122 of file SatBinomIdeal.h.
|
private |
Definition at line 123 of file SatBinomIdeal.h.