f v s_0 s_1 level restall_s c array f; array v; integer s_0, s_1, level; array c f is a set of generators. v is a set of variables. s_0 is the minimal integral root of the b-function. s_1 is the maximal integral root of the b-function. level is the truncation degree of the resolution. c is the cohomolgy. This command is vector clean for Schreyer 1 and 2. Global variables: array BFvarlist : list of variables. array BFparlist : list of parameters. int BFmessage : verbose or not. int Schreyer : Schreyer 1 with tower-sugar.sm1 -- V-homog. Schreyer 2 with tower.sm1 --- H-homog. Schreyer 0 is a step by step resolution. result global var:array BFresolution : resolution matrices. cf. /tower.verbose 1 def /tower-sugar.verbose 1 def /debug.sResolution 1 def to see steps of resoluitons. /Schreyer 2 def (tower.sm1) run to try Schreyer 2. Schreyer 2 is default. See bfm --- b-function, restriction. restall1_s is as same as restall_s, except it does not truncate from below. Example 1: /BFvarlist [(x1) (x2)] def /BFparlist [ ] def [(x1) (Dx2-1)] [(x1)] -1 -1 1 restall_s Example 1a: /BFvarlist [(x1) (x2)] def /BFparlist [ ] def [(x1) (Dx2-1)] [(x1)] bfm Example 2: /BFvarlist [(x) (y)] def /BFparlist [ ] def [[(x Dx -1) (0)] [(y Dy -2) (0)] [(1) (1)] ] /ff set ff [(x) (y)] 0 4 2 restall_s