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

◆ make_gb()

GBComputation * PolyRingQuotient::make_gb ( const ring_elem g) const
protected

Definition at line 204 of file polyquotient.cpp.

209{
210 MatrixConstructor mat(make_FreeModule(1), 1);
211 mat.set_entry(0, 0, g);
212 Matrix *mg = mat.to_matrix(); // {g}
213
214 M2_arrayint weights = M2_makearrayint(n_vars());
215 for (int i = 0; i < n_vars(); i++) weights->array[i] = 1;
216 GBComputation *G = GBComputation::choose_gb(mg,
217 false, // collect syz
218 -1,
219 weights,
220 false,
221 -1,
222 0,
223 0,
224 0 // TBB numThreads
225 /* , max_reduction_count */
226 );
227 G->set_stop_conditions(false,
228 nullptr,
229 -1,
230 -1, // syzygy limit
231 -1,
232 -1,
233 -1,
234 false,
235 nullptr);
236
237 G->start_computation();
238 return G;
239}
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)
Definition comp-gb.cpp:39
int n_vars() const
Definition polyring.hpp:196
virtual FreeModule * make_FreeModule() const
Definition ring.cpp:53
#define Matrix
Definition factory.cpp:14
M2_arrayint M2_makearrayint(int n)
Definition m2-types.cpp:6
tbb::flow::graph G

References GBComputation::choose_gb(), G, M2_makearrayint(), Ring::make_FreeModule(), Matrix, PolynomialRing::n_vars(), MatrixConstructor::set_entry(), and MatrixConstructor::to_matrix().

Referenced by ann(), quotient(), remainder(), and remainderAndQuotient().