3` and not yet wired up. Evaluation:
23 * --- all three bind on the
M2 side as `rawRingMapEval`.
28 * The in-source
"My plan, Dan, is to make changes to how ring
29 * maps are constructed" note marks this header as still in
30 * transition. No `rawCompose` lives here: composition is
31 * handled at the
M2 level rather than through a dedicated
37 * @see mutable-matrix.h
40# include
"engine-includes.hpp"
43# if defined(__cplusplus)
66# if defined(__cplusplus)
100# if defined(__cplusplus)
Engine-side free module R^n over a Ring.
Abstract base class for mutable matrices over an arbitrary engine Ring, the in-place counterpart of t...
Front-end-visible "ring element" value: an engine ring_elem paired with the Ring* that gives it meani...
Engine-side ring homomorphism: stores, for each source-ring variable, the target-ring element it maps...
static CanonicalForm base
MutableMatrix * rawRingMapEvalMutableMatrix(const RingMap *F, const MutableMatrix *M)
const Ring * IM2_RingMap_target(const RingMap *F)
const Matrix * IM2_RingMap_eval_matrix(const RingMap *F, const FreeModule *newTarget, const Matrix *M)
const RingElement * IM2_RingMap_eval_ringelem(const RingMap *F, const RingElement *a)
unsigned int rawRingMapHash(const RingMap *F)
M2_bool IM2_RingMap_is_equal(const RingMap *f, const RingMap *g)
M2_string IM2_RingMap_to_string(const RingMap *F)
MutableMatrix * rawRingMapEvalMutableMatrix(const RingMap *F, const MutableMatrix *M)
const Ring * IM2_RingMap_target(const RingMap *F)
const Matrix * IM2_RingMap_eval_matrix(const RingMap *F, const FreeModule *newTarget, const Matrix *M)
const RingMap * IM2_RingMap_make1(const Matrix *M)
const RingElement * IM2_RingMap_eval_ringelem(const RingMap *F, const RingElement *a)
M2_bool IM2_RingMap_is_equal(const RingMap *, const RingMap *)
const RingMap * IM2_RingMap_make(const Matrix *M, const Ring *base)
unsigned int rawRingMapHash(const RingMap *F)
M2_string IM2_RingMap_to_string(const RingMap *F)