|
Macaulay2 Engine
|
Engine-side ring homomorphism: stores, for each source-ring variable, the target-ring element it maps to. More...
#include <ringmap.hpp>
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 Ring * | get_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 |
| RingElement * | eval (const RingElement *r) const |
| Matrix * | eval (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 RingMap * | make (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 Ring * | R |
| const PolynomialRing * | P |
| const Ring * | K |
| const Monoid * | M |
| bool | is_monomial |
| int | nvars |
| var * | _elem |
Engine-side ring homomorphism: stores, for each source-ring variable, the target-ring element it maps to.
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.