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(). More... | |
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. More... | |
bool | initialIdealIsWeaklyGeneric () const |
Returns true if the initial ideal is weakly generic. More... | |
bool | isGeneric () const |
Returns true if the generating set is generic, i.e. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
bool | isInteriorEdge (size_t from, size_t to) const |
Returns whether {to,to+from} is an interior edge of Top. More... | |
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). More... | |
bool | validate () const |
Temporary. More... | |
bool | isDominating (const vector< mpz_class > &v) const |
Returns true if any generator, considered as an integer vector, is dominated by v. More... | |
bool | isGenerator (const vector< mpz_class > &v) const |
Returns true if v is a generator. More... | |
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.
SatBinomIdeal::SatBinomIdeal | ( | const VarNames & | names | ) |
Definition at line 29 of file SatBinomIdeal.cpp.
void SatBinomIdeal::clear | ( | ) |
Definition at line 86 of file SatBinomIdeal.cpp.
void SatBinomIdeal::clearAndSetNames | ( | const VarNames & | names | ) |
Definition at line 67 of file SatBinomIdeal.cpp.
void SatBinomIdeal::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.
Definition at line 308 of file SatBinomIdeal.cpp.
const vector< mpz_class > & SatBinomIdeal::getGenerator | ( | size_t | index | ) | const |
Definition at line 39 of file SatBinomIdeal.cpp.
size_t SatBinomIdeal::getGeneratorCount | ( | ) | const |
Definition at line 45 of file SatBinomIdeal.cpp.
void SatBinomIdeal::getInitialIdeal | ( | BigIdeal & | ideal | ) | const |
Definition at line 117 of file SatBinomIdeal.cpp.
vector< mpz_class > & SatBinomIdeal::getLastBinomRef | ( | ) |
Definition at line 129 of file SatBinomIdeal.cpp.
void SatBinomIdeal::getMatrix | ( | Matrix & | matrix | ) | const |
Definition at line 368 of file SatBinomIdeal.cpp.
const VarNames & SatBinomIdeal::getNames | ( | ) | const |
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.
void SatBinomIdeal::insert | ( | const vector< mpz_class > & | binom | ) |
Definition at line 33 of file SatBinomIdeal.cpp.
bool SatBinomIdeal::isDominating | ( | const vector< mpz_class > & | v | ) | const |
Returns true if any generator, considered as an integer vector, is dominated by v.
Definition at line 337 of file SatBinomIdeal.cpp.
bool SatBinomIdeal::isGenerator | ( | const vector< mpz_class > & | v | ) | const |
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.
void SatBinomIdeal::print | ( | FILE * | file | ) | const |
Definition at line 49 of file SatBinomIdeal.cpp.
void SatBinomIdeal::print | ( | ostream & | out | ) | const |
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.
void SatBinomIdeal::renameVars | ( | const VarNames & | names | ) |
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.