|
5.1.46 fres
Syntax:
fres ( ideal_expression/module_expression , int_expression
, [ string_expression ])
Type:
- resolution
Purpose:
- computes a (not necessarily minimal) free resolution of the input ideal/module,
using Schreyer's algorithm, see reference.
If the second argument is n > 0 , then the resolution is computed up
to step n . If it is 0 , fres computes the whole resolution.
The optional third argument can be set to
"complete" (default) to compute the whole syzygy module in each
step,
"frame" to compute only the so-called frame,
"extended frame" to compute only the first two terms of each
generator w.r.t. the induced monomial ordering, or
"single module" to return only the frame of each module except the
last one and to return the last module in its entirety. This option can be used
to reduce the amount of memory needed for the computation.
Note:
- The input ideal/module must be a standard basis.
Reference:
- B. Erocal, O. Motsak, F.-O. Schreyer, A. Steenpass:
Refined Algorithms to Compute Syzygies.
J. Symb. Comput. 74 (2016), 308-327.
http://arxiv.org/abs/1502.01654
Example:
| ring r = 0, (w,x,y,z), dp;
ideal I = w2-xz, wx-yz, x2-wy, xy-z2, y2-wz;
attrib(I, "isSB", 1);
resolution s = fres(I, 0);
s;
==> 1 5 6 2
==> r <-- r <-- r <-- r
==>
==> 0 1 2 3
==> resolution not minimized yet
==>
print(betti(s, 0), "betti");
==> 0 1 2 3
==> ------------------------------
==> 0: 1 - - -
==> 1: - 5 5 1
==> 2: - - 1 1
==> ------------------------------
==> total: 1 5 6 2
==>
list l = s;
print(l[1]);
==> w2-xz,
==> wx-yz,
==> x2-wy,
==> xy-z2,
==> y2-wz
print(l[2]);
==> -x,y, 0, -z,0, -y2+wz,
==> w, -x,-y,0, z, z2,
==> -z,w, 0, -y,0, 0,
==> 0, 0, w, x, -y,-yz,
==> 0, 0, -z,-w,x, w2
print(l[3]);
==> 0, -y2+wz,
==> y, z2,
==> -x,-wy,
==> w, yz,
==> -z,-w2,
==> 1, x
|
See
Free resolution;
minres;
res;
sres;
syz.
|