Macaulay2 Engine
Loading...
Searching...
No Matches
res-a0.hpp File Reference

res2_comp — original (1996) free-resolution engine using explicit pair processing. More...

#include "style.hpp"
#include "matrix.hpp"
#include "monideal.hpp"
#include "poly.hpp"
#include "comp-res.hpp"
#include "res-a0-poly.hpp"

Go to the source code of this file.

Classes

struct  auto_reduce_node
struct  res2_level
class  res2_comp
 One of the Resolution computations, based on Schreyer and Lascala. More...

Enumerations

enum  {
  RES_SKELETON , RES_MONORDER , RES_MONIDEAL , RES_REDUCTIONS ,
  RES_DONE , RES_COMPLETE
}

Variables

const int FLAGS_SORT = 7
const int FLAGS_DESCEND = 8
const int FLAGS_REVERSE = 16
const int FLAGS_DEGREE = 32
const int FLAGS_LEVEL = (1 << 13)
const int FLAGS_AUTO = (3 << 14)
const int SHIFT_AUTO = 14
const int FLAGS_GEO = (1 << 16)
const int FLAGS_DEGREELEVEL = (1 << 17)
const int FLAGS_LEVEL_STRIP
const int SORT_SKELETON = 1
const int SORT_MONORDER = 2
const int SORT_REDUCTIONS = 3
const int COMPARE_LEX = 0
const int COMPARE_LEX_EXTENDED = 1
const int COMPARE_LEX_EXTENDED2 = 2
const int COMPARE_ORDER = 3
const int COMPARE_MONORDER = 4
const int COMPUTE_SKELETON = 0
const int COMPUTE_MONORDER = 1
const int COMPUTE_MONOMIAL_RES = 2
const int COMPUTE_RES = 3

Detailed Description

res2_comp — original (1996) free-resolution engine using explicit pair processing.

Note
AI-generated documentation. Verify against the source before relying on it.

Declares res2_comp, the engine's first-generation resolution computation. The class drives a traditional Schreyer-style algorithm with its own polynomial type (res2_poly from res-a0-poly.hpp) and intrusive pair records (res2_pair), stepping through the RES_SKELETON / RES_MONORDER / RES_MONIDEAL / ... states declared at the top of the header. The _2 suffix in the type names is a historical naming quirk — this is actually the oldest of the three legacy engines, but its class names ended up with the suffix because res_comp (in res-a1.hpp) was the first to be touched in a later rework.

Selected by M2 strategies 0 and 1 via the dispatcher in comp-res.hpp. Kept alongside res-a1.hpp, res-a2.hpp, and the modern Schreyer-frame F4 engine in schreyer-resolution/ so each strategy covers the cases the others do not.

See also
comp-res.hpp
res-a1.hpp
res-a2.hpp

Definition in file res-a0.hpp.