Singular Manual: News and changes

| ## E.1 News and changes # NEWS in SINGULAR 4.4.1 ## News for version 4.4.1 Changed libraries: `homolog.lib`: handling of module weights ( Ext_R) `normaliz.lib`: new version ( normaliz_lib) `polymake.lib`: new version for topcom 1.1 ( polymake_lib) `sagbiNormaliz.lib`: new version for normaliz 3.10.5 ( sagbiNormaliz_lib) `sagbiNormaliz0.lib`: version for normaliz <=3.10.1 ( sagbiNormaliz0_lib) Changes in the kernel/build system: changes for gcc 15 changes for FLINT 3.3 changes for normaliz 3.10.5 fix `quotient` for qring case ( quotient) `nres`,`mres`,`prune_map`: allow ring elements as coefficients ( nres, mres, prune_map) `read`,`write` support a link (`"ssi:string"`) to read/write data encoded as strings ( read, write) ## News for version 4-4-1 New libraries: `arnold.lib`: Classification of isolated singularities with a nondegenerate Newton Boundary ( arnold_lib) `modprimdec.lib`: primary decompisition by modular methods ( modprimdec_lib) `modquotient.lib`: ideal quotient and saturation by modular methods ( modquotient_lib) `sagbiNormaliz.lib`: interface for the computation of Sagbi bases ( sagbiNormaliz_lib) `transformation.lib`: The image of a transformation given up to a specified degree ( transformation_lib) Changed libraries: `polyclass.lib`: extended ( polyclass_lib) `primdec.lib`: choice of random values, irreducibility test ( primdec_lib) Changes in the kernel/build system: use new algorithm for weighted Hilbert function hilb use new algorithm for std in the case of ordering `ds/Ds` and zero dimensional ideal over `QQ` (can be switched off by `option(pure_gb;`) use new algorithm for std in the case of a block ordering and ideal over `QQ` (can be switched off by `option(pure_gb;`) changed reduction routine for local orderings ## News for version 4-4-0 New libraries: `modfinduni.lib`: parallel computation of finduni ( modfinduni_lib finduni) `sagbiNormaliz.lib`: computation of Sagbi bases via normaliz ( sagbiNormaliz_lib) `stdmodule.lib`: Compute Standard Bases of submodule of free module over polynomial subalgebra ( stdmodule_lib) `tropicalEllipticCovers.lib`: Gromov-Witten numbers of tropical elliptic curves and their covers ( tropicalEllipticCovers_lib) Changed libraries: `normal.lib`: optimized, integrated `locnorma.lib` and `modnormal.lib` ( normal_lib) `normaliz.lib`: update to normaliz 3.10 ( normaliz_lib) `hess.lib`: fixes ( hess_lib) `sheafcoh.lib`: new routines sheafCohBGGregul, sheafCohBGGregul_w, sheafCoh_w, ( sheafcoh_lib) `sheafcoh.lib`: display of the tables is moved to displayCohom ( sheafcoh_lib) `elim.lib`: rename `sat` to `sat_with_exp`, `sat` now return the saturation i9deal (only). `primdec.lib`: fixed a bug in absolute primary decomposition ( primdec_lib) New type: `bigintvec`: bigintvec New commands: new command prune_map new command mres_map New/renamed monomial orderings: To avoid confusion (with the degree reverse lexicographic ordering) the orderings `rp` and `rs` are renamed: renamed orderings `rp` -> `ip` `rs` -> `is` new ordering `Ip` Changes in the kernel/build system: new algorithm for std in the case of ordering `ds` and zero dimensional ideal over `QQ` new algorithm for lift function ( lift) mstd for local rings ( mstd) use the new Hilbert function algorithm for hilb. (Different output format/ different return type) renamed orderings `ringorder_rp` -> `ringorder_ip` `ringorder_rs` -> `ringorder_is` new ordering `ringorder_Ip` changes for FLINT 3.0.x/3.1.x ## News for version 4-3-2 Changed libraries: many: call std in many places only if attribute `isSB` is not set many: change many calls to `execute` by better variants New commands: `coeffs` for `ring` ( coeffs) Changes in the kernel/build system: new algorithm for Hilbert function ( hilb) ## News for version 4-3-1 New libraries: `normal.lib`: new command `isNormal`, option `normalCheck` for `normal` ( normal_lib) Changed libraries: chern.lib: fixed `symNsym` ( chern_lib) homolog.lib: fixed corner cases for `depth` ( homolog_lib) New commands: `chinrem`, `farey` for `smatrix` ( smatrix) Changed commands: overflow check for vdim Hilbert function ( hilb) cannot overflow (different return type) `delete` accepts `intvec` for the indices to delete ( delete) several GB based commands accept the choice of the algorithm: `"std","slimgb","sba","modstd","singmatic","groebner","ffmod","nfmod"` ( syz, eliminate, intersect, modulo, liftstd, lift) `reduce` for non-field coefficients: search best reduction Changes in the kernel/build system: changes for gcc 12 new option `--log LOGFILE` configure can change the path to hml documentation (`--htmldir=...`) different format for `doc.tbz2` new algorithm for Hilbert function ( hilb) ## News for version 4-3-0 New libraries: enumpoints.lib: enumerating rational points ( enumpoints_lib) sagbigrob.lib: Sagbi-Groebner basis of an ideal of a subalgebra ( sagbigrob_lib) puiseuxexpansion.lib: Puiseux expansions over algebraic extensions ( puiseuxexpansions_lib) integralbasis_lib: Integral basis in algebraic function fields: new version ( integralbasis_lib) Changes in the kernel/build system: input history is stored by default in `.singularhistory` ( Editing input). ABI change: all number routines (`n_...`) have only `coeffs` as last argument, functions with `ring` as last argument are removed PATH is not changed for `system("sh",..)` (use SingularBin) `hilb` avoids int overflow (also in `degree, stdhilb`) `liftstd` (with 2 arguments) improved ( liftstd) `noether` improved ( noether), use in `groebner(I,"HC")` for faster results for local orderings, 0-dimensional ideals ( groebner). letterplace routines improved ( LETTERPLACE) info file is now `singular.info` instead of `singular.hlp` update for using FLINT 2.8.x ## News for version 4-2-1 New commands: Letterplace: dim, rightStd for qrings ( LETTERPLACE) Letterplace: map, fetch, imap ( map, fetch, imap) New libraries: decomp.lib: functional decomposition of polynomials ( decomp_lib) hodge.lib: algorithms for Hodge ideals ( hodge_lib) tateProdCplxNegGrad.lib: sheaf cohomology on product of projective spaces ( tateProdCplxNegGrad_lib) Changes in the kernel/build system: `liftstd` (with 2 arguments) improved ( liftstd) building on Cygwin with shared libraries building the manual via `--enable-doc-build` ## News for version 4-2-0 Syntax changes: renamed poly.lib to polylib.lib ( polylib_lib) New libraries: interval.lib: interval arithmetic ( interval_lib) maxlike.lib: algebraic statistics ( maxlike_lib) nchilbert.lib: Hilbert series for LetterPlace algebras ( nchilbert_lib) polyclass.lib: class of polynomials ( polyclass_lib) recover.lib: Hybrid numerical/symbolical algorithms ( recover_lib) redcgs.lib: Reduced Comprehensive Groebner Systems ( redcgs_lib) ringgb.lib: coefficient rings ( ringgb_lib) sets.lib: Sets ( sets_lib) stanleyreisner.lib: T1 and T2 for a general Stanley-Reiser ring ( stanleyreisner_lib systhreads.lib: multi-threaded objects ( systhreads_lib) Changed libraries: classify_aeq.lib: new procedure `classSpaceCurve` ( classify_aeq_lib) grobcov.lib: new version ( grobcov_lib) modular.lib: parallel version for verification via `system("verifyGB",I)` New commands: `system("verifyGB",I)`: test, if I is a Groebner basis (using parallel processes) Letterplace: modulo,syz,lift,liftstd, rightStd ( LETTERPLACE) Changes in the kernel/build system: update for using FLINT 2.6.x and for FLINT 2.7.0 Singular can be build with NTL or FLINT or both (if none is available, `factorize` and `gcd` will not work.) ## News for version 4-1-3 New libraries: invar.lib: Invariant theory invar_lib moddiq.lib: ideal quotient and saturation ncModslimgb.lib: modular Groebner bases for G-algebras ncModslimgb_lib Changed libraries: chern.lib: new version ( chern_lib) grobcov.lib: new version ( grobcov_lib), new functions ConsLevels, Levels, Grob1Levels, DifConsLCSets Changes in the kernel/build system: improved gcd and multiplication via FLINT improved lift (and related) port to polymake 3.5.x rational functions via flint ( flintQ) free algebra over Z ( LETTERPLACE) adaptions/functions for `Singular.jl`(https://github.com/oscar-system/Singular.jl) ## News for version 4-1-2 New libraries: arnoldclassify.lib: Arnol'd Classifier of Singularities ( arnoldclassify_lib) difform.lib: Procedures for differential forms ( difform_lib) dmodideal.lib: Algorithms for Bernstein-Sato ideals of morphisms ( dmodideal_lib) fpalgebras.lib: Generation of various algebras in the letterplace case ( fpalgebras_lib) ncrat.lib: non-commutatie rational functions ( ncrat_lib) Changed libraries: freegb.lib: lpDivision, lpPrint ( freegb_lib) fpadim.lib ( fpadim_lib) schreyer.lib: deprecated 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)( goettsche_lib) grobcov.lib: small bug fix ( grobcov_lib) Changes in the kernel/build system: integrated xalloc into omalloc: (`./configure --disable-omalloc`) improved heuristic for `det` ( det) improved reading of long polynomials improved groebner bases over Z coefficients code for free algebras (letterplace rings) rewritten (using now the standrad `+,-,*,^,std`,...) ( LETTERPLACE) new commands `rightstd` ( rightstd (letterplace)) extended `twostd` to LETTERPLACE ( twostd (letterplace), twostd (plural)) pseudo type `polyBucket` new type `smatrix`: sparse matrix (experimental) ( smatrix). extended `coef` to ideals ( coef). error and signal handling in `libSingular` ( libSingular). updated gfanlib to version 0.6.2 port to NTL 11 (needs C++11: gcc6 or -std=c++11), which does not conflict with polymake (needs C++14) ## News for version 4-1-1 New syntax: `alias`: may be used as a prefix to a variable declaration. Can only be used in procedure headings. ( General command syntax). New command: `fres`: improved version of `sres`: computes a (not necessarily minimal) free resolution of the input ideal/module, using Schreyer's algorithm. ( fres, sres). Extended commands: pseudo ordering `L` allows setting of limits for exponents in polynomials ( Pseudo ordering L, attrib for `maxExp`) `%`,`mod`: also for poly operands ( poly operations). `delete`: extended to intvec, ideal, module ( delete). syz ( syz), lift ( lift), liftstd ( liftstd), intersect( intersect): with a specified GB algorithm New libraries: classify2.lib: Classification of isolated singularities of corank <=2 and modality <= wrt. right equivalence over the complex numbers according to Arnold's list. ( classify2_lib) goettsche.lib: Goettsche's formula for the Betti numbers of the Hilbert scheme of points on a surface, Macdonald's formula for the symmetric product ( goettsche_lib) combinat.lib, modules.lib, methods,lib, nets.lib: a more mathematical view of modules ( combinat_lib: combinatorics), ( methods_lib: construct procedures), ( modules_lib: free resolutions), ( nets_lib: pretty printing) ncHilb.lib: Hilbert series of non-commutative monomial algebras ( ncHilb_lib) realclassify.lib: Classification of real singularities( realclassify_lib) rootisolation.lib: real root isolation using interval arithmetic( rootisolation_lib) rstandard.lib: Janet bases and border bases for ideals ( rstandard_lib) Changed libraries: chern.lib: new version ( chern_lib) gitfan.lib: new (incompatible) version ( gitfan_lib) grobcov.lib: new version ( grobcov_lib) Changes in the kernel/build system: port to polymake 3.x.x port to NTL 10 with threads (needs also C++11: gcc6 or -std=c++11) p_Invers is only a helper for p_Series: now static p_Divide is now p_MDivide, pDivide/p_Divide is a new routine ## News for version 4-1-0 Syntax changes: new (additional) form of ring definitions: (for example `ring R=QQ[x,y,z];`) ( General syntax of a ring declaration) new (additional) form of multi-indicies: (for example `i(1,2,3,4,5)`) ( Names) changed behaviour of `charstr` ( charstr) new data type `cring` to describe the coefficient rings, to be used for the new definitions for (polynomial) rings ( General syntax of a ring declaration) new command `ring_list` to access the parts used to construct polynomial rings ( ring_list, ringlist) extended polynomial ring construction: also from lists produced by `ring_list` new attribute `ring_cf` for `ring` ( attrib) printing of rings changed to match `cring` names ( charstr) New libraries: new library: classifyMapGerms.lib: standard basis of the tangent space at the orbit of an algebraic group action ( classifyMapGerms_lib) new library: ffmodstd.lib: Groebner bases of ideals in polynomial rings over algebraic function fields( ffmodstd_lib) new library: nfmodsyz.lib: syzygy modules of submodules of free modules over algebraic number fields( nfmodsyz_lib) new library: curveInv.lib: invariants of curves ( curveInv_lib) new library: gfan.lib: interface to gfanlib ( gfan_lib) extended library: interface to polymake merged into polymake_lib new library: tropicalNewton.lib: Newton polygon methods in tropical geometry ( tropicalNewton_lib) new library: schubert.lib: some procedures for intersction theory ( schubert_lib) Changed libraries: classify_aeq.lib: new procedures ( classify_aeq_lib) grobcov.lib: new version ( grobcov_lib) ncfactor.lib: factorization in some noncommuative algebras ( ncfactor_lib) with new routine ncfactor ( ncfactor) primdec.lib: new option "subsystem" ( primdec_lib) Changes in the kernel: improved mapping of polynomials/ideals/... port to gcc 6 port to gfanlib 0.6 (requires C++11, i.e. gcc >=4.3) port to NTL 10 port to polymake 3.0 port to readline 7 sba works for global orderings, also for coefficient types Z and Z/m std works for all orderings, also for coefficient types Z and Z/m with local/mixed orderings factorize works for polynomial rings over ZZ Experimental stuff: module customstd_lib: modify `std` ( satstd) ## News for version 4-0-3 New libraries: new library: brillnoether.lib: Riemann-Roch spaces of divisors on curves ( brillnoether_lib) new library: chern.lib: Chern classes ( chern_lib) new library: ffmodstd.lib: Groebner bases of ideals in polynomial rings over algebraic function fields( ffmodstd_lib) new library: GND.lib: General Neron Desingularization ( GND_lib) new library: graal.lib: localization at prime ideals ( graal_lib) new library: hess.lib: Riemann-Roch space of divisors ( hess_lib) Changed libraries: renamed algemodstd_lib to nfmodstd_lib, extended to `module` renamed derham_lib to deRham_lib grobcov.lib (grobcovK): Groebner Cover for parametric ideals ( grobcov_lib) with new routine ConsLevels ( ConsLevels), removed AddCons AddConsP. ## News for version 4-0-2 New commands: align ( align) branchTo ( procs with different argument types) `->` ( proc expression) Change in ring handling: `typeof(` qring `)` returns `"ring"` New libraries: algemodstd.lib: Groebner bases of ideals in polynomial rings over algebraic number fields(renamed to nfmodstd_lib) arr.lib: arrangements of hyperplanes ( arr_lib) brillnoether.lib: Riemann-Roch spaces of divisors on curve ( brillnoether_lib) hess.lib: Riemann-Roch space of divisors on function fields and curves ( hess_lib) gradedModules.lib: graded modules/matrices/resolutions ( gradedModules_lib) Changed libraries: revised polymake interface (polymake.so) revised gfanlib interface (gfanlib.so) Presolve::findvars ( findvars, variables) Ring::addvarsTo ( addvarsTo) Ring::addNvarsTo ( addNvarsTo) Ring::hasAlgExtensionCoefficient ( hasAlgExtensionCoefficient) Schreyer::s_res (`s_res`) grobcov.lib (grobcovK) ( grobcov_lib) with new routines AddCons AddConsP. normaliz.lib (for normaliz >=2.8) ( normaliz_lib) renamed groebnerFan to groebnerFanP in polymake.lib ( polymake_lib) renamed fVector to fVectorP in polymake.lib ( polymake_lib,`polymakeInterface_lib`) ## News for version 4-0-1 Version 4-0-1 is a bug fix release. New feature: attribute `ring_cf` for `ring` ( attrib) ## News for version 4-0-0 Version 4-0-0 is a milestone release of Singular. The new release series 4 aims for an entirely modularized architecture simplifying connectivity with other systems and paving the way for parallel computations. As a first step in modularization, the new release features an internal structural separation of coefficient rings and polynomial rings. This allows for a flexible integration of new coefficient rings. SINGULAR 4-0-0's list of new functionality and significant improvements further extends that of the 3-1-6/7 prerelease series. New functionality de Rham cohomology of complements of algebraic varieties ( deRham_lib) Gromov-Witten numbers of elliptic curves ( ellipticcovers_lib) classification of isolated complete intersection singularities in characteristic 0 ( classifyci_lib) parametrization of orbits of unipotent actions ( orbitparam_lib) F5-like Groebner basis algorithm ( sba) element-wise application of functions to data structures ( apply) support for debugging libraries ( ASSUME) Improved functionality Groebner cover for parametric ideals ( grobcov_lib) normalization of affine rings ( normal_lib) classification of real singularities ( realclassify_lib) GIT-fans ( gitfan_lib) algebraic/transcendental field extensions Non-commutative subsystem an abstraction layer for parallel computations ( parallel_lib) run-time loading of supplementary kernel code ( Dynamic modules) interpreter language support for name spaces ( package) Availability SINGULAR is available as source code and for Linux, Mac OS X, Windows, FreeBSD and SunOS-5.

User manual for Singular version 4.4.1, 2025, generated by texi2html.