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
9
struct
res2term
;
10
11
// The following are the possible types of res_pairs's
12
enum
{
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
24
struct
res2_pair
:
public
our_new_delete
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
40
MonomialIdeal
*
mi
;
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:
MonomialIdeal
Engine-side monomial ideal: a decision tree of Nmi_nodes storing the (typically minimal) generators b...
Definition
monideal.hpp:136
monideal.hpp
MonomialIdeal — exponent-vector-only representation of an ideal generated by monomials.
newdelete.hpp
our_new_delete — per-class opt-in routing of new / delete through bdwgc.
SYZ2_MAYBE_MINIMAL
@ SYZ2_MAYBE_MINIMAL
Definition
res-a0-pair.hpp:15
SYZ2_NOT_NEEDED
@ SYZ2_NOT_NEEDED
Definition
res-a0-pair.hpp:21
SYZ2_NOT_MINIMAL
@ SYZ2_NOT_MINIMAL
Definition
res-a0-pair.hpp:20
SYZ2_S_PAIR
@ SYZ2_S_PAIR
Definition
res-a0-pair.hpp:13
SYZ2_MINIMAL
@ SYZ2_MINIMAL
Definition
res-a0-pair.hpp:19
our_new_delete
Definition
newdelete.hpp:116
res2_pair::degree
unsigned short degree
Definition
res-a0-pair.hpp:32
res2_pair::me
unsigned int me
Definition
res-a0-pair.hpp:27
res2_pair::level
unsigned char level
Definition
res-a0-pair.hpp:31
res2_pair::pair_num
unsigned int pair_num
Definition
res-a0-pair.hpp:28
res2_pair::mi
MonomialIdeal * mi
Definition
res-a0-pair.hpp:40
res2_pair::syz
res2term * syz
Definition
res-a0-pair.hpp:36
res2_pair::next
res2_pair * next
Definition
res-a0-pair.hpp:26
res2_pair::pivot_term
res2term * pivot_term
Definition
res-a0-pair.hpp:54
res2_pair::compare_num
unsigned int compare_num
Definition
res-a0-pair.hpp:34
res2_pair::syz_type
unsigned char syz_type
Definition
res-a0-pair.hpp:30
res2_pair
Definition
res-a0-pair.hpp:25
res2term
Definition
res-a0-poly.hpp:11
Macaulay2
e
res-a0-pair.hpp
Generated on
for Macaulay2 Engine by
1.15.0