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

◆ sub_space() [1/2]

FreeModule * FreeModule::sub_space ( int n) const

Definition at line 197 of file freemod.cpp.

198{
199 if (n < 0 || n > rank())
200 {
201 ERROR("subfreemodule: index out of bounds");
202 return nullptr;
203 }
205 for (int i = 0; i < n; i++) result->append(degree(i));
206
207 if (schreyer != nullptr) result->schreyer = schreyer->sub_space(n);
208 return result;
209}
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
const int ERROR
Definition m2-mem.cpp:55
VALGRIND_MAKE_MEM_DEFINED & result(result)

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

Referenced by GaussElimComputation::GaussElimComputation(), HermiteComputation::HermiteComputation(), IM2_FreeModule_submodule(), GB_comp::initialize(), gbA::initialize(), and GBinhom_comp::set_up().