# NEWS in SINGULAR 4-1-1

## 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:

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, pDivive 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 coeffient 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 contruct 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:

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
• 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:

## 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:

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)

Changed libraries:

• revised polymake interface (polymake.so)
• revised gfanlib interface (gfanlib.so)
• Presolve::findvars ( findvars, variables)
• Ring::hasAlgExtensionCoefficient ( hasAlgExtensionCoefficient)
• Schreyer::s_res (`s_res`)
• 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 relase 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

Availability

SINGULAR is available as source code and for Linux, Mac OS X, Windows, FreeBSD and SunOS-5.