: restall_s : Macros in libraries : resol0

## resol1

``` [ ii v] resol1 r
array of poly ii; string v;
<< vv >> is a string of variables separated by ,

[ ii v] resol1 r
array of poly ii; array of strings v;
<< vv >> is an array of variable names.

[ ii v w] resol1 r
array of poly ii; string v; array w;
<< w >> is a weight vector.

ii may be array of array of poly.
You can also give a parameter << d >> to specify the truncation depth
of the resolution: [ d ii v] resol1, [d ii v w] resol1

resol1 constructs a resolution which is adapted (strict)
to a filtration. So, it is not minimal in general.
r = [s0, s1, s2 , s3, ...].
s0 is the groebner basis of ii,
s1 is the syzygy of s0,
s2 is the syzygy of s1,
s3 is the syzygy of s2 and so on.
s1 s0 mul ==> 0, s2 s1 mul ==>0, ...
For details, see math.AG/9805006
cf. sResolution, tparse, s_ring_..., resol0.cp
resol1.withZeroMap returns a resolution with zero maps of the both sides
of the resolution.
cf. resol1.zeroMapL, resol1.zeroMapR, resol1.withZeroMap.aux
resol1.syzlist : global variable to keep the raw output of sResolution.

Example 1: [ [( x^3-y^2 )  ( 2 x Dx + 3 y Dy + 6 )  ( 2 y Dx + 3 x^2 Dy) ]
(x,y) ] resol1 pmat ;
Example 2: [ [( x^3-y^2 )  ( 2 x Dx + 3 y Dy + 6 )  ( 2 y Dx + 3 x^2 Dy) ]
(x,y) [[(x) -1 (Dx) 1 (y) -1 (Dy) 1]]] resol1 pmat ;
Example 3: [ [[(2 x Dx + 3 y Dy +6) (0)]
[(3 x^2 Dy + 2 y Dx) (0)]
[(0) (x^2+y^2)]
[(0) (x y )] ]
(x,y) [[(x) -1 (Dx) 1 (y) -1 (Dy) 1]]] resol1 pmat ;
Example 4:  /resol0.verbose 1 def
[ [[(x^2+y^2+ x y) (x+y)] [(x y ) ( x^2 + x y^3)] ] (x,y)
[[(x) -1 (Dx) 1 (y) -1 (Dy) 1]]] resol1 pmat ;
```

Nobuki Takayama 平成22年2月8日