source: git/doc/NEWS.texi @ 020246

Last change on this file since 020246 was 020246, checked in by Hans Schönemann <hannes@…>, 18 years ago
*hannes: removed param.lib, added simplex,... git-svn-id: file:///usr/local/Singular/svn/trunk@7902 2c84dea3-7e68-4137-9b89-c4e89433aadc
  • Property mode set to 100644
File size: 9.6 KB
1@comment -*-texinfo-*-
2@comment $Id: NEWS.texi,v 1.38 2005-04-26 12:47:41 Singular Exp $
3@comment this file contains the News about Singular versions
4@comment Unix
5@ifclear VERSION
6@include version.texi
7@end ifclear
9@majorheading NEWS in SINGULAR @value{VERSION}
11@ifclear singularmanual
12@macro nref{what}
14@end macro
15@end ifclear
17@ifset singularmanual
18@macro nref{what}
20@end macro
21@end ifset
23The current version @value{VERSION} is an update to the new
24release series version 2-0.
26Singular version 2 is generally much faster than any previous
27version of Singular, due to a rewrite of major parts of the Singular
28kernel (e.g., the kernel has a new memory manager and a new polynomial
29arithmetic) and due to new and better implemented algorithms (e.g., for
30computing resolutions and determinants).
32Besides theses internal changes, Singular version 2 offers many new
33features and functionlities (which were partly already incorporated in
34the 1-3 series). E.g., a native Windows distribution, an Emacs user
35interface, a new help system, 16  new libraries, etc.
37All these changes are explained in more detail below.
39@heading Efficiency Improvements
40The following table shows some timings which compare the efficincy of
41Singular version 1-2-3 and Singular version 2. All times are in seconds
42and were obtained on an AMD Athlon with 700 MHz, 128 MB RAM, running
45@multitable @columnfractions .15 .15 .25 .15 .15 .15
46@item @strong{Example} @tab @strong{Comp} @tab @strong{Ring} @tab @strong{1-2} @tab @strong{2-0} @tab @strong{Speedup}
47@item @uref{,,mora_1} @tab std  @tab 32003,x(1..3),ds @tab 82 @tab 9.4 @tab 8.7
48@item @uref{,,mora_9} @tab std  @tab 32003,x(1..14),ds @tab 9600 @tab 96 @tab 100
49@item @uref{,,homog_gonnet} @tab std  @tab 32003,x(1..18),dp @tab 33 @tab 8.9 @tab 4.5
50@item @uref{,,homog_cyclic_8} @tab std  @tab 32003,x(1..9),dp @tab 1873 @tab 472 @tab 4.0
51@item  @uref{,,cyclic_8} @tab std @tab 32003,x(1..8),dp @tab >47800 @tab 478 @tab >100
52@end multitable
54@heading Factorizing algorithms revisited
55Starting with version 2-0-4, we use NTL (of Victor Shoup) for factoring
56univariate polynomials. The multivariate factoring code in libfac/factory
57does now also work over algebraic extension fields.
59@heading General Changes
60@table @asis
61@item @strong{Windows distribution}
62created with Installshield, includes Cygwin, Singular, and (optionally)
63XEmacs, distributed as several self-extracting archives. Contains @sc{Singular} help
64in a Windows Help format (the file @code{Manual.hlp}).
65@item @nref{Emacs user interface}
66the recommended interface for using @sc{Singular}
67@item @code{ESingular}
68new program for an out-of-the-box, pre-customized Emacs which runs
70@item @nref{The online help system}
71choose in which browser the on-line help is displayed;
72@*wildcard expansion of help topics
73@*new layout of html manual pages
74@item @nref{Source code debugger}
75interactive debugging of procedures written in the @sc{Singular}
77@item @nref{example}
78Provide on-line examples for all kernel and library commands.
79@item file/directory layout of distribution
82New WWW home-site of @sc{Singular}
83@item RPM versions of Singular
84including integration into KDE
85@end table
87@heading Extensions of the ring concept
89@table @asis
90@item new coefficient domains: arbitrary long real and complex numbers
91@item no restriction on number of ring variables
92@item no restriction on number of parameters
93@c @item TBC: DegBound on exponent values
94@c @item TBC: parameters over real/complex
95@c @item TBC: declaration with "ring of ring".
96@end table
98@heading New @sc{Singular} libraries
100Reorganisation of libraries into "Categories".
101@table @asis
102@item @nref{intprog_lib} procedures for computing toric ideals
103@item @nref{toric_lib} procedures for Integer Programming using Groebner bases
104@item @nref{spectrum_lib} procedures for computing spectra
105@item @nref{mregular_lib}  procedures for computing the Castelnuovo-Mumford regularity
106@c @item @nref{mprimdec}
107@c procedures for primary decomposition of modules
108@item @nref{mondromy_lib}
109procedures for computing the monodromy of a singularity
110@item @nref{gmspoly_lib}, @nref{gmssing_lib}
111procedures for the Gauss-Manin connection of a singularity
112@item @nref{spcurve_lib}
113procedures for CM codimension 2 singularities
114@item @nref{triang_lib}
115procedures for decomposing zero-dimensional ideals
116@item @nref{solve_lib}
117procedures for solving polynomial systems
118@item @nref{surf_lib}
119visualization of curves and surfaces with @code{surf}
120@item @nref{reesclos_lib}
121Rees Algebra and integral closure of an ideal
122@item @nref{brnoeth_lib}
123Brill-Noether algorithm, Weierstrass semigroups and AG codes
124@item @nref{stratify_lib}
125Algorithmic stratification by the Greuel-Pfister algorithm
126@item @nref{rinvar_lib}
127Invariant rings of reductive groups
128@item @nref{zeroset_lib}
129Procedures for roots and factorization
130@item @nref{qhmoduli_lib}
131Moduli spaces of sqh-singularities
132@end table
134@heading Changes in @sc{Singular} libraries
135Many procedures were moved into different libraries,
136the documentation of libraries was generally improved and
137some libraries renamed:
138@table @asis
139@item @nref{ainvar_lib}
140renamed @code{invar.lib} to @code{ainvar.lib}
141(see also @code{rinvar.lib}, @code{finvar.lib}).
142@item @nref{deform_lib}
143renamed procedures @code{T1, T2, T12} to @code{T_1, T_2, T_12}.
144@item @nref{poly_lib}
145new procedures numerator/denominator
146@item @nref{linalg_lib}
147included @code{jordan.lib} in @code{linalg.lib}
148@end table
150@heading New @sc{Singular} functions
152@table @asis
153@item @code{convhull, simplex}
154TODO: docu, tests
155@item @nref{division}
156Extension of lift: @code{division(M,SM)} returns a list @code{[T,U,R]}
157with @code{SM*U+R=M*T}
158@item @nref{breakpoint}
159sets a debugger breakpoint
160@item @code{div}
161integer division omitting remainder
162@item @nref{ERROR}
163interrupts computation in current procedure and returns with error
164message to top-level
165@item @nref{fglmquot}
166calculate ideal quotions using FGLM-techniques
167@item @nref{leadmonom}
168returns the leading monomial of a polynomial or a vector as a polynomial
169or vector whose coefficient is one
170@item @nref{highcorner}
171returns the smallest monomial not contained in and ideal/module
172@item @nref{hres}
173calculate free resolution of homogenous ideal using Hilbert-driven
175@item @nref{minor}
176with an optional third argument minors modulo a standard basis will be computed
177@item @nref{mpresmat}
178calculate module representing the multipolynomial resultant matrix
179@item @nref{uressolve}
180compute all complex roots of a zerodimensional ideal
181@item @nref{vandermonde}
182solve Vandermonde linear system
183@item @nref{jet}
184extended for series expansions of rational expressions
185@item @nref{reduce}
186extended for reduced normal form of rational expressions
187@end table
189@heading @sc{Singular} functions whose syntax/semantics has changed
190@table @asis
191@item @nref{division}
192arguments swapped w.r.t. version 2-0-1 and before
193@item @nref{coeffs}
194Extended possible syntax to
195@code{coeffs(ideal,ideal)} and @code{coeffs(module,module)} which is
196equivalent to @code{coeffs(ideal,ideal,p)} and
197@code{coeffs(module,module,p)} where @code{p} is a polynomial (i.e.,
198monomial) consisting of all ring variables.
199@item @nref{execute}
200parenthesis around argument of execute is now @strong{mandatory}.
201@item @nref{lift}
202new implementation (unified handling of isSB and not isSB case); new
203optional third argument (a matrix name), which, if given, stores the
204"matrix of units"
205@item @nref{bareiss}
206new implementation after Lie-Saunders, much faster
207@item @nref{example}
208run example for all kernel commands.
209@c @item @nref{fetch}
210@item @nref{print}
211Finer-grained control for formatted output.
212@item @nref{pause}
213can be called with argument, must be called with parenthesis.
214@item @nref{option}
215new options: @code{oldStd}, @code{redThrough}, @code{notBuckets}
216@end table
218@heading Changes of command-line options and system resources
219@table @asis
220@item @code{--browser}, @code{--allow-net}, @code{--emacs}, @code{--sdb}
221new command-line options
222@ifset singularmanual
223(@pxref{Command line options})
224@end ifset
226@item @nref{system}
227values of command-line options can be inspected/set at run-time with
229@item @code{.singularrc}
230system administrators can put a "global" @code{.singularrc} file into
231the directories where @sc{Singular} libraries reside
232@ifset singularmanual
233(@pxref{Startup sequence})
234@end ifset
236@item @code{libreadline}
237if found, a shared version of the @code{readline} library is linked-in
238dynamically at run-time. If not found, @code{readline} is emulated.
239@end table
241@heading Internal Changes
242@table @asis
243@item new data structures for monomials and polynomials
244Makes polynomial arithmetic significantly faster: Especially for block -
245or weighted orderings.
246Bucket representation of polynomials in std;
247Ring change during std, res and bareiss computations
248(resulting in more speed and less space consumption).
249@item new memory management
250Results is less memory usage, faster memory allocation/free, less
251fragmentation, much better locality of reference.
252@item factorization
253revisited, missing cases implemented
254@end table
256@heading Porting
258@itemize @bullet
260@code{libreadline} works only with ix86-libc5,
262@item Singular is available for ix86-libc5, ix86-libc6, HPUX_9, HPUX_10,
263SunOS-4, SunOS-5, IRIX-6, ix86-Win (runs on Windows 95/98/NT4/2000),
264FreeBSD 4.2, MacOS X
265@end itemize
Note: See TracBrowser for help on using the repository browser.