Macaulay2 Engine
Loading...
Searching...
No Matches
bibasis.cpp File Reference

rawBIBasis — C entry point bridging M2 to BIBasis's involutive-basis engine. More...

#include "launcher.hpp"
#include "matrix.hpp"

Go to the source code of this file.

Functions

const MatrixrawBIBasis (const Matrix *matrix, int toGroebner)

Detailed Description

rawBIBasis — C entry point bridging M2 to BIBasis's involutive-basis engine.

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

Defines the single extern "C" symbol rawBIBasis(Matrix*, int) that the M2 interpreter (via the BIBasis package) calls to compute a Boolean involutive basis. The function constructs a BIBasis::Launcher, forwards the input matrix and the toGroebner flag, and returns the resulting matrix — so this file is the thinnest possible glue layer between the engine's Matrix API and the BIBasis subsystem.

The actual algorithm — reducing inputs mod x_i^2 - x_i, inserting into a JanetTree, walking prolongations until no new polynomials appear — lives behind Launcher and the Polynom/Monom types. The toGroebner flag controls whether the involutive output is reduced down to a Gröbner basis before being returned.

See also
launcher.hpp
janettree.hpp
polynom.hpp

Definition in file bibasis.cpp.