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

◆ hilb_comp() [2/2]

hilb_comp::hilb_comp ( const PolynomialRing * R,
const MonomialIdeal * I )

Definition at line 371 of file hilb.cpp.

373 R(RR),
374 M(S->getMonoid()),
375 D(S->degree_monoid()),
376 mi_stash(new stash("hilb mi", sizeof(Nmi_node))),
377 input_mat(nullptr),
378 this_comp(0),
379 n_components(1),
380 current(nullptr),
381 part_table(S->n_vars(), mi_stash)
382{
383 assert(D == R->getMonoid());
384 one = R->getCoefficientRing()->from_long(1);
385 minus_one = R->getCoefficientRing()->from_long(-1);
386 LOCAL_deg1 = D->make_one();
387
388 result_poincare = R->from_long(0);
389 nsteps = 0;
390 maxdepth = 0;
391 nideal = 0;
392 nrecurse = 0;
393
394 reset();
395 MonomialIdeal *copyI = I->copy();
396 part_table.partition(copyI, current->monids);
397 current->i = current->monids.size() - 1;
398 current->first_sum = current->i + 1; // This part is not used at top level
399}
MonomialIdeal * copy() const
Definition monideal.cpp:187
const PolynomialRing * get_ring() const
Definition monideal.hpp:190
virtual const PolynomialRing * cast_to_PolynomialRing() const
Definition polyring.hpp:304
int nideal
Definition hilb.hpp:116
const Monoid * D
Definition hilb.hpp:97
ring_elem result_poincare
Definition hilb.hpp:103
ring_elem minus_one
Definition hilb.hpp:121
const Matrix * input_mat
Definition hilb.hpp:102
int nrecurse
Definition hilb.hpp:117
const PolynomialRing * R
Definition hilb.hpp:95
const PolynomialRing * S
Definition hilb.hpp:94
monomial LOCAL_deg1
Definition hilb.hpp:125
void reset()
Definition hilb.cpp:325
hilb_step * current
Definition hilb.hpp:110
int nsteps
Definition hilb.hpp:113
partition_table part_table
Definition hilb.hpp:127
int n_components
Definition hilb.hpp:106
int this_comp
Definition hilb.hpp:105
int maxdepth
Definition hilb.hpp:115
const Monoid * M
Definition hilb.hpp:96
ring_elem one
Definition hilb.hpp:120
stash * mi_stash
Definition hilb.hpp:99

References MonomialIdeal::copy(), current, D, input_mat, LOCAL_deg1, M, maxdepth, mi_stash, minus_one, n_components, nideal, nrecurse, nsteps, one, part_table, R, reset(), result_poincare, S, and this_comp.