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

◆ IM2_Ring_weyl_algebra()

const Ring * IM2_Ring_weyl_algebra ( const Ring * R,
M2_arrayint comm_vars,
M2_arrayint diff_vars,
int homog_var )

Definition at line 175 of file ring.cpp.

179{
180 try
181 {
183 if (P == nullptr)
184 {
185 ERROR("expected a polynomial ring");
186 return nullptr;
187 }
189 P->getMonoid(),
190 diff_vars,
191 comm_vars,
192 homog_var);
194 return result;
195 } catch (const exc::engine_error& e)
196 {
197 ERROR(e.what());
198 return nullptr;
199 }
200}
virtual const Monoid * getMonoid() const
Definition polyring.hpp:282
virtual const Ring * getCoefficients() const
Definition polyring.hpp:277
Abstract base for the engine's polynomial-ring hierarchy.
Definition polyring.hpp:96
virtual const PolynomialRing * cast_to_PolynomialRing() const
Definition ring.hpp:243
static WeylAlgebra * create(const Ring *K, const Monoid *M, M2_arrayint derivs, M2_arrayint comms, int homog_var)
Definition weylalg.cpp:99
PolyRing subclass for Weyl algebras: polynomial rings with the [d_i, x_i] = 1 derivative-variable com...
Definition weylalg.hpp:61
void intern_polyring(const PolynomialRing *G)
Definition finalize.cpp:81
const int ERROR
Definition m2-mem.cpp:55
VALGRIND_MAKE_MEM_DEFINED & result(result)

References Ring::cast_to_PolynomialRing(), WeylAlgebra::create(), ERROR, PolynomialRing::getCoefficients(), PolynomialRing::getMonoid(), intern_polyring(), and result().