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

Implementation of GBMatrix and GBKernelComputation — the polynomial-at-a-time syzygy engine. More...

#include "Eschreyer.hpp"
#include "matrix.hpp"
#include "monoid.hpp"
#include "text-io.hpp"
#include "gbring.hpp"
#include "matrix-con.hpp"

Go to the source code of this file.

Detailed Description

Implementation of GBMatrix and GBKernelComputation — the polynomial-at-a-time syzygy engine.

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

Two halves: the GBMatrix constructors and to_matrix conversion that wrap a column collection of gbvector*s (translating to and from the engine's standard Matrix / FreeModule pair via R->translate_gbvector_from_vec); and the GBKernelComputation driver that walks each input column through a head-reduction loop (subtracting (lt(f)/lt(g_i)) * g_i and tracking the multiplier as a syzygy basis element) followed by an optional tail-reduction pass. The output gbvector syzygies form the kernel of the input matrix modulo the supplied Gröbner basis.

Walks polynomials term-by-term through the gbvector linked- list representation; the newer schreyer-resolution/ family batches the same work into Macaulay matrices and wins on large inputs. This file stays in the engine for paths that have not yet migrated; new resolution work targets the matrix-based engine.

See also
Eschreyer.hpp
gbring.hpp
schreyer-resolution/res-f4.hpp

Definition in file Eschreyer.cpp.