|
7.3.13 mres (plural)
Syntax:
mres ( ideal_expression, int_expression )
mres ( module_expression, int_expression )
Type:
- resolution
Purpose:
- computes a minimal free resolution of an ideal or module M with the
Groebner basis method. More precisely, let A=
matrix (M), then mres
computes a free resolution of
where the columns of the matrix
are a (possibly) minimal set of generators
of
.
If the int expression k is not zero, then the computation stops after k steps
and returns a list of modules
, .
mres(M,0) returns a resolution consisting of at most n+2 modules,
where n is the number of variables of the basering.
Let list L=mres(M,0);
then L[1] consists of a minimal set of generators of the input, L[2]
consists of a minimal set of generators for the first syzygy module of
L[1] , etc., until L[p+1] , such that
for , but L[p+1] (the first syzygy module of L[p] )
is 0 (if the basering is not a qring).
Note:
- Accessing single elements of a resolution may require that some partial
computations have to be finished and may therefore take some time.
Example:
| LIB "ncalg.lib";
def A = makeUsl2();
setring A; // this algebra is U(sl_2)
option(redSB);
option(redTail);
ideal i = e,f,h;
i = std(i);
resolution M=mres(i,0);
M;
==> 1 2 2 1
==> A <-- A <-- A <-- A
==>
==> 0 1 2 3
==>
print(matrix(M[1])); // print M's in a compact way
==> f,e
print(matrix(M[2]));
==> ef-2h-2,e2,
==> -f2, -ef-h+2
// see the exactness at this point
std(ideal(transpose(M[2])*transpose(M[1])));
==> _[1]=0
print(matrix(M[3]));
==> e,
==> -f
// see the exactness at this point
std(ideal(transpose(M[3])*transpose(M[2])));
==> _[1]=0
|
See
ideal (plural);
minres (plural);
module (plural);
nres (plural).
|