Macaulay2 Engine
Loading...
Searching...
No Matches
res-f4-m2-interface.hpp
Go to the documentation of this file.
1#ifndef __res_f4_to_m2_interface_hpp_
2#define __res_f4_to_m2_interface_hpp_
3
34
35#include "ringelem.hpp" // for vec
36#include <utility> // for pair
37class FreeModule;
38class Matrix;
39class MutableMatrix;
40class PolynomialRing;
41class ResPolyRing;
42class Ring;
43class SchreyerFrame;
44class ResPolynomial;
45template <typename ACoeffRing> class DMat;
46
61{
62 public:
63 static void from_M2_vec(const ResPolyRing& R,
64 const FreeModule* F,
65 vec v,
67
68 static vec to_M2_vec(const ResPolyRing& R,
69 const ResPolynomial& f,
70 const FreeModule* F);
71
74 int lev);
75
77 const FreeModule* F,
79 int lev);
80
82 int lev,
83 const FreeModule* tar,
84 const FreeModule* src);
85
87 const Ring* R, // a polynomial
88 // ring, same monoid
89 // as C, coeffs
90 // allowed depend on
91 // ring of C.
92 int lev);
93
96 const Ring* K, // should be a ZZ/p ring.
97 int lev,
98 int degree);
99
100 template <typename RingType>
103 int slanted_degree,
104 int lev);
105
106 static std::pair<Matrix*,double> setDegreeZeroMap(SchreyerFrame& C,
107 int slanted_degree,
108 int lev);
109
110};
111
112#endif
113
114// Local Variables:
115// compile-command: "make -C $M2BUILDDIR/Macaulay2/e "
116// End:
Definition dmat.hpp:62
Engine-side free module R^n over a Ring.
Definition freemod.hpp:66
Abstract base class for mutable matrices over an arbitrary engine Ring, the in-place counterpart of t...
Definition mat.hpp:79
Abstract base for the engine's polynomial-ring hierarchy.
Definition polyring.hpp:96
static vec to_M2_vec(const ResPolyRing &R, const ResPolynomial &f, const FreeModule *F)
static FreeModule * to_M2_freemodule(const PolynomialRing *R, SchreyerFrame &C, int lev)
static std::pair< Matrix *, double > setDegreeZeroMap(SchreyerFrame &C, int slanted_degree, int lev)
static MutableMatrix * to_M2_MutableMatrix(SchreyerFrame &C, const Ring *R, int lev)
static void from_M2_vec(const ResPolyRing &R, const FreeModule *F, vec v, ResPolynomial &result)
static Matrix * to_M2_matrix(SchreyerFrame &C, int lev, const FreeModule *tar, const FreeModule *src)
static double setDegreeZeroMap(SchreyerFrame &C, DMat< RingType > &result, int slanted_degree, int lev)
Static-method namespace bridging engine Matrix / vec values and the resolution engine's ResPolynomial...
The polynomial-ring view the F4 resolution engine reduces against: coefficient arithmetic plus the en...
Polynomial type used by the F4 resolution engine: parallel coefficient vector and concatenated monomi...
xxx xxx xxx
Definition ring.hpp:102
State container for the in-progress free resolution built by the F4 resolution engine.
#define Matrix
Definition factory.cpp:14
VALGRIND_MAKE_MEM_DEFINED & result(result)
ring_elem — the universal value type carried by every Ring* in the engine.