Definition at line 359 of file ring.cpp.
360{
361 try
362 {
365 if (PR == nullptr)
366 {
367 ERROR(
"expected a polynomial ring");
368 return nullptr;
369 }
370 if (P == nullptr)
371 {
372 ERROR(
"expected a Grobner basis computation");
373 return nullptr;
374 }
376 {
377 ERROR(
"expected matrix to be over the same ring");
378 return nullptr;
379 }
382 {
384 return nullptr;
385 }
386}
virtual GBComputation * cast_to_GBComputation()
virtual const Ring * get_ring() const =0
base class for Groebner basis computations.
static LocalRing * create(const PolyRing *R, GBComputation *P)
Concrete PolyRingFlat subclass implementing ordinary commutative polynomial rings K[x_1,...
virtual const PolyRing * cast_to_PolyRing() const
References Computation::cast_to_GBComputation(), Ring::cast_to_PolyRing(), LocalRing::create(), ERROR, and GBComputation::get_ring().