Top
Back: Release Notes
Forward: Downloading instructions
FastBack: Release Notes
FastForward: Index
Up: Release Notes
Top: Singular Manual
Contents: Table of Contents
Index: Index
About: About this document

E.1 News and changes

NEWS in SINGULAR 2-0-3

The current version 2-0-3 is an update to the new release series version 2-0.

Singular version 2 is generally much faster than any previous version of Singular, due to a rewrite of major parts of the Singular kernel (e.g., the kernel has a new memory manager and a new polynomial arithmetic) and due to new and better implemented algorithms (e.g., for computing resolutions and determinants).

Besides theses internal changes, Singular version 2 offers many new features and functionalities (which were partly already incorporated in the 1-3 series). E.g., a native Windows distribution, an Emacs user interface, a new help system, 16 new libraries, etc.

All these changes are explained in more detail below.

Efficiency Improvements

The following table shows some timings which compare the efficiency of Singular version 1-2-3 and Singular version 2. All times are in seconds and were obtained on an AMD Athlon with 700 MHz, 128 MB RAM, running Linux.

Example Comp Ring 1-2 2-0 Speedup
mora_1 std 32003,x(1..3),ds 82 9.4 8.7
mora_9 std 32003,x(1..14),ds 9600 96 100
homog_gonnet std 32003,x(1..18),dp 33 8.9 4.5
homog_cyclic_8 std 32003,x(1..9),dp 1873 472 4.0
cyclic_8 std 32003,x(1..8),dp >47800 478 >100

General Changes

Windows distribution
created with InstallShield, includes Cygwin, Singular, and (optionally) XEmacs, distributed as several self-extracting archives. Contains SINGULAR help in a Windows Help format (the file Manual.hlp).
Emacs user interface
the recommended interface for using SINGULAR
ESingular
new program for an out-of-the-box, pre-customized Emacs which runs Singular
The online help system
choose in which browser the on-line help is displayed;
wildcard expansion of help topics
new layout of html manual pages
Source code debugger
interactive debugging of procedures written in the SINGULAR language
example
Provide on-line examples for all kernel and library commands.
file/directory layout of distribution
Singular/<version>/
http://www.singular.uni-kl.de
New WWW home-site of SINGULAR
RPM versions of Singular
including integration into KDE

Extensions of the ring concept

new coefficient domains: arbitrary long real and complex numbers
no restriction on number of ring variables
no restriction on number of parameters

New SINGULAR libraries

Reorganization of libraries into "Categories".

intprog_lib procedures for computing toric ideals
toric_lib procedures for Integer Programming using Groebner bases
spectrum_lib procedures for computing spectra
mregular_lib procedures for computing the Castelnuovo-Mumford regularity
mondromy_lib
procedures for computing the monodromy of a singularity
gaussman_lib
procedures for the Gauss-Manin connection of a singularity
spcurve_lib
procedures for CM codimension 2 singularities
triang_lib
procedures for decomposing zero-dimensional ideals
solve_lib
procedures for solving polynomial systems
surf_lib
visualization of curves and surfaces with surf
reesclos_lib
Rees Algebra and integral closure of an ideal
brnoeth_lib
Brill-Noether algorithm, Weierstrass semigroups and AG codes
stratify_lib
Algorithmic stratification by the Greuel-Pfister algorithm
paramet_lib
parametrization of curves
rinvar_lib
Invariant rings of reductive groups
zeroset_lib
Procedures for roots and factorization
qhmoduli_lib
Moduli spaces of sqh-singularities

Changes in SINGULAR libraries

Many procedures were moved into different libraries, the documentation of libraries was generally improved and some libraries renamed:
ainvar_lib
renamed invar.lib to ainvar.lib (see also rinvar.lib, finvar.lib).
deform_lib
renamed procedures T1, T2, T12 to T_1, T_2, T_12.
poly_lib
new procedures numerator/denominator
linalg_lib
included jordan.lib in linalg.lib

New SINGULAR functions

convhull, simplex
TODO: docu, tests
division
Extension of lift: division(M,SM) returns a list [T,U,R] with SM*U+R=M*T
breakpoint
sets a debugger breakpoint
div
integer division omitting remainder
ERROR
interrupts computation in current procedure and returns with error message to top-level
fglmquot
calculate ideal quotients using FGLM-techniques
leadmonom
returns the leading monomial of a polynomial or a vector as a polynomial or vector whose coefficient is one
highcorner
returns the smallest monomial not contained in and ideal/module
hres
calculate free resolution of homogeneous ideal using Hilbert-driven algorithm.
minor
with an optional third argument minors modulo a standard basis will be computed
mpresmat
calculate module representing the multipolynomial resultant matrix
uressolve
compute all complex roots of a zerodimensional ideal
vandermonde
solve Vandermonde linear system
jet
extended for series expansions of rational expressions
reduce
extended for reduced normal form of rational expressions

SINGULAR functions whose syntax/semantics has changed

division
arguments swapped w.r.t. version 2-0-1 and before
coeffs
Extended possible syntax to coeffs(ideal,ideal) and coeffs(module,module) which is equivalent to coeffs(ideal,ideal,p) and coeffs(module,module,p) where p is a polynomial (i.e., monomial) consisting of all ring variables.
execute
parenthesis around argument of execute is now mandatory.
lift
new implementation (unified handling of isSB and not isSB case); new optional third argument (a matrix name), which, if given, stores the "matrix of units"
bareiss
new implementation after Lie-Saunders, much faster
example
run example for all kernel commands.
print
Finer-grained control for formatted output.
pause
can be called with argument, must be called with parenthesis.
option
new options: oldStd, redThrough, notBuckets

Changes of command-line options and system resources

--browser, --allow-net, --emacs, --sdb
new command-line options (see Command line options) .
system
values of command-line options can be inspected/set at run-time with system(<option>[,<new_value]).
.singularrc
system administrators can put a "global" .singularrc file into the directories where SINGULAR libraries reside (see Startup sequence) .
libreadline
if found, a shared version of the readline library is linked-in dynamically at run-time. If not found, readline is emulated. This feature is not available on Windows 95/98/ME/NT/2K/XP and MacOS X.

Internal Changes

new data structures for monomials and polynomials
Makes polynomial arithmetic significantly faster: Especially for block - or weighted orderings. Bucket representation of polynomials in std; Ring change during std, res and bareiss computations (resulting in more speed and less space consumption).
new memory management
Results is less memory usage, faster memory allocation/free, less fragmentation, much better locality of reference.
factorization
revisited, missing cases implemented

Porting

  • Singular is available for ix86-libc5, ix86-libc6, HPUX_9, HPUX_10, SunOS-4, SunOS-5, IRIX-6, ix86-Win (Windows 95/98/ME/NT/2K/XP), FreeBSD 4.2, MacOS X
  • dbm functionality is not available on Windows 95/98/ME/NT/2K/XP and MacOS X
  • MP functionality is not available on Windows 95/98/ME/NT/2K/XP and MacOS X.


Top Back: Release Notes Forward: Downloading instructions FastBack: Release Notes FastForward: Index Up: Release Notes Top: Singular Manual Contents: Table of Contents Index: Index About: About this document
            User manual for Singular version 2-0-3, February 2002, generated by texi2html.