### D.2.12 schreyer_lib

Library:
  schreyer.lib
Purpose:
  Schreyer resolution computations and helpers for derham.lib
Author:
  Oleksandr Motsak <U@D>, where U={motsak}, D={mathematik.uni-kl.de}

Overview:
  The library contains several procedures for computing a/part of Schreyer resoltion (cf. [SFO]), and some helpers for derham.lib (which requires resolutions over the homogenized Weyl algebra) for that purpose. The input for any resolution computation is a set of vectors M in form of a module over some basering R. The helpers works both in the commutative and non-commutative setting (cf. [MO]), that is the ring R may be non-commutative, in which case the ring ordering over it must be global. They produce/work with partial Schreyer resolutions of (R^rank(M))/M in form of a specially constructed ring (endowed with a special ring ordering that will be extended in the course of a resolution computation) containing the following objects:
  RES: the list of modules contains the images of maps (also called syzygy modules) substituting the computed beginning of a Schreyer resolution, that is, each syzygy module is given by a Groebner basis with respect to the corresponding Schreyer ordering. RES starts with a zero map given by rank(M) zero generators indicating that the image of the first differential map is zero. The second map RES[2] is given by M, which indicates that the resolution of (R^rank(M))/M is being computed.
  MRES: the module is a direct sum of modules from RES and thus comprises all computed differentials. Syzygies are shifted so that gen(i) is mapped to MRES[i] under the differential map.
  Here, we call a free resolution a Schreyer resolution if each syzygy module is given by a Groebner basis with respect to the corresponding Schreyer ordering. A Schreyer resolution can be much bigger than a minimal resolution of the same module, but may be easier to construct. The Schreyer ordering succesively extends the starting module ordering on M (defined in Singular by the basering R) and is extended to higher syzygies using the following definition:
  a < b if and only if (d(a)<d(b)) OR ( (d(a)=d(b) AND (comp(a)<comp(b)) ),
  where d(a) is the image of an under the differential (given by MRES), and comp(a) is the module component, for any module terms a and b from the same higher syzygy module.

Note:
  Since most comutations require the module syzextra.so, please be make sure to build it into Singular on Windows.

References:
  [BMSS] Burcin, E., Motsak, O., Schreyer, F.-O., Steenpass, A.: Refined algorithms to compute syzygies, 2015 (to appear).
  [SFO] Schreyer, F.O.: Die Berechnung von Syzygien mit dem verallgemeinerten Weierstrassschen Divisionssatz, Master's thesis, Univ. Hamburg, 1980.
  [MO] Motsak, O.: Non-commutative Computer Algebra with applications: Graded commutative algebra and related structures in Singular with applications, Ph.D. thesis, TU Kaiserslautern, 2010.

Procedures:

> D.2.12.1 s_res |  | compute Schreyer resolution via LiftTree method from [BMSS]
> D.2.12.2 Sres |  | helper for computing Schreyer resolution
> D.2.12.3 Ssyz |  | helper for computing Schreyer resolution of module M of length 1
> D.2.12.4 Scontinue |  | helper for extending currently active resolution

See also: lres; res; sres; syz.

User manual for Singular version 4-0-3, 2016, generated by texi2html.