SatBinomIdeal Class Reference

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

## Detailed Description

Represents a saturated binomial ideal.

Definition at line 28 of file SatBinomIdeal.h.

## Constructor & Destructor Documentation

## SatBinomIdeal() [1/2]

SatBinomIdeal::SatBinomIdeal | ( |  | ) |

Definition at line 26 of file SatBinomIdeal.cpp.

## SatBinomIdeal() [2/2]

SatBinomIdeal::SatBinomIdeal | ( | const VarNames & | names | ) |

Definition at line 29 of file SatBinomIdeal.cpp.

## Member Function Documentation

## clear()

void SatBinomIdeal::clear | ( |  | ) |

Definition at line 86 of file SatBinomIdeal.cpp.

## clearAndSetNames()

void SatBinomIdeal::clearAndSetNames | ( | const VarNames & | names | ) |

Definition at line 67 of file SatBinomIdeal.cpp.

## getDoubleTriangleCount()

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.

## getGenerator()

const vector< mpz_class > & SatBinomIdeal::getGenerator | ( | size_t | index | ) | const

Definition at line 39 of file SatBinomIdeal.cpp.

## getGeneratorCount()

size_t SatBinomIdeal::getGeneratorCount | ( |  | ) | const

Definition at line 45 of file SatBinomIdeal.cpp.

## getInitialIdeal()

void SatBinomIdeal::getInitialIdeal | ( | BigIdeal & | ideal | ) | const

Definition at line 117 of file SatBinomIdeal.cpp.

## getLastBinomRef()

vector< mpz_class > & SatBinomIdeal::getLastBinomRef | ( |  | ) |

Definition at line 129 of file SatBinomIdeal.cpp.

## getMatrix()

void SatBinomIdeal::getMatrix | ( | Matrix & | matrix | ) | const

Definition at line 368 of file SatBinomIdeal.cpp.

## getNames()

const VarNames & SatBinomIdeal::getNames | ( |  | ) | const

Definition at line 82 of file SatBinomIdeal.cpp.

## getVarCount()

size_t SatBinomIdeal::getVarCount | ( |  | ) | const

Definition at line 72 of file SatBinomIdeal.cpp.

## hasZeroEntry()

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.

## initialIdealIsWeaklyGeneric()

bool SatBinomIdeal::initialIdealIsWeaklyGeneric | ( |  | ) | const

Returns true if the initial ideal is weakly generic.

Definition at line 148 of file SatBinomIdeal.cpp.

## insert()

void SatBinomIdeal::insert | ( | const vector< mpz_class > & | binom | ) |

Definition at line 33 of file SatBinomIdeal.cpp.

## isDominating()

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.

## isGenerator()

bool SatBinomIdeal::isGenerator | ( | const vector< mpz_class > & | v | ) | const

Returns true if v is a generator.

Definition at line 352 of file SatBinomIdeal.cpp.

## isGeneric()

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.

## isInterior()

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.

## isInteriorEdge()

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.

## isPointFreeBody() [1/2]

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.

## isPointFreeBody() [2/2]

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.

## isTerminatingEdge()

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.

## newLastTerm()

void SatBinomIdeal::newLastTerm | ( |  | ) |

Definition at line 135 of file SatBinomIdeal.cpp.

## operator=()

SatBinomIdeal & SatBinomIdeal::operator= | ( | const SatBinomIdeal & | ideal | ) |

Definition at line 331 of file SatBinomIdeal.cpp.

## print() [1/2]

void SatBinomIdeal::print | ( | FILE * | file | ) | const

Definition at line 49 of file SatBinomIdeal.cpp.

## print() [2/2]

void SatBinomIdeal::print | ( | ostream & | out | ) | const

Definition at line 55 of file SatBinomIdeal.cpp.

## projectVar()

void SatBinomIdeal::projectVar | ( | size_t | var | ) |

Definition at line 360 of file SatBinomIdeal.cpp.

## removeGeneratorsWithLeadingZero()

void SatBinomIdeal::removeGeneratorsWithLeadingZero | ( |  | ) |

Definition at line 95 of file SatBinomIdeal.cpp.

## removeGeneratorsWithoutLeadingZero()

void SatBinomIdeal::removeGeneratorsWithoutLeadingZero | ( |  | ) |

Definition at line 106 of file SatBinomIdeal.cpp.

## renameVars()

void SatBinomIdeal::renameVars | ( | const VarNames & | names | ) |

Requires that names.getVarCount() equals getVarCount().

Definition at line 76 of file SatBinomIdeal.cpp.

## reserve()

void SatBinomIdeal::reserve | ( | size_t | size | ) |

Definition at line 91 of file SatBinomIdeal.cpp.

## validate()

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.

## Member Data Documentation

## _gens

vector<vector<mpz_class> > SatBinomIdeal::_gens

private

Definition at line 122 of file SatBinomIdeal.h.

## _names

VarNames SatBinomIdeal::_names

private

Definition at line 123 of file SatBinomIdeal.h.

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

- src/SatBinomIdeal.h
- src/SatBinomIdeal.cpp