source: git/doc/NEWS.texi

spielwiese
Last change on this file was 98550b6, checked in by Hans Schoenemann <hannes@…>, 3 days ago
doc: fix typo
  • Property mode set to 100644
File size: 20.2 KB
Line 
1@comment -*-texinfo-*-
2@comment this file contains the News about Singular versions
3@comment Unix
4@ifclear VERSION
5@include version.texi
6@end ifclear
7
8@majorheading NEWS in SINGULAR @value{VERSION}
9
10@ifclear singularmanual
11@macro nref{what}
12\what\
13@end macro
14@end ifclear
15
16@ifset singularmanual
17@macro nref{what}
18@ref{\what\}
19@end macro
20@end ifset
21
22@heading News for version @value{VERSION}
23
24Changes in the kernel/build system:
25@itemize
26@item use new algorithm for weighted Hilbert function @nref{hilb}
27@end itemize
28
29@heading News for version 4-4-0
30
31New libraries:
32@itemize
33@item @code{modfinduni.lib}: parallel computation of finduni (@nref{modfinduni_lib} @nref{finduni})
34@item @code{sagbiNormaliz.lib}: computation of Sagbi bases via normaliz (@nref{sagbiNormaliz_lib})
35@item @code{stdmodule.lib}: Compute Standard Bases of submodule of free module
36over polynomial subalgebra (@nref{stdmodule_lib})
37@item @code{tropicalEllipticCovers.lib}: Gromov-Witten numbers of tropical elliptic curves and their covers (@nref{tropicalEllipticCovers_lib})
38@end itemize
39
40Changed libraries:
41@itemize
42@item @code{normal.lib}: optimized, integrated @code{locnorma.lib} and @code{modnormal.lib} (@nref{normal_lib})
43@item @code{normaliz.lib}: update to normaliz 3.10 (@nref{normaliz_lib})
44@item @code{hess.lib}: fixes (@nref{hess_lib})
45@item @code{sheafcoh.lib}: new routines @nref{sheafCohBGGregul}, @nref{sheafCohBGGregul_w}, @nref{sheafCoh_w}, (@nref{sheafcoh_lib})
46@item @code{sheafcoh.lib}: display of the tables is moved to @nref{displayCohom} (@nref{sheafcoh_lib})
47@item @code{elim.lib}: rename @code{sat} to @code{sat_with_exp}, @code{sat} now return the saturation i9deal (only).
48@item @code{primdec.lib}: fixed a bug in absolute primary decomposition (@nref{primdec_lib})
49@end itemize
50
51New type:
52@itemize
53@item @code{bigintvec}: @nref{bigintvec}
54@end itemize
55
56New commands:
57@itemize
58@item new command @nref{prune_map}
59@item new command @nref{mres_map}
60@end itemize
61
62New/renamed monomial orderings:
63
64To avoid confusion (with the degree reverse lexicographic ordering)
65the orderings @code{rp} and @code{rs} are renamed:
66@itemize
67@item renamed orderings
68@code{rp} -> @code{ip}
69@code{rs} -> @code{is}
70@item new ordering
71@code{Ip}
72@end itemize
73
74Changes in the kernel/build system:
75@itemize
76@item new algorithm for @nref{std} in the case of ordering @code{ds}
77      and zero dimensional ideal over @code{QQ}
78@item new algorithm for lift function (@nref{lift})
79@item mstd for local rings (@nref{mstd})
80@item use the new Hilbert function algorithm for @nref{hilb}.
81(Different output format/ different return type)
82@item renamed orderings
83@code{ringorder_rp} -> @code{ringorder_ip}
84@code{ringorder_rs} -> @code{ringorder_is}
85@item new ordering
86@code{ringorder_Ip}
87@item changes for FLINT 3.0.x/3.1.x
88@end itemize
89
90@heading News for version 4-3-2
91
92Changed libraries:
93@itemize
94@item many: call std in many places only if attribute @code{isSB} is not set
95@item many: change many calls to @code{execute} by better variants
96@end itemize
97
98New commands:
99@itemize
100@item @code{coeffs} for @code{ring} (@nref{coeffs})
101@end itemize
102
103Changes in the kernel/build system:
104@itemize
105@item new algorithm for Hilbert function (@nref{hilb})
106@end itemize
107
108@c New commands:
109@c @itemize
110@c @end itemize
111@c
112@c New libraries:
113@c
114@c @itemize
115@c @end itemize
116
117@heading News for version 4-3-1
118
119New libraries:
120@itemize
121@item @code{normal.lib}: new command @code{isNormal}, option @code{normalCheck} for @code{normal} (@nref{normal_lib})
122@end itemize
123
124Changed libraries:
125@itemize
126@item chern.lib: fixed @code{symNsym} (@nref{chern_lib})
127@item homolog.lib: fixed corner cases for @code{depth} (@nref{homolog_lib})
128@end itemize
129
130New commands:
131@itemize
132@item @code{chinrem}, @code{farey} for @code{smatrix} (@nref{smatrix})
133@end itemize
134
135Changed commands:
136@itemize
137@item overflow check for @nref{vdim}
138@item Hilbert function (@nref{hilb}) cannot overflow (different return type)
139@item @code{delete} accepts @code{intvec} for the indices to delete (@nref{delete})
140@item several GB based commands accept the choice of the algorithm:
141@code{"std","slimgb","sba","modstd","singmatic","groebner","ffmod","nfmod"} (@nref{syz}, @nref{eliminate}, @nref{intersect}, @nref{modulo}, @nref{liftstd}, @nref{lift})
142@item @code{reduce} for non-field coefficients: search best reduction
143@end itemize
144
145Changes in the kernel/build system:
146@itemize
147@item changes for gcc 12
148@item new option @code{--log LOGFILE}
149@item configure can change the path to hml documentation (@code{--htmldir=...})
150@item different format for @code{doc.tbz2}
151@item new algorithm for Hilbert function (@nref{hilb})
152@end itemize
153
154@heading News for version 4-3-0
155
156New libraries:
157@itemize
158@item enumpoints.lib: enumerating rational points (@nref{enumpoints_lib})
159@item sagbigrob.lib: Sagbi-Groebner basis of an ideal of a subalgebra (@nref{sagbigrob_lib})
160@item puiseuxexpansion.lib: Puiseux expansions over algebraic extensions (@nref{puiseuxexpansions_lib})
161@item integralbasis_lib: Integral basis in algebraic function fields: new version (@nref{integralbasis_lib})
162@end itemize
163
164
165Changes in the kernel/build system:
166@itemize
167@item input history is stored by default in @code{.singularhistory} (@nref{Editing input}).
168@item ABI change: all number routines (@code{n_...}) have only @code{coeffs} as last argument,
169     functions with @code{ring} as last argument are removed
170@item PATH is not changed for @code{system("sh",..)} (use @nref{system, SingularBin})
171@item @code{hilb} avoids int overflow (also in @code{degree, stdhilb})
172@item @code{liftstd} (with 2 arguments) improved (@nref{liftstd})
173@item @code{noether} improved (@nref{noether}), use in @code{groebner(I,"HC")}
174for faster results for local orderings, 0-dimensional ideals (@nref{groebner}).
175@item letterplace routines improved (@nref{LETTERPLACE})
176@item info file is now @code{singular.info} instead of @code{singular.hlp}
177@item update for using FLINT 2.8.x
178@end itemize
179
180@heading News for version 4-2-1
181
182New commands:
183@itemize
184@item Letterplace: dim, rightStd for qrings (@nref{LETTERPLACE})
185@item Letterplace: map, fetch, imap (@nref{map}, @nref{fetch}, @nref{imap})
186@end itemize
187
188New libraries:
189
190@itemize
191@item decomp.lib: functional decomposition of polynomials (@nref{decomp_lib})
192@item hodge.lib: algorithms for Hodge ideals (@nref{hodge_lib})
193@item tateProdCplxNegGrad.lib: sheaf cohomology on product of projective spaces (@nref{tateProdCplxNegGrad_lib})
194@end itemize
195
196Changes in the kernel/build system:
197@itemize
198@item @code{liftstd} (with 2 arguments) improved (@nref{liftstd})
199@item building on Cygwin with shared libraries
200@item building the manual via @code{--enable-doc-build}
201@end itemize
202
203@heading News for version 4-2-0
204
205Syntax changes:
206@itemize
207@item renamed poly.lib to polylib.lib (@nref{polylib_lib})
208@end itemize
209
210New libraries:
211
212@itemize
213@item interval.lib: interval arithmetic (@nref{interval_lib})
214@item maxlike.lib: algebraic statistics (@nref{maxlike_lib})
215@item nchilbert.lib: Hilbert series for LetterPlace algebras (@nref{nchilbert_lib})
216@item polyclass.lib: class of polynomials (@nref{polyclass_lib})
217@item recover.lib: Hybrid numerical/symbolical algorithms (@nref{recover_lib})
218@item redcgs.lib: Reduced Comprehensive Groebner Systems (@nref{redcgs_lib})
219@item ringgb.lib: coefficient rings (@nref{ringgb_lib})
220@item sets.lib: Sets (@nref{sets_lib})
221@item stanleyreisner.lib: T1 and T2 for a general Stanley-Reiser ring (@nref{stanleyreisner_lib}
222@item systhreads.lib: multi-threaded objects (@nref{systhreads_lib})
223@end itemize
224
225Changed libraries:
226@itemize
227@item classify_aeq.lib: new procedure @code{classSpaceCurve} (@nref{classify_aeq_lib})
228@item grobcov.lib: new version (@nref{grobcov_lib})
229@item modular.lib: parallel version for verification via @code{system("verifyGB",I)}
230@end itemize
231
232New commands:
233@itemize
234@item @code{system("verifyGB",I)}: test, if I is a Groebner basis (using parallel processes)
235@item Letterplace: modulo,syz,lift,liftstd, rightStd (@nref{LETTERPLACE})
236@end itemize
237
238Changes in the kernel/build system:
239@itemize
240@item update for using FLINT 2.6.x and for FLINT 2.7.0
241@item Singular can be build with NTL or FLINT or both
242(if none is available, @code{factorize} and @code{gcd} will not work.)
243@end itemize
244
245@heading News for version 4-1-3
246New libraries:
247@itemize
248@item invar.lib: Invariant theory @nref{invar_lib}
249@item moddiq.lib: ideal quotient and saturation @nref{moddiq_lib}
250@item ncModslimgb.lib: modular Groebner bases for G-algebras @nref{ncModslimgb_lib}
251@end itemize
252
253Changed libraries:
254@itemize
255@item chern.lib:  new version (@nref{chern_lib})
256@item grobcov.lib: new version (@nref{grobcov_lib}),
257      new functions @nref{ConsLevels}, @nref{Levels}, @nref{Grob1Levels},
258      @nref{DifConsLCSets}
259@end itemize
260
261Changes in the kernel/build system:
262@itemize
263@item improved gcd and multiplication via FLINT
264@item improved lift (and related)
265@item port to polymake 3.5.x
266@item rational functions via flint (@nref{flintQ})
267@item free algebra over Z (@nref{LETTERPLACE})
268@item adaptions/functions for @code{Singular.jl}(@uref{https://github.com/oscar-system/Singular.jl})
269@end itemize
270
271@heading News for version 4-1-2
272New libraries:
273@itemize
274@item arnoldclassify.lib: Arnol'd Classifier of Singularities (@nref{arnoldclassify_lib})
275@item difform.lib: Procedures for differential forms (@nref{difform_lib})
276@item dmodideal.lib: Algorithms for Bernstein-Sato ideals of morphisms (@nref{dmodideal_lib})
277@item fpalgebras.lib: Generation of various algebras in the letterplace case (@nref{fpalgebras_lib})
278@item ncrat.lib: non-commutatie rational functions
279(@nref{ncrat_lib})
280@end itemize
281
282Changed libraries:
283@itemize
284@item freegb.lib: lpDivision, lpPrint (@nref{freegb_lib})
285@item fpadim.lib (@nref{fpadim_lib})
286@item schreyer.lib: deprecated
287@item goettsche.lib: new, extended version (The Nakajima-Yoshioka formula up to n-th degree,Poincare Polynomial of the punctual Quot-scheme of rank r on n planar points Betti numbers of the punctual Quot-scheme of rank r on n planar points)(@nref{goettsche_lib})
288@item grobcov.lib: small bug fix (@nref{grobcov_lib})
289@end itemize
290
291Changes in the kernel/build system:
292@itemize
293@item integrated xalloc into omalloc: (@code{./configure --disable-omalloc})
294@item improved heuristic for @code{det} (@nref{det})
295@item improved reading of long polynomials
296@item improved groebner bases over Z coefficients
297@item code for free algebras (letterplace rings) rewritten
298(using now the standrad @code{+,-,*,^,std},...) (@nref{LETTERPLACE})
299@item new commands @code{rightstd} (@nref{rightstd (letterplace)})
300@item extended @code{twostd} to @sc{Letterplace} (@nref{twostd (letterplace)}, @nref{twostd (plural)})
301@item pseudo type @code{polyBucket}
302@item new type @code{smatrix}: sparse matrix (experimental) (@nref{smatrix}).
303@item extended @code{coef} to ideals (@nref{coef}).
304@item error and signal handling in @code{libSingular} (@nref{libSingular}).
305@item updated gfanlib to version 0.6.2
306@item port to NTL 11 (needs C++11: gcc6 or -std=c++11), which does not conflict with polymake (needs C++14)
307@end itemize
308
309@heading News for version 4-1-1
310
311New syntax:
312@itemize
313@item @code{alias}: may be used as a prefix to a variable declaration.
314Can only be used in procedure headings. (@nref{General command syntax}).
315@end itemize
316
317New command:
318@itemize
319@item @code{fres}: improved version of @code{sres}: computes a (not necessarily minimal) free resolution of the input ideal/module, using Schreyer's algorithm.
320(@nref{fres},@nref{sres}).
321@end itemize
322
323
324Extended commands:
325@itemize
326@item pseudo ordering @code{L} allows setting of limits for exponents in polynomials (@nref{Pseudo ordering L},@nref{attrib} for @code{maxExp})
327@item @code{%},@code{mod}: also for poly operands (@nref{poly operations}).
328@item @code{delete}: extended to intvec, ideal, module (@nref{delete}).
329@item syz (@nref{syz}), lift (@nref{lift}), liftstd (@nref{liftstd}), intersect(@nref{intersect}): with a specified GB algorithm
330@end itemize
331
332New libraries:
333@itemize
334@item classify2.lib: Classification of isolated singularities of corank <=2 and modality <= wrt. right equivalence over the complex numbers according to Arnold's list. (@nref{classify2_lib})
335@item goettsche.lib: Goettsche's formula for the Betti numbers of the Hilbert scheme
336of points on a surface, Macdonald's formula for the symmetric product (@nref{goettsche_lib})
337@item combinat.lib, modules.lib, methods,lib, nets.lib: a more mathematical view of modules (@nref{combinat_lib}: combinatorics),
338(@nref{methods_lib}: construct procedures),
339(@nref{modules_lib}: free resolutions),
340(@nref{nets_lib}: pretty printing)
341@item ncHilb.lib: Hilbert series of non-commutative monomial algebras (@nref{ncHilb_lib})
342@item realclassify.lib: Classification of real singularities(@nref{realclassify_lib})
343@item rootisolation.lib: real root isolation using interval arithmetic(@nref{rootisolation_lib})
344@item rstandard.lib: Janet bases and border bases for ideals (@nref{rstandard_lib})
345@end itemize
346
347Changed libraries:
348@itemize
349@item chern.lib:  new version (@nref{chern_lib})
350@item gitfan.lib:  new (incompatible) version (@nref{gitfan_lib})
351@item grobcov.lib:  new version (@nref{grobcov_lib})
352@end itemize
353
354Changes in the kernel/build system:
355@itemize
356@item port to polymake 3.x.x
357@item port to NTL 10 with threads (needs also C++11: gcc6 or -std=c++11)
358@item p_Invers is only a helper for p_Series: now static
359@item p_Divide is now p_MDivide, pDivide/p_Divide is a new routine
360@end itemize
361
362@heading News for version 4-1-0
363
364Syntax changes:
365@itemize
366@item new (additional) form of ring definitions: (for example @code{ring R=QQ[x,y,z];})
367      (@nref{General syntax of a ring declaration})
368@item new (additional) form of multi-indicies: (for example @code{i(1,2,3,4,5)})
369      (@nref{Names})
370@item changed behaviour of @code{charstr} (@nref{charstr})
371@item new data type @code{cring} to describe the coefficient rings, to be used
372      for the new definitions for (polynomial) rings (@nref{General syntax of a ring declaration})
373@item new command @code{ring_list} to access the parts used to construct polynomial rings (@nref{ring_list},@nref{ringlist})
374@item extended polynomial ring construction: also from lists produced by @code{ring_list}
375@item new attribute @code{ring_cf} for @code{ring} (@nref{attrib})
376@item printing of rings changed to match @code{cring} names (@nref{charstr})
377@end itemize
378
379New libraries:
380@itemize
381@item new library: classifyMapGerms.lib: standard basis of the tangent space at the orbit of an algebraic group action (@nref{classifyMapGerms_lib})
382@item new library: ffmodstd.lib:  Groebner bases of ideals in polynomial rings over algebraic function fields(@nref{ffmodstd_lib})
383@item new library: nfmodsyz.lib: syzygy modules of submodules of free modules
384      over algebraic number fields(@nref{nfmodsyz_lib})
385@item new library: curveInv.lib: invariants of curves (@nref{curveInv_lib})
386@item new library: gfan.lib: interface to gfanlib (@nref{gfan_lib})
387@item extended library: interface to polymake merged into @nref{polymake_lib}
388@item new library: tropicalNewton.lib: Newton polygon methods in tropical geometry (@nref{tropicalNewton_lib})
389@item new library: schubert.lib: some procedures for intersction theory (@nref{schubert_lib})
390@end itemize
391
392Changed libraries:
393@itemize
394@item classify_aeq.lib: new procedures (@nref{classify_aeq_lib})
395@item grobcov.lib: new version (@nref{grobcov_lib})
396@item ncfactor.lib: factorization in some noncommuative algebras (@nref{ncfactor_lib}) with new routine ncfactor (@nref{ncfactor})
397@item primdec.lib: new option "subsystem" (@nref{primdec_lib})
398@end itemize
399
400Changes in the kernel:
401@itemize
402@item improved mapping of polynomials/ideals/...
403@item port to gcc 6
404@item port to gfanlib 0.6 (requires C++11, i.e. gcc >=4.3)
405@item port to NTL 10
406@item port to polymake 3.0
407@item port to readline 7
408@item @nref{sba} works for global orderings, also for coefficient types Z and Z/m
409@item @nref{std} works for all orderings, also for coefficient types Z and Z/m with local/mixed orderings
410@item @nref{factorize} works for polynomial rings over ZZ
411@end itemize
412
413Experimental stuff:
414@itemize
415@item module @nref{customstd_lib}: modify @code{std} (@nref{satstd})
416@end itemize
417
418@heading News for version 4-0-3
419
420New libraries:
421@itemize
422@item new library: brillnoether.lib: Riemann-Roch spaces of divisors on curves (@nref{brillnoether_lib})
423@item new library: chern.lib: Chern classes (@nref{chern_lib})
424@item new library: ffmodstd.lib:  Groebner bases of ideals in polynomial rings over algebraic function fields(@nref{ffmodstd_lib})
425@item new library: GND.lib: General Neron Desingularization (@nref{GND_lib})
426@item new library: graal.lib: localization at prime ideals (@nref{graal_lib})
427@item new library: hess.lib: Riemann-Roch space of divisors (@nref{hess_lib})
428@end itemize
429
430Changed libraries:
431@itemize
432@item renamed algemodstd_lib to @nref{nfmodstd_lib}, extended to @code{module}
433@item renamed derham_lib to @nref{deRham_lib}
434@item grobcov.lib (grobcovK): Groebner Cover for parametric ideals (@nref{grobcov_lib}) with new routine
435   ConsLevels (@nref{ConsLevels}), removed AddCons  AddConsP.
436@end itemize
437
438@heading News for version 4-0-2
439New commands:
440@itemize
441@item align (@nref{align})
442@item branchTo (@nref{procs with different argument types})
443@item @code{->} (@nref{proc expression})
444@end itemize
445
446Change in ring handling:
447@itemize
448@item @code{typeof(} qring @code{)} returns @code{"ring"}
449@end itemize
450
451New libraries:
452@itemize
453@item algemodstd.lib:  Groebner bases of ideals in polynomial rings
454      over algebraic number fields(renamed to @nref{nfmodstd_lib})
455@item arr.lib: arrangements of hyperplanes (@nref{arr_lib})
456@item brillnoether.lib: Riemann-Roch spaces of divisors on curve (@nref{brillnoether_lib})
457@item hess.lib: Riemann-Roch space of divisors
458      on function fields and curves (@nref{hess_lib})
459@item gradedModules.lib: graded modules/matrices/resolutions (@nref{gradedModules_lib})
460@end itemize
461
462Changed libraries:
463@itemize
464@item revised polymake interface (polymake.so)
465@item revised gfanlib interface (gfanlib.so)
466@item Presolve::findvars (@nref{findvars}, @nref{variables})
467@item Ring::addvarsTo (@nref{addvarsTo})
468@item Ring::addNvarsTo (@nref{addNvarsTo})
469@item Ring::hasAlgExtensionCoefficient (@nref{hasAlgExtensionCoefficient})
470@item Schreyer::s_res (@code{s_res})
471@item grobcov.lib (grobcovK) (@nref{grobcov_lib}) with new routines
472   AddCons  AddConsP.
473@item normaliz.lib (for normaliz >=2.8) (@nref{normaliz_lib})
474@item renamed groebnerFan to groebnerFanP in polymake.lib (@nref{polymake_lib})
475@item renamed fVector to fVectorP in polymake.lib (@nref{polymake_lib},@code{polymakeInterface_lib})
476@end itemize
477
478@heading News for version 4-0-1
479
480Version 4-0-1 is a bug fix release.
481
482New feature: attribute @code{ring_cf} for @code{ring} (@nref{attrib})
483
484@heading News for version 4-0-0
485
486Version 4-0-0 is a milestone release of Singular.
487The new release series 4 aims for an entirely modularized architecture
488simplifying connectivity with other systems and paving the way
489for parallel computations.
490As  a first step in modularization, the new  release features an internal
491structural separation of coefficient rings and polynomial rings.
492This allows for a flexible integration of new coefficient rings.
493
494@sc{Singular} 4-0-0's list of new functionality and significant
495improvements further extends that of the 3-1-6/7 prerelease series.
496
497New functionality
498
499@itemize
500@item de Rham cohomology of complements of algebraic varieties (@nref{deRham_lib})
501@item Gromov-Witten numbers of elliptic curves (@nref{ellipticcovers_lib})
502@item classification of isolated complete intersection singularities in characteristic 0 (@nref{classifyci_lib})
503@item parametrization of orbits of unipotent actions (@nref{orbitparam_lib})
504@item F5-like Groebner basis algorithm (@nref{sba})
505@item element-wise application of functions to data structures (@nref{apply})
506@item support for debugging libraries (@nref{ASSUME})
507@end itemize
508
509Improved functionality
510
511@itemize
512@item
513Groebner cover for parametric ideals (@nref{grobcov_lib})
514@item
515normalization of affine rings (@nref{normal_lib})
516@item
517classification of real singularities (@nref{realclassify_lib})
518@item
519GIT-fans (@nref{gitfan_lib})
520@item
521algebraic/transcendental field extensions
522@item
523@nref{Non-commutative subsystem}
524@item
525an abstraction layer for parallel computations (@nref{parallel_lib})
526@item
527run-time loading of supplementary kernel code (@nref{Dynamic modules})
528@item
529interpreter language support for name spaces (@nref{package})
530@end itemize
531
532Availability
533
534@sc{Singular} is available as source code and for Linux, Mac OS X, Windows, FreeBSD and
535SunOS-5.
536
Note: See TracBrowser for help on using the repository browser.