SEGRE: a script for the REDUCE package CALI


R. Achilles and D. Aliffi, Segre, a script for the REDUCE package CALI,Bologna, 1999-2017.

The algebraic module SEGRE extends (and requires) CALI [H.-G. Gräbe: CALI - A REDUCE package for commutative algebra, Version 2.2.1 (1995). Available through the REDUCE library redlib@rand.org] and provides convenient procedures for calculations in multiplicity theory, intersection theory, and singularity theory. Based on a procedure for the computation of the leading coefficients of Hilbert polynomials of multigraded rings, it contains procedures for the calculation of

  1. mixed multiplicities;
  2. Tworzewski's extended index of intersection [P. Tworzewski: Intersection theory in complex analytic geometry. Ann. Polon. Math. 62 (1995), 177-191];
  3. the multiplicity sequence or generalized Samuel multiplicity of [R. Achilles and M. Manaresi: Multiplicities of a bigraded ring and intersection theory. Math. Ann. 309 (1997), 573-591];
  4. the Segre numbers of Gaffney-Gassler [T. Gaffney and R. Gassler: Segre numbers and hypersurface singularities. J. Algebraic Geom. 8 (1999), 695-736];
  5. Lê numbers (and, in particular, Milnor numbers) [D.B. Massey: Lê cycles and hypersurface singularities. Lecture Notes Math. 1615, Springer-Verlag, Berlin-Heidelberg, 1995];
  6. the push-forward to projective space of Segre and (Chern-)Fulton classes assciated to a projective scheme [P. Aluffi: Computing characteristic classes of projective schemes. J. Symbolic Comput. 35 (2003), 3-19].
In fact, 6. is a consequence of 3., 5. is a special case of 4., and 2. and 4. are special cases of 3.; see [R. Achilles and S. Rams: Intersection numbers, Segre numbers and generalized Samuel multiplicities. Arch. Math. (Basel) 77 (2001), 391-398]. The package contains many other procedures, e.g. for computing the ideal of Chow equations and the Cayley (-van der Waerden-Chow) or associated form of a projective variety, the arithmetic degree of a projective variety, mixed multiplicities, the tangent variety of a projective variety, the defining ideals of special varieties (Grassmannians, Veronese varieties and their projections, rational normal scrolls).

If you want to use the script SEGRE, you will need the computer algebra system REDUCE, which is freely available for many platforms. Click here to download Reduce from SOURCEFORGE. CALI and its user documentation cali.tex are included in the REDUCE distribution. Download segre.red (version from October 13, 2017) in the working directory of REDUCE, compile it and load it as a package. The commands in a REDUCE session (running as "Run as Administrator") are:

          faslout "segre"$
          in "segre.red"$
          faslend$
          % Then in order to use SEGRE, it must be loaded:
          load_package segre; 
Alternatively, you can simply read in segre.red:
          in "c:\scripts\segre.red"$
Here it is assumed that you have saved segre.red in the directory scripts on c. The script SEGRE has been written for my private use only, and so it lacks of a manual. But you have at least a minimum of help by the help() function of SEGRE. Typing
          help();
lists all functions or procedures of CALI and SEGRE and
          help(b);
all procedures beginning with "b": bettinumbers blowup bin bavula. The command
          help(blowup);
gives then a short description of the procedure blowup, which in the case of CALI commands has been taken from H.-G. Gräbe's file cali.tex.

We provide the script SEGRE and four sample sessions, demonstrating and testing the facilities of SEGRE:

This script is still under (sporadic) development, and feedback is welcome.


last updated 10 February 2019, Rüdiger Achilles