|
Macaulay2 Engine
|
binomialGB_comp — Buchberger GB specialised to binomial / toric ideals. More...
Go to the source code of this file.
Classes | |
| struct | binomial |
| struct | binomial_gb_elem |
| struct | binomial_s_pair |
| class | binomial_ring |
| class | binomial_s_pair_set |
| struct | binomial_s_pair_set::s_pair_degree_list |
| struct | binomial_s_pair_set::s_pair_lcm_list |
| struct | binomial_s_pair_set::s_pair_elem |
| class | binomialGB |
| struct | binomialGB::gbmin_elem |
| struct | binomialGB::monomial_list |
| class | binomialGB::iterator |
| class | binomialGB_comp |
| Non-functional. More... | |
Macros | |
| #define | GB_FLAG_IS_HOMOGENEOUS 1 |
| #define | GB_FLAG_IS_NONDEGENERATE 2 |
| #define | GB_FLAG_BIGCELL 4 |
Typedefs | |
| typedef int * | monomial0 |
binomialGB_comp — Buchberger GB specialised to binomial / toric ideals.
Declares binomialGB_comp along with its purpose-built value types: binomial (a (lead, tail) pair of monomial pointers encoding a binomial m_lead - m_tail) and binomial_gb_elem, the intrusive list node carrying a binomial together with a smaller back-link (non-null iff the current element is not a minimal GB generator, in which case it points at a GB element whose leading monomial divides this one). Specialising to binomials lets the algorithm skip generic-coefficient arithmetic entirely — every operation is monomial manipulation through the helper class binomial_ring.
The dispatcher in comp-gb.cpp selects this path via algorithm == 7. The in-source class doxygen flags the implementation "Non-functional": get_change, get_syzygies, matrix_remainder, matrix_lift, and contains are declared but not planned to be implemented, and text_out is a no-op. Sibling GB specialisations live in gb-default.hpp, gb-sugarless.hpp, gb-homog2.hpp, and gb-walk.hpp. The TODO at the top of the header flags the still-undecided typing of the int * monomial pointers that the binomial struct uses.
Definition in file gb-toric.hpp.