92 int max_reduction_count = 10);
132 const Matrix **result_remainder,
133 const Matrix **result_quotient) = 0;
int complete_thru_degree() const override=0
virtual Computation * set_hilbert_function(const RingElement *h)
virtual const Matrix * get_change()=0
virtual const Matrix * get_mingens()=0
virtual M2_bool matrix_lift(const Matrix *m, const Matrix **result_remainder, const Matrix **result_quotient)=0
virtual const Matrix * matrix_remainder(const Matrix *m)=0
GBComputation * cast_to_GBComputation() override
void start_computation() override=0
virtual void remove_gb()=0
static GBComputation * choose_gb(const Matrix *m, M2_bool collect_syz, int n_rows_to_keep, M2_arrayint gb_weights, M2_bool use_max_degree, int max_degree, int algorithm, int strategy, int numThreads, int max_reduction_count=10)
virtual const Ring * get_ring() const =0
void text_out(buffer &o) const override
virtual int contains(const Matrix *m)=0
virtual const Matrix * get_parallel_lead_terms(M2_arrayint w)
virtual const Matrix * get_syzygies()=0
virtual const Matrix * get_gb()=0
virtual const Matrix * get_initial(int nparts)=0
base class for Groebner basis computations.
Front-end-visible "ring element" value: an engine ring_elem paired with the Ring* that gives it meani...
Abstract Computation base class — stop-condition machinery for incremental engine work.