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

◆ free_of()

const FreeModule * res_comp::free_of ( int i) const

Definition at line 1341 of file res-a1.cpp.

1342{
1343 FreeModule *result;
1344 result = P->make_Schreyer_FreeModule();
1345 if (i < 0 || i >= resn.size()) return result;
1346 monomial deg = P->degree_monoid()->make_one();
1347 int n = 0;
1348 res_level *lev = resn[i];
1349 for (int j = 0; j < lev->bin.size(); j++)
1350 {
1351 res_degree *mypairs = lev->bin[j];
1352 for (res_pair *p = mypairs->first; p != nullptr; p = p->next)
1353 {
1354 multi_degree(p, deg);
1355 result->append_schreyer(deg, p->base_monom, p->compare_num);
1356 p->minimal_me = n++;
1357 }
1358 }
1359 P->degree_monoid()->remove(deg);
1360
1361 return result;
1362}
void multi_degree(const res_pair *q, monomial result) const
Definition res-a1.cpp:280
const PolynomialRing * P
Definition res-a1.hpp:78
res_pair * first
Definition res-a1.hpp:25
#define monomial
Definition gb-toric.cpp:11
int p
VALGRIND_MAKE_MEM_DEFINED & result(result)

References res_degree::first, monomial, multi_degree(), P, p, and result().

Referenced by make().