Macaulay2 Engine
Loading...
Searching...
No Matches

◆ create()

WeylAlgebra * WeylAlgebra::create ( const Ring * K,
const Monoid * M,
M2_arrayint derivs,
M2_arrayint comms,
int homog_var )
static

Definition at line 99 of file weylalg.cpp.

104{
106
107 result->initialize_poly_ring(K, M);
108 if (!result->initialize_weyl(derivs, comms, homog_var)) return nullptr;
109#ifdef DEVELOPMENT
110#warning "hack for ZZ and QQ coeffs in Weyl algebra: clean it up?"
111#endif
112 WeylAlgebra *weyl = result;
113 if (K->is_QQ())
114 {
115 weyl = WeylAlgebra::create(globalZZ, M, derivs, comms, homog_var);
116 }
117 result->gb_ring_ = GBRing::create_WeylAlgebra(K, M, weyl);
118 return result;
119}
static GBRing * create_WeylAlgebra(const Ring *K0, const Monoid *M0, const WeylAlgebra *W0)
Definition gbring.cpp:208
virtual bool is_QQ() const
Definition ring.hpp:172
static WeylAlgebra * create(const Ring *K, const Monoid *M, M2_arrayint derivs, M2_arrayint comms, int homog_var)
Definition weylalg.cpp:99
RingZZ * globalZZ
Definition relem.cpp:13
VALGRIND_MAKE_MEM_DEFINED & result(result)

References create(), GBRing::create_WeylAlgebra(), globalZZ, Ring::is_QQ(), result(), and WeylAlgebra().

Referenced by create(), and IM2_Ring_weyl_algebra().