Macaulay2 Engine
Loading...
Searching...
No Matches
janettree.hpp File Reference

BIBasis::JanetTree<MonomType> — the involutive-division index for boolean Gröbner bases. More...

#include "triple.hpp"

Go to the source code of this file.

Classes

class  BIBasis::JanetTree< MonomType >
struct  BIBasis::JanetTree< MonomType >::Node
class  BIBasis::JanetTree< MonomType >::ConstIterator
class  BIBasis::JanetTree< MonomType >::Iterator

Namespaces

namespace  BIBasis

Detailed Description

BIBasis::JanetTree<MonomType> — the involutive-division index for boolean Gröbner bases.

Note
AI-generated documentation. Verify against the source before relying on it.

Declares and defines the trie that drives the inner loop of BooleanInvolutiveBasis. Each Node carries a variable degree, an optional Triple, and NextDegree / NextVariable sibling pointers; a monomial of degree d traces a path of length O(d) through the tree, branching first by the chosen variable's exponent and then by the next variable in the leading-term encoding. Find walks the path to locate an involutive divisor (returning the Triple whose monomial Janet- divides the query), Insert lazily allocates fresh nodes along the path and attaches the triple at the leaf, and Delete bookkeeps "bifurcation" counts to know when removing a subtree disconnects an interior branch.

Templated on MonomType (MonomLex, MonomDL, MonomDRL) so the per-variable indexing inlines per ordering, and exposes a NonMulti(triple) traversal that returns the non- multiplicative variable set the involutive algorithm needs in order to schedule prolongations.

See also
triple.hpp
monom.hpp
involutive.hpp

Definition in file janettree.hpp.