R. Achilles and D. Aliffi,

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

- mixed multiplicities;
- Tworzewski's extended index of intersection
[P. Tworzewski: Intersection theory in complex analytic geometry.
*Ann. Polon. Math.***62**(1995), 177-191]; - 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]; - the Segre numbers of Gaffney-Gassler
[T. Gaffney and R. Gassler: Segre numbers and hypersurface
singularities.
*J. Algebraic Geom.***8**(1999), 695-736]; - Lê numbers (and, in particular, Milnor numbers)
[D.B. Massey:
*Lê cycles and hypersurface singularities.*Lecture Notes Math. 1615, Springer-Verlag, Berlin-Heidelberg, 1995]; - 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].

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();lists all functions or procedures of CALI and SEGRE and

help(b);all procedures beginning with "b":

help(blowup);gives then a short description of the procedure

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

- segre.red (the script or module SEGRE, version of 2017-10-13)
- segre1.txt (joins, secant varieties, relative tangent cones, limits of joins)
- segre2.txt (Segre numbers and Lê numbers)
- segre3.txt (extended index of intersection)
- segre4.txt (Stückrad-Vogel intersection cycle).

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

last updated 10 February 2019, Rüdiger Achilles