Macaulay2 Engine
Loading...
Searching...
No Matches

◆ make_lead_term_matrix()

Matrix * gbA::make_lead_term_matrix ( )
private

Definition at line 2376 of file gb-default.cpp.

2377{
2378 MatrixConstructor result(_F, 0);
2379 for (int i = first_gb_element; i < gb.size(); i++)
2380 {
2381 gbelem *g = gb[i];
2382 if (g->minlevel & ELEM_MINGB)
2383 {
2384 gbvector *f = g->g.f;
2385 assert(f != 0);
2386 // Only grab the lead term, which should be non-null
2387 gbvector *fnext = f->next;
2388 f->next = nullptr;
2389 vec v = originalR->translate_gbvector_to_vec(_F, f);
2390 f->next = fnext;
2391 result.append(v);
2392 }
2393 }
2394 return result.to_matrix();
2395}
int first_gb_element
const PolynomialRing * originalR
const FreeModule * _F
void gb(IntermediateBasis &F, int n)
const int ELEM_MINGB
VALGRIND_MAKE_MEM_DEFINED & result(result)
GBF4Polynomial f
Definition f4-types.hpp:139
gbelem_type minlevel
Definition f4-types.hpp:142
gbvector * next
Definition gbring.hpp:80

References _F, ELEM_MINGB, POLY::f, first_gb_element, gbA::gbelem::g, gb(), Matrix, gbA::gbelem::minlevel, gbvector::next, originalR, and result().

Referenced by do_computation().