Macaulay2 Engine
Loading...
Searching...
No Matches
comp-gb-declared.hpp File Reference

GBDeclared — a user-asserted Groebner basis the engine accepts without computing. More...

#include "comp-gb.hpp"
#include "reducedgb.hpp"

Go to the source code of this file.

Classes

class  GBDeclared
 declared Groebner bases. More...

Detailed Description

GBDeclared — a user-asserted Groebner basis the engine accepts without computing.

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

GBDeclared is the GBComputation subclass produced by M2's forceGB. Two constructors (and matching static create factories) cover the two declaration flavours: (m0, gb, change, syz0) takes the original generators m0, a claimed reduced GB gb, the change-of-basis matrix expressing gb in terms of m0, and a claimed syzygy module syz0; the (leadterms, m0, gb, change, syz0) variant additionally lets the caller declare the leading-term matrix explicitly rather than letting the engine derive it from gb. The engine stores the inputs and treats gb as the GB without verification — a wrong declaration produces wrong downstream answers; the point of forceGB is exactly to skip the check. Every subsequent %, //, or quotient runs against the declared basis at the speed of an already-computed GB.

Typical uses are GBs imported from external solvers (msolve, OSCAR, Singular) when the user does not want to recompute, theoretically known bases where the proof is on paper, and caching long GB runs to disk for later reload. The internal ReducedGB* G keeps the trusted basis in the engine's standard reduced-GB form and most accessors (get_gb, get_change, get_initial, matrix_remainder, matrix_lift, ...) forward straight to G; get_mingens returns the declared trimmed_gens and get_syzygies returns the declared syz. start_computation is a no-op since there is nothing to compute.

See also
comp-gb.hpp
comp-gb-proxy.hpp
reducedgb.hpp

Definition in file comp-gb-declared.hpp.