source: git/doc/NEWS.texi

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