Macaulay2 Engine
Loading...
Searching...
No Matches
res-a0-pair.hpp
Go to the documentation of this file.
1// Copyright 1996. Michael E. Stillman
2
3#ifndef _respair_hh_
4#define _respair_hh_
5
6#include <newdelete.hpp>
7#include <monideal.hpp>
8
9struct res2term;
10
11// The following are the possible types of res_pairs's
12enum {
13 SYZ2_S_PAIR, // Pre computation: s-pair
14
15 SYZ2_MAYBE_MINIMAL, // This s-pair was computed before all of the
16 // pairs in the next level were computed, meaning that
17 // this element may not correspond to a minimal syz.
18 // Instead, it may be a SYZ2_NOT_MINIMAL.
19 SYZ2_MINIMAL, // Post s-pair computation: element is minimal syzygy
20 SYZ2_NOT_MINIMAL, // Post s-pair computation: element is not minimal
21 SYZ2_NOT_NEEDED // S-pair computation for this pair cancelled
22};
23
25{
26 res2_pair *next; // Next pair in the list
27 unsigned int me; // Used for making the matrices, either minimal or not.
28 unsigned int pair_num; // A sequence number for which pair this is.
29 // Used in division to determine which pair to reduce by.
30 unsigned char syz_type;
31 unsigned char level;
32 unsigned short degree;
33 unsigned int
34 compare_num; // We don't need a full 32 (or 64) bit number for this...
35
36 res2term *syz; // The syzygy itself, once computed
37 // Before being computed, this is the 1 or 2 term syzygy
38 // saying what the syzygy is.
39
41#if 0
42// union {
43// MonomialIdeal mi; // Monomial ideal of total monomials
44// struct { // Maybe: want a pointer to this...?
45// res2_pair *mi2; // List of res_pairs having this as lead term
46// res2_pair *next_mi; // If this is part of a list of mi2, this is the
47// // next-link.
48// int monomial_mask; // Do we really want this? If so: should probably
49// // refer to the non-total monomial.
50// }
51// } monideal;
52#endif
53 // The following are used only for minimalization of the resolution
54 res2term *pivot_term; // SYZ2_NOT_MINIMAL: Points into 'syz', to the
55 // term containing the constant.
56 // Is this always the last term??
57 // If so, we probably don't need this field...
58};
59
60#endif
61
62// Local Variables:
63// compile-command: "make -C $M2BUILDDIR/Macaulay2/e "
64// indent-tabs-mode: nil
65// End:
Engine-side monomial ideal: a decision tree of Nmi_nodes storing the (typically minimal) generators b...
Definition monideal.hpp:136
MonomialIdeal — exponent-vector-only representation of an ideal generated by monomials.
our_new_delete — per-class opt-in routing of new / delete through bdwgc.
@ SYZ2_MAYBE_MINIMAL
@ SYZ2_NOT_NEEDED
@ SYZ2_NOT_MINIMAL
@ SYZ2_S_PAIR
@ SYZ2_MINIMAL
unsigned short degree
unsigned int me
unsigned char level
unsigned int pair_num
MonomialIdeal * mi
res2term * syz
res2_pair * next
res2term * pivot_term
unsigned int compare_num
unsigned char syz_type