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

Engine-side ring homomorphism: stores, for each source-ring variable, the target-ring element it maps to. More...

#include <ringmap.hpp>

Inheritance diagram for RingMap:
EngineObject our_new_delete

Classes

struct  var
 Per-source-variable image record: a factored representation of the target-ring element that variable maps to. More...

Public Member Functions

 ~RingMap ()
const Ringget_ring () const
bool is_equal (const RingMap *phi) const
const ring_elem elem (int i) const
ring_elem eval_term (const Ring *coeff_ring, const ring_elem coeff, const int *vp, int first_var, int nvars_in_source) const
RingElementeval (const RingElement *r) const
Matrixeval (const FreeModule *newrows, const Matrix *m) 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 const RingMapmake (const Matrix *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

Private Member Functions

 RingMap (const Matrix *m)

Private Attributes

const RingR
const PolynomialRingP
const RingK
const MonoidM
bool is_monomial
int nvars
var_elem

Detailed Description

Engine-side ring homomorphism: stores, for each source-ring variable, the target-ring element it maps to.

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

Built from a row matrix of target-ring elements (make(m)): the i-th column gives the image of the i-th source variable, kept in pre-factored form as coeff * monom * bigelem. The is_monomial flag records whether every variable maps to a single term, enabling a fast monomial-by-monomial evaluation path. R / P / K / M cache the target ring (and its polynomial / coefficient / monoid layers, when present) so evaluate can dispatch without re-querying.

Definition at line 59 of file ringmap.hpp.


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