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

◆ sub_space() [2/2]

FreeModule * FreeModule::sub_space ( M2_arrayint a) const

Definition at line 211 of file freemod.cpp.

212{
214 for (unsigned int i = 0; i < a->len; i++)
215 if (a->array[i] >= 0 && a->array[i] < rank())
216 result->append(degree(a->array[i]));
217 else
218 {
219 ERROR("subfreemodule: index out of bounds");
221 return nullptr;
222 }
223 if (schreyer != nullptr) result->schreyer = schreyer->sub_space(a);
224 return result;
225}
virtual FreeModule * new_free() const
Definition freemod.cpp:125
SchreyerOrder * schreyer
Definition freemod.hpp:73
const_monomial degree(int i) const
Definition freemod.hpp:104
FreeModule(const Ring *R, int n, bool has_schreyer_order)
Definition freemod.cpp:32
int rank() const
Definition freemod.hpp:105
void freemem(void *s)
Definition m2-mem.cpp:103
const int ERROR
Definition m2-mem.cpp:55
VALGRIND_MAKE_MEM_DEFINED & result(result)

References degree(), ERROR, freemem(), FreeModule(), new_free(), rank(), result(), and schreyer.