|
| | MonomialIdeal (const PolynomialRing *RR, stash *mi_stash=nullptr) |
| virtual | ~MonomialIdeal () |
| | MonomialIdeal (const PolynomialRing *R0, VECTOR(Bag *) &elems, VECTOR(Bag *) &rejects, stash *mi_stash0=nullptr) |
| | MonomialIdeal (const PolynomialRing *R0, VECTOR(Bag *) &elems, stash *mi_stash0=nullptr) |
| MonomialIdeal * | copy () const |
| void | remove_MonomialIdeal () |
| const_varpower | first_elem () const |
| const_varpower | second_elem () const |
| int | size () const |
| int | topvar () const |
| void | text_out (buffer &o) const |
| const PolynomialRing * | get_ring () const |
| void | insert_minimal (Bag *b) |
| int | insert (Bag *b) |
| void | insert_w_deletions (Bag *b, VECTOR(Bag *) &deletions) |
| int | remove (Bag *&b) |
| int | search_expvector (const_exponents m, Bag *&b) const |
| int | search (const_varpower m, Bag *&b) const |
| void | find_all_divisors (const_exponents exp, VECTOR(Bag *)&b) const |
| Iterator | begin () const |
| Iterator | beginAtLast () const |
| Iterator | end () const |
| void * | next (void *p) const |
| void * | prev (void *p) const |
| int | valid (void *p) const |
| void | debug_out (int disp=1) const |
| void | debug_check () const |
| bool | is_equal (const MonomialIdeal &mi) const |
| MonomialIdeal * | intersect (const_varpower m) const |
| MonomialIdeal * | intersect (const MonomialIdeal &J) const |
| MonomialIdeal * | quotient (const_varpower m) const |
| MonomialIdeal * | quotient (const MonomialIdeal &J) const |
| MonomialIdeal * | erase (const_varpower m) const |
| MonomialIdeal * | sat (const MonomialIdeal &J) const |
| M2_arrayint | lcm () const |
| MonomialIdeal * | alexander_dual (const M2_arrayint a) const |
| MonomialIdeal * | radical () const |
| MonomialIdeal * | borel () const |
| bool | is_borel () const |
| MonomialIdeal * | operator+ (const MonomialIdeal &F) const |
| MonomialIdeal * | operator- (const MonomialIdeal &F) const |
| MonomialIdeal * | operator* (const MonomialIdeal &G) const |
| bool | is_one () const |
| int | n_pure_powers () const |
| | EngineObject () |
| virtual | ~EngineObject () |
| unsigned int | hash () const |
Engine-side monomial ideal: a decision tree of Nmi_nodes storing the (typically minimal) generators by variable / exponent path.
- Note
- AI-generated documentation. Verify against the source before relying on it.
The tree representation makes divisibility queries (search_expvector, search, find_all_divisors) and minimal-generator maintenance (insert_w_deletions) efficient compared with a flat list. count packs two pieces of info: the low bit records whether this MonomialIdeal owns its mi_stash (so the destructor knows whether to free it), and count / 2 is the actual number of stored monomials. The ideal is immutable once exposed to the front end (its computeHashValue is called to pin the hash). Iteration is via the nested Iterator class, with begin() / end() and beginAtLast() for reverse-style loops.
Definition at line 133 of file monideal.hpp.