|
3.16 nres
Syntax:
nres ( ideal_expression, int_expression )
nres ( module_expression, int_expression )
Type:
- resolution
Purpose:
- computes a free resolution of an ideal or module M which is minimized
from the second module on (by the Groebner basis method).
| LIB "poly.lib";
ring A=0,(x,y,z),Dp;
matrix d[3][3];
d[1,2]=-z;
d[1,3]=2x;
d[2,3]=-2y;
ncalgebra(1,d);
ideal i=x,y,z;
i=std(i);
resolution F=nres(i,0);
// now we print the resolution componentwise
// and check that F is indeed exact
F;
==> 1 3 3 1
==> A <-- A <-- A <-- A
==>
==> 0 1 2 3
==> resolution not minimized yet
==>
for (int a=1;a<=size(list(F));a++)
{
printf("Module: %s",a);
print(matrix(F[a]));
if (a>1)
{
printf("Obstruction of exactness at: (%s,%s)",a-1,a);
std(flatten(transpose(F[a])*transpose(F[a-1])));
}
}
==> Module: 1
==> z,y,x
==> Module: 2
==> y, x, -1,
==> -z-2,0, x,
==> 0, -z+2,-y
==> Obstruction of exactness at: (1,2)
==> _[1]=0
==> Module: 3
==> x,
==> -y,
==> z
==> Obstruction of exactness at: (2,3)
==> _[1]=0
|
See
ideal;
minres;
module;
mres.
|