Definition at line 79 of file res-a2.cpp.
80{
81 int i;
85 mi_stash =
new stash(
"res mi nodes",
sizeof(Nmi_node));
86
87 FreeModule *Fsyz =
originalR->make_Schreyer_FreeModule();
88 if (length <= 0)
89 {
90 ERROR(
"resolution length must be at least 1");
91 length = 1;
92 }
93
94
95
96
97 if (length > 1 && origsyz > 0)
98 {
101 const int *mon;
102 for (i = 0; i < origsyz; i++)
103 {
104 if ((*m)[i] == nullptr)
105 mon = one;
106 else
107 {
108 Nterm *t = (*m)[i]->coeff;
110 }
112 }
114 }
115
118
121
122 nodes[0] =
new gb_emitter(m);
127 {
128
129 nodes[1]->set_output(
nullptr);
130 }
132 {
133
134
136 if (origsyz > 0) deg--;
137 for (i = 2; i <
n_nodes - 1; i++)
138 {
139 FreeModule *F =
originalR->make_Schreyer_FreeModule();
141 new gb2_comp(F,
mi_stash,
nodes[i - 1], deg++, -1, i, strategy);
143 }
144 FreeModule *F =
originalR->make_Schreyer_FreeModule();
148 }
150}
const_monomial degree(int i) const
int lowest_primary_degree() const
void append_schreyer(const_monomial d, const_monomial base_monom, int compare_num)
const Ring * get_ring() const
const FreeModule * cols() const
virtual const PolynomialRing * cast_to_PolynomialRing() const
const PolynomialRing * originalR
int last_completed_degree
References FreeModule::append_schreyer(), Ring::cast_to_PolynomialRing(), Nterm::coeff, Matrix::cols(), FreeModule::degree(), ERROR, Matrix::get_ring(), GR, last_completed_degree, lo_degree, FreeModule::lowest_primary_degree(), Matrix, mi_stash, Nterm::monom, monomial, Matrix::n_cols(), n_nodes, newarray, nodes, originalR, and strategy_flags.
Referenced by gbres_comp(), and gbres_comp().