Macaulay2 Engine
Loading...
Searching...
No Matches
FreeModule Class Reference

Engine-side free module R^n over a Ring. More...

#include <freemod.hpp>

Inheritance diagram for FreeModule:
EngineObject our_new_delete

Public Member Functions

Matrixget_induced_order () const
virtual ~FreeModule ()
void append (const_monomial d)
void append_schreyer (const_monomial d, const_monomial base_monom, int compare_num)
void change_degree (int i, const_monomial deg)
const Ringget_ring () const
const SchreyerOrderget_schreyer_order () const
const_monomial degree (int i) const
int rank () const
int primary_degree (int i) const
bool is_equal (const FreeModule *F) const
FreeModulesub_space (int n) const
FreeModulesub_space (M2_arrayint a) const
FreeModuletranspose () const
FreeModuledirect_sum (const FreeModule *G) const
FreeModuleshift (const_monomial d) const
FreeModuletensor (const FreeModule *G) const
FreeModuleschur (const_monomial m) const
FreeModuleexterior (int p) const
FreeModulesymm (int p) const
M2_arrayintOrNull select_by_degrees (M2_arrayintOrNull lo, M2_arrayintOrNull hi) const
void direct_sum_to (const FreeModule *G)
int lowest_primary_degree () const
int highest_primary_degree () const
void text_out (buffer &o) const
Public Member Functions inherited from EngineObject
 EngineObject ()
virtual ~EngineObject ()
unsigned int hash () const

Static Public Member Functions

static FreeModulemake_schreyer (const Matrix *m)
static FreeModulemake_schreyer (const GBMatrix *m)
Static Public Member Functions inherited from our_new_delete
static void * operator new (size_t size)
static void * operator new[] (size_t size)
static void operator delete (void *obj)
static void operator delete[] (void *obj)
static void * operator new (size_t size, void *existing_memory)
static void * operator new[] (size_t size, void *existing_memory)
static void operator delete (void *obj, void *existing_memory)
static void operator delete[] (void *obj, void *existing_memory)

Protected Member Functions

virtual unsigned int computeHashValue () const
void initialize (const Ring *RR)
virtual FreeModulenew_free () const

Protected Attributes

gc_vector< monomialcomponents
SchreyerOrderschreyer
const RingR

Private Member Functions

 FreeModule (const Ring *R, int n, bool has_schreyer_order)

Friends

class Ring
class ResF4toM2Interface

Detailed Description

Engine-side free module R^n over a Ring.

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

Holds the underlying Ring* plus a components vector with the multi-degree of each generator; optionally carries a SchreyerOrder* that pins the per-component tie-breaker data used when the free module participates in a Schreyer resolution. Constructed only through Ring-side factory paths (the constructor is private) so the engine can guarantee the ring / degree pair is consistent before any vectors live in it.

Definition at line 65 of file freemod.hpp.


The documentation for this class was generated from the following files: