Via the Morse Graph we are able to compute a free resolution of a
polynomial ideal via the JBMill
if the polynomial ideal has some
special properties. The ideal must be in delta-regular coordinates
(i.e. it has a Pommaret basis) and the ordering must be
degrevlex
. If these conditions hold we can compute a free
resolution and, if the ideal is homogeneous, the minimal free resolution
and the graded Betti numbers of the ideal.
In the following let mill
a JBMill
with degrevlex
order. Furthermore we assume that JBIsPommaretBasis(mill) == true
.
The following command computes a free resolution as vector<matrix>
JBResolution(mill)
Now we assume that mill
contains a homogeneous ideal
JBMinimalResolution(mill)
-- Returns the minimal free resolution of mill
as vector<matrix>
JBBettiDiagramm(mill)
-- Returns a matrix of ZZ
, which represents the graded Betti numbers in Macaulay-Style
We only explain the basic structure because there is very much code. The implementation is divided in four parts:
Here we define the MorseElements and the StandardRepresentationContainer. The MorseGraph consists of MorseElements. The StandardRepresentationContainer stores standard representations, to avoid redundant computations.
MorsePaths are maps between MorseElements.
Stores and computes the MorseGraph. Also there are some easy interfaces to access the resolution. It still waits for a general free resolution object in CoCoALib.
Takes a free resolution of an homogeneous ideal an computes the minimal free resolutions. But only works for free resolution which have already the correct length.
Implementing a own specialized myAddRowMul function (skipping zeros...).
Waiting for general free resolution object.