Changeset 8baa37 in git for Singular/LIB/schreyer.lib
- Timestamp:
- Jan 24, 2014, 1:39:15 PM (10 years ago)
- Branches:
- (u'spielwiese', '5b153614cbc72bfa198d75b1e9e33dab2645d9fe')
- Children:
- ee5e11e63c911034966a67782a24e7326c52abb1
- Parents:
- 5c8e18ff3dc32f83461ed21cad1151a77366ed567661e1502f806195a6458595ba7e711664a932bb
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
Singular/LIB/schreyer.lib
r7661e1 r8baa37 3 3 category="General purpose"; 4 4 info=" 5 LIBRARY: schreyer.lib Helpers for working with the Schreyer induced ordering5 LIBRARY: schreyer.lib Helpers for computing a Schreyer resolution in @code{derham.lib} 6 6 AUTHOR: Oleksandr Motsak <U@D>, where U={motsak}, D={mathematik.uni-kl.de} 7 KEYWORDS: Schreyer ordering; Schreyer resolution; syzygy 8 OVERVIEW: 9 @* The library contains helper procedures for computing a Schreyer resoltion (cf. [SFO]), 10 originally meant to be used by @code{derham.lib} (which requires resolutions over the homogenized Weyl algebra). 11 The library works both in the commutative and non-commutative setting (cf. [MO]). 12 Here, we call a free resolution a Schreyer resolution if each syzygy module is given by a Groebner basis 13 with respect to the corresponding Schreyer ordering. 14 A Schreyer resolution can be much bigger than a minimal resolution of the same module, but may be easier to construct. 15 @* The input for the resolution computations is a set of vectors @code{M} in form of a module over some basering @code{R}. 16 The ring @code{R} may be non-commutative, in which case the ring ordering should be global. 17 @* These procedures produce/work with partial Schreyer resolutions of @code{(R^rank(M))/M} in form of 18 a ring (endowed with a special ring ordering that will be extended in the course of a resolution computation) 19 containing a list of modules @code{RES} and a module @code{MRES}: 20 @* The list of modules @code{RES} contains the images of maps (also called syzygy modules) substituting the 21 computed beginning of a Schreyer resolution, that is, each syzygy module is given by a Groebner basis 22 with respect to the corresponding Schreyer ordering. 23 @* The list @code{RES} starts with a zero map given by @code{rank(M)} zero generators indicating that the image of 24 the first differential map is zero. The second map @code{RES[2]} is given by @code{M}, which indicates that 25 the resolution of @code{(R^rank(M))/M} is being computed. 26 @* The module @code{MRES} is a direct sum of modules from @code{RES} and thus comprises all computed differentials. 27 @* Syzygies are shifted so that @code{gen(i)} is mapped to @code{MRES[i]} under the differential map. 28 @* The Schreyer ordering succesively extends the starting module ordering on @code{M} (defined in Singular by the basering @code{R}) 29 and is extended to higher syzygies using the following definition: 30 @* a < b if and only if (d(a) < d(b)) OR ( (d(a) = d(b) AND (comp(a) < comp(b)) ), 31 @* where @code{d(a)} is the image of a under the differential (given by @code{MRES}), 32 and @code{comp(a)} is the module component, for any module terms @code{a} and @code{b} from the same higher syzygy module. 33 REFERENCES: 34 [SFO] Schreyer, F.O.: Die Berechnung von Syzygien mit dem verallgemeinerten Weierstrassschen Divisionssatz, 35 Master's thesis, Univ. Hamburg, 1980. 36 [MO] Motsak, O.: Non-commutative Computer Algebra with applications: Graded commutative algebra and related 37 structures in Singular with applications, Ph.D. thesis, TU Kaiserslautern, 2010 38 39 NOTE: requires the dynamic or built-in module @code{syzextra} 7 40 8 41 PROCEDURES: 9 Sres(M,l) Schreyer resolution of module M of maximal length l 10 Ssyz(M) Schreyer resolution of module M of length 1 11 Scontinue(l) continue the resolution computation by most l steps 12 13 KEYWORDS: syzygy; Schreyer induced ordering; Schreyer free resolution 14 NOTE: requires the dynamic module: syzextra 42 Sres(M,len) compute Schreyer resolution of module M of maximal length len 43 Ssyz(M) compute Schreyer resolution of module M of length 1 44 Scontinue(len) extend currently active resolution by (at most) len syszygies 15 45 "; 16 46 … … 329 359 330 360 proc Scontinue(int l) 331 "USAGE: Scontinue(l) 332 RETURN: nothing, instead it changes RES and MRES variables in the current ring 333 PURPOSE: computes further (at most l) syzygies 334 NOTE: must be used within a ring returned by Sres or Ssyz. RES and MRES are 335 explained in Sres 361 "USAGE: Scontinue(int len) 362 RETURN: nothing, instead it changes the currently active resolution 363 PURPOSE: extends the currently active resolution by at most len syzygies 364 ASSUME: must be used within a ring returned by Sres or Ssyz 336 365 EXAMPLE: example Scontinue; shows an example 337 366 " … … 361 390 362 391 proc Ssyz(module M) 363 "USAGE: Ssyz( M)364 RETURN: ring, containing a list of modules RES and a module MRES365 PURPOSE: computes the first syzygy module of M (wrt some Schreyer ordering)366 NOTE: The output is explained inSres392 "USAGE: Ssyz(module M) 393 RETURN: ring, containing a Schreyer resolution 394 PURPOSE: computes a Schreyer resolution of M of length 1 (see the library overview) 395 SEE ALSO: Sres 367 396 EXAMPLE: example Ssyz; shows an example 368 397 " … … 393 422 394 423 proc Sres(module M, int l) 395 "USAGE: Sres(M, l) 396 RETURN: ring, containing a list of modules RES and a module MRES 397 PURPOSE: computes (at most l) syzygy modules of M wrt the classical Schreyer 398 induced ordering with gen(i) > gen(j) if i > j, provided both gens 399 are from the same syzygy level. 400 NOTE: RES contains the images of maps subsituting the beginning of the 401 Schreyer free resolution of baseRing^r/M, while MRES is a sum of 402 these images in a big free sum, containing all the syzygy modules. 403 The syzygy modules are shifted so that gen(i) correspons to MRES[i]. 404 The leading zero module RES[0] indicates the fact that coker of the 405 first map is zero. The number of zeroes inducates the rank of input. 406 NOTE: If l == 0 then l is set to be nvars(basering) + 1 424 "USAGE: Sres(module M, int len) 425 RETURN: ring, containing a Schreyer resolution 426 PURPOSE: computes a Schreyer resolution of M of length at most len (see the library overview) 427 NOTE: If given len is zero then nvars(basering) + 1 is used instead. 428 SEE ALSO: Ssyz 407 429 EXAMPLE: example Sres; shows an example 408 430 "
Note: See TracChangeset
for help on using the changeset viewer.