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

◆ initialize0()

void GB_comp::initialize0 ( const Matrix * m,
int csyz,
int nsyz,
M2_arrayint gb_weights )
private

Definition at line 28 of file gb-homog2.cpp.

32{
33 int i;
34 const PolynomialRing *R = m->get_ring()->cast_to_PolynomialRing();
35 if (R == nullptr)
36 {
37 ERROR("ring is not a polynomial ring");
38 // MES: throw an error here.
39 assert(0);
40 }
41 originalR = R;
42 _GR = R->get_gb_ring();
43 weightInfo_ = new GBWeight(m->rows(), gb_weights);
44 _M = _GR->get_flattened_monoid();
45 _K = _GR->get_flattened_coefficients();
46
47 _spairs = new s_pair_heap(_M);
48 _gens = new s_pair_heap(_M);
49
50 if (nsyz < 0 || nsyz > m->n_cols()) nsyz = m->n_cols();
51 _n_rows_per_syz = nsyz;
52
53 _F = m->rows();
54
55 _ar_i = _ar_j = _np_i = -1;
56
57 _n_gb = _n_subring = 0;
59 _n_gens_left = 0;
60 _n_reductions = 0;
61
62 _collect_syz = csyz;
63 _is_ideal = (_F->rank() == 1 && csyz == 0);
64 if (_GR->is_weyl_algebra()) _is_ideal = false;
65
66 _use_hilb = false;
67 _hilb_new_elems = false;
69
70 _n_saved_hilb = 0;
71
72 // set local variables for certain time-critical routines
73
74 _this_degree = _F->lowest_primary_degree() - 1;
75
76 for (i = 0; i <= _F->rank(); i++)
77 {
78 // The 0th one is not used.
79 monideal_pair *p = new monideal_pair(originalR);
80 _monideals.push_back(p);
81 }
82}
int _n_pairs_computed
Definition gb-homog2.hpp:94
int _n_gb
Definition gb-homog2.hpp:92
const Ring * _K
Definition gb-homog2.hpp:71
bool _hilb_new_elems
int _n_subring
Definition gb-homog2.hpp:95
const Monoid * _M
Definition gb-homog2.hpp:70
bool _collect_syz
int _ar_i
Definition gb-homog2.hpp:79
int _ar_j
Definition gb-homog2.hpp:79
const FreeModule * _F
Definition gb-homog2.hpp:73
s_pair_heap * _gens
Definition gb-homog2.hpp:83
int _n_gens_left
Definition gb-homog2.hpp:93
bool _use_hilb
const GBWeight * weightInfo_
Definition gb-homog2.hpp:69
int _this_degree
Definition gb-homog2.hpp:75
int _n_rows_per_syz
s_pair_heap * _spairs
Definition gb-homog2.hpp:82
GBRing * _GR
Definition gb-homog2.hpp:68
const PolynomialRing * originalR
Definition gb-homog2.hpp:67
int _n_reductions
Definition gb-homog2.hpp:99
int _n_saved_hilb
bool _is_ideal
int _hilb_n_in_degree
int _np_i
Definition gb-homog2.hpp:80
int _n_saved_gcd
Definition gb-homog2.hpp:98
const Ring * get_ring() const
Definition matrix.hpp:134
int n_cols() const
Definition matrix.hpp:147
const FreeModule * rows() const
Definition matrix.hpp:144
virtual GBRing * get_gb_ring() const
Definition polyring.hpp:276
virtual const PolynomialRing * cast_to_PolynomialRing() const
Definition ring.hpp:243
int p
const int ERROR
Definition m2-mem.cpp:55

References _ar_i, _ar_j, _collect_syz, _F, _gens, _GR, _hilb_n_in_degree, _hilb_new_elems, _is_ideal, _K, _M, _n_gb, _n_gens_left, _n_pairs_computed, _n_reductions, _n_rows_per_syz, _n_saved_gcd, _n_saved_hilb, _n_subring, _np_i, _spairs, _this_degree, _use_hilb, Ring::cast_to_PolynomialRing(), ERROR, PolynomialRing::get_gb_ring(), Matrix::get_ring(), Matrix, Matrix::n_cols(), originalR, p, Matrix::rows(), and weightInfo_.

Referenced by initialize().