NEWS in SINGULAR 3-1-3
**********************

News for version 3-1-3
======================

User defined types
==================

New types can be defined, see User defined types.

Handling objects from `python'
==============================

(Experimental) The new data type `pyobject' allows to access some
`python' funtionality within SINGULAR, see pyobject.

Currently, it is only available for those who build Singular from the
sources: Please activate it by typing `./configure --with-python' See
`./configure --help' for details.

New SINGULAR functions
======================

   * new command: `factmodd' (see factmodd)

   * new command: `waitall' (see waitall)

   * new command: `waitfirst' (see waitfirst)

New SINGULAR libraries
======================

   * new library: cisimplicial.lib (see cisimplicial_lib: Is the toric
     ideal of a simplicial toric variety a complete intersection?) -
     extends and susbtitute cimonom.lib

   * new library: grobcov.lib (see grobcov_lib: Groebner Cover for
     parametric ideals, extends and susbtitutes redcgs.lib

   * renamed `resbin.lib' to `resbinomial.lib', see resbinomial_lib.

-------------------------------------------------------------------
===================================================================

Older versions:
===============

News for version 3-1-2
======================

This version starts some reorganization: a section for new libraries:
(see Experimental libraries), preparations for parallel computations
(see modstd_lib, Ssi links), some linear algebra (see below), many new
libaries, many bug fixes etc.  (especially factorization stuff and
memory management).

New SINGULAR functions
======================

   * new command: `datetime' (see datetime)

   * new command: `ludecomp' (see ludecomp)

   * new command: `luinverse' (see luinverse)

   * new command: `lusolve' (see lusolve)

   * new command: `primefactors' (see primefactors)

   * new command: `rank' (see rank)

New SINGULAR link types
=======================

   * `ssi': experimental Singular-Singular interface (see Ssi links)

   * `pipe': string based interface to any program (see Pipe links)

New SINGULAR libraries
======================

   * new library: finitediff.lib (see finitediff_lib:  finite
     difference schemes for linear differential equations)

   * new library: fpadim.lib (see fpadim_lib:  Algorithms for quotient
     algebras in the letterplace case)

   * new library: integralbasis.lib (see integralbasis_lib: Integral
     basis in algebraic function fields)

   * new library: monomialideal.lib (see monomialideal_lib: operation
     for monomial ideals)

   * new library: multigrading.lib (see multigrading_lib: multigradings
     and related computations)

   * new library: ncfactor.lib (see ncfactor_lib:Tools for
     factorization in some noncommutative algebras)

   * new library: paraplanecurves.lib (see paraplanecurves_lib:
     Rational parametrization of rational plane curves)

   * new library: primdecint.lib (see primdecint_lib: primary
     decomposition over the integers)

   * new library: resbinomial.lib (see resbinomial_lib: resolution of
     singularities of binomial ideals

   * new library: resjung.lib (see resjung_lib: resolution of surface
     singularities by Jung's Algorithm

   * new library: surfacesignature.lib (see surfacesignature_lib:
     signature of irreducible surface singularities

Changed SINGULAR libraries
==========================

   * changed library: dmodapp.lib (see dmodapp_lib: Applications of
     algebraic D-modules

   * changed library: dmodvar.lib (see dmodvar_lib: algebraic D-modules
     for varieties

   * extended library: modstd.lib (see modstd_lib: Groebner basis via
     modular methods

   * extended library: normal.lib (see normal_lib:Normalization of
     Affine Rings)

   * rewritten library: sagbi.lib (see sagbi_lib: subalgebra bases
     analogous to Groebner bases for ideals)

Internal Changes
================

   * new gcd code

   * new factorization code

News for version 3-1-1
======================

   * new option `qringNF', see option.

   * new system command `system("cpu")', see system.

New SINGULAR functions
======================

   * new command: `farey': lifting to Q  (see farey)

   * new command: `monomial' (see monomial)

   * command extended: `liftstd' also computes syzygies.  (see liftstd)

   * command extended: `minor' has more options.  (see minor)

   * command extended: `opposite' (see opposite)

Internal Changes
================

   * new minor code

   * removed `EXTGCD' (use `extgcd')

   * moved mp_set_memory_functions-call from kernel/mminit.cc to
     tesths.cc:main   (in order not to call it for libsingular)

New SINGULAR libraries
======================

   * new library: normaliz.lib (see normaliz_lib: Interface to Normaliz
     2.2)

Changed SINGULAR libraries
==========================

   * homolog.lib (homolog_lib): canonMap

   * dmod.lib (dmod_lib): operatorModulo

News for version 3-1-0
======================

   * new coefficients: Z, Z/m, Z/(2^n) (see Rings and orderings)

   * new handling of the default argument in libraries (see Parameter
     list)

   * `ESingular' updated for emacs 22

   * licences for all parts of SINGULAR clarified (see Preface)

New SINGULAR functions
======================

   * new command: kernel (see kernel)

   * new command: sqrfree (see sqrfree)

   * command changed: the first argument to `monitor' should be an
     ASCII link.  (see monitor)

   * command extended: eliminate: variables to eliminate may also be
     given as intvec.  (see eliminate)

Internal Changes
================

   * handling of large input for std improved

   * interred implemented in a different way

   * kbase honors the attribute "isHomog"

   * jacob accepts modules and matrices

   * gcd over algebraic extensions of the rationals implemented in a
     different way

   * new build target: libsingular.a (for gfan etc.)

   * code variants now depend on CPU type, not OS

   * better test for built-in limits (see Limitations)

   * operator `new(size_t,const std::nothrow_t&)' now also overloaded

New SINGULAR libraries
======================

   * surfex: new version 0.90 (see surfex_lib).

   * new library: redcgs.lib (see `redcgs_lib': Reduced Comprehensive
     Groebner Systems)

   * new library: tropical.lib (see tropical_lib: Computations in
     Tropical Geometry)

   * new library: polymake.lib (see polymake_lib: Computations with
     polytopes and fans, interface to polymake and TOPCOM)

   * new library: sing4ti2.lib (see sing4ti2_lib: interface to 4ti2

   * new library: decodegb.lib (see decodegb_lib: Generating and
     solving systems of polynomial equations for decoding and finding
     the minimum distance of linear codes)

   * new library: dmodapp.lib (see dmodapp_lib: applications of
     D-modules)

   * new library: bfun.lib global (see bfun_lib: Bernstein-Sato
     polynomial)

   * new library: freegb.lib (see freegb_lib): Twosided Non-commutative
     Groebner bases in Free Algebras

   * new library: jacobson.lib (see jacobson_lib): Algorithms for Smith
     and Jacobson Normal Form

   * contributed library: cimonom.lib (see cimonom_lib): determines if
     the toric ideal of an affine monomial curve is a complete
     intersection

   * contributed library: phindex.lib (see phindex_lib): Poincare-Hopf
     index of a real analytic vector field

Changed SINGULAR libraries
==========================

   * normal.lib (normal_lib): changed structure of the result,
     new algorithms have been implemented which improve the performance

   * elim.lib (elim_lib): elim, nselect, select, select1: changed syntax

   * homolog.lib: kernel renamed to hom_kernel.
     (See also kernel, alg_kernel).

   * matrix.lib (matrix_lib): new commands for computing
     symmetric/exterior powers/bases

   * surf.lib: new command `surfer': interface to program `surfer'
     (See surf_lib).

   * teachstd.lib (teachstd_lib): spoly works now in non-commutative
     algebras and standard can thus be used there.  However, since
     product criterion is a priori not applicable in the
     non-commutative case, one may want to disable it first (see
     `prodcrit' for details).

   * many changes of names in libraries (to have a more consistent
     naming scheme)

News for version 3-0-4
======================

   * licence changed: due to the need to use stuff under (L)GPL3, all
     parts of SINGULAR are licenced under GPL (resp. LGPL) version 2,
     or (at your option) version 3

   * new command: (univariate): test polynomials for being univariate.

   * new command: (variables): ideal of all variables occurring in a
     polynomial, ideal or matrix.

   * syntax change: ncalgebra should be substituted by nc_algebra.
     `ncalgebra' is now depreciated, but still supported

   * library nctools_lib updated to use `nc_algebra',
     Weyl, Exterior, findimAlgebra do not change the current ring but
     return the new structure

   * kernel: use Conway polynomials and support more finite fields

News in version 3-0-3
=====================

The version 3-0-3 is stabilizing release, a result of a long beta test
and the integration of a lot of small fixes which were on our waiting
list for integration.

It contains also  a lot of new features:
   * licence changed: omalloc and MP are now (also) available under GPL;
     that means that all parts of SINGULAR are licenced under GPL
     (resp. LGPL).

   * factory, libfac, SINGULAR updated for gcc 4.1.x

   * kernel updated for the optional use of boost.

   * can now be built as a library.

   * new operator `a:b' gives an `intvec' of length `b' with constant
     entries `a'

   * new command: (chinrem): lifting via chinese remainder theorem

   * new command: (interpolation): ideal of points with given
     multiplicities

   * non-commutative kernel subsystem was rewritten in order to support
     specific algebras more efficiently.  Implemented algebras at the
     moment: super-commutative algebras (in particular exterior
     algebras).

   * std et al.: new selection strategy for reductions (option
     (length)).

   * reduce: new strategy for selection and normalization.

   * simplify slightly changed: does not omit zero polynomial unless
     specified.

   * new library: compregb.lib (compregb_lib): comprehensive Groebner
     base system

   * new library: kskernel.lib (kskernel_lib): kernel of the
     kodaira-spencer map for irreducible plane curve singularities

   * new library: modstd.lib (modstd_lib): Groebner base computations
     over the rational numbers via modular computations

   * new library: noether.lib (noether_lib): Noether normalization of
     an ideal(not nessecary homogeneous)

   * new library: atkins.lib (atkins_lib): the elliptic curve primality
     test of Atkin

   * new library: aksaka.lib (aksaka_lib): primality testing after
     Agrawal, Saxena, Kayal

   * new library: arcpoint.lib (arcpoint_lib): truncations of arcs at a
     singular point

   * new library: resgraph.lib (resgraph_lib): visualization of
     resolution data.

   * new library: realrad.lib (realrad_lib): computation of the real
     radical over the rational numbers and extensions thereof

   * new library: hyperel.lib (hyperel_lib): divisors in the jacobian
     of hyperelliptic curves

   * new library: curvepar.lib (curvepar_lib): space curves

   * new library: sagbi.lib (sagbi_lib): subalgebras bases analogous to
     Groebner bases for ideals

   * new library: surfex.lib (surfex_lib): visualizing and rotating
     surfaces

   * new library: cimonom.lib (cimonom_lib): determines if the toric
     ideal of an affine monomial curve is a complete intersection.

   * sheafcoh_lib: new experimental functions, in particular
     sheafCohBGG2

   * library `ncall.lib' merged into all_lib

   * library center.lib (`center_lib') renamed to `central.lib'
     (central_lib)

   * nctools_lib: new functions for super-commutative algebras (i.e.
     superCommutative, IsSCA, AltVarStart, AltVarEnd)

   * resolve.lib: blow ups revised (resolve_lib)

   * new algorithms in primdec.lib (primdec_lib): radical et al.

   * improved version of slimgb, incorporated into groebner, strategy
     change in groebner

   * finvar.lib: the algorithm of secondary_char0 is now used in
     general in the non-modular case (finvar_lib)

   * finvar.lib: new algorithm for irred_secondary_char0 (finvar_lib)

   * finvar.lib: new function irred_secondary_no_molien (finvar_lib)

   * finvar.lib: new functions for computing minimal generating sets of
     invariant rings of finite groups in the non-modular case:
     invariant_algebra_reynolds for finite matrix groups and
     invariant_algebra_perm for permutation groups (finvar_lib)

   * operation for sparse matrices improved: multiplication, prune,
     conversion to module

News in version 3-0-2
=====================

The version 3-0-2 is mainly a bug fix release, but it contains also
some new features:
   * factory, libfac updated for gcc 4.1.x

   * configure/speed improved for 64bit architectures

   * new library: dmod.lib (dmod_lib)

   * new library: perron.lib (perron_lib)

   * improved center.lib: revised implementation, new functions
     (sa_reduce etc.)

   * revised ncalg.lib (ncalg_lib): new algebras, U(sl_n) and U(g_2)
     changed to conform GAP.

   * new algorithms in primdec.lib (primdec_lib): radical et al.

   * improved version of slimgb, incorporated into groebner

   * finvar.lib: new algorithm for secondary_char0, which is a drastic
     improvement (finvar_lib).

   * finvar.lib: new function irred_secondary_char0 (finvar_lib).

   * finvar.lib: new function rel_orbit_variety, complementing
     relative_orbit_variety (finvar_lib).

   * improved module generator (`modgen')

   * experimental: new type bigint

   * more architectures: Solaris on x86/opteron, ...

   * build process improved: builds automatically without patches on
     64bit architectures

NEWS in version 3-0-1
=====================

The version  3-0-1 is mainly a bug fix release, but it contains also
some new features:
   * NTL upgraded to version 5.4

   * new library: absfact.lib absfact_lib

   * new procedures in primdec.lib: absPrimdecGTZ

   * new procedures in standard.lib: weightKB

   * build process improved: new make target `install_all'

   * improved version of slimgb, incorporated into groebner

   * arithmetic in Z/pZ for architecture x84_64 improved (by 25 %)

NEWS in version 3-0-0
=====================

The version 3-0-0 is the first in the new release series version 3-0.

SINGULAR version 3 has a greater functionality and an improved
architecture.  Major new features are:
   * Dynamic modules

   * non-commutative extension Non-commutative subsystem

   * name spaces (package)

   * easy manipulation of rings (ringlist)

   * improved speed of maps (subst, map)

   * a new algorithm for Groebner base computations: slimgb.

   * improved factorization (integration of NTL, factorization over
     algebraic extensions, zeroset.lib)

   * improved gcd of polynomials (including bug fixes)

   * ports to more architectures including automatic building from
     source (fink on Mac, ebuild on Gentoo)

   * more help browsers supported, user extendable (help.cnf)

   * better support of graded modules

   * many bugs fixed
Besides theses internal changes, SINGULAR version 3 offers many new
features and functionalities (which were partly already incorporated in
the 2-1 pre-release series).

Factorizing algorithms revisited (3-0-0)
========================================

Starting with version 2-0-4, we use NTL (of Victor Shoup) for factoring
univariate polynomials. The multivariate factorization code in
libfac/factory now also works over algebraic field extension.

New SINGULAR libraries (3-0-0)
==============================

control_lib
     algebraic analysis tools for System and Control Theory

mregular_lib
     procedures for computing the Castelnuovo-Mumford regularity

mprimdec_lib
     procedures for primary decomposition of modules

gmspoly_lib, gmssing_lib
     procedures for the Gauss-Manin connection of a singularity

resolve_lib, reszeta_lib
     resolution of singularities and applications

rootsmr_lib
     counting the number of real roots

sheafcoh_lib
     computing cohomology of sheaves and Tate resolution

signcond_lib
     computing realizable sign conditions

rootsur_lib
     counting number of real roots of univariate polynomial

grwalk_lib
     Groebner and Pertubation walk

Changes in SINGULAR libraries (3-0-0)
=====================================

Many procedures were moved into different libraries, the documentation
of libraries was generally improved.

All procedures which used to change the current ring return now the
newly created ring.

New SINGULAR functions (3-0-0)
==============================

ringlist
     manipulation of rings

slimgb
     a new algorithm to compute Groebner bases

exportto
     transfer an identifier to the specified package

importfrom
     generate a copy of an identifier from the specified package in the
     current package

frwalk
     fractal walk to change monomial orderings

SINGULAR functions whose syntax/semantics has changed (3-0-0)
=============================================================

degree
     outputs degree and dimension instead of returning an int

attrib
     new attribute: `rowShift'

Non-commutative Extension PLURAL (3-0-0)
========================================

Starting with version 3-0-0, SINGULAR features the non-commutative
extension PLURAL. It allows to set and to compute within
non-commutative algebras  with PBW basis. Among available algorithms
are Groebner bases for left modules, syzygies and resolutions.

The following libraries come together with PLURAL:

`center.lib'
     computes generators of the center and centralizer subalgebras up
     to a given degree resp. up to a given number of generators

involut_lib
     determines linear antiautomorphisms (involutions) and automorphisms

gkdim_lib
     computes a Gel'fand-Kirillov dimension for modules

ncalg_lib
     includes ready-to-use funtions for defining many important
     non-commutative algebras

ncdecomp_lib
     computes a decomposition of a module by its central characters

ncalg_lib, nctools_lib
     contain numerous useful tools for non-commutative algebras

qmatrix_lib
     procedures, related to quantum matrices and minors

Internal Changes (3-0-0)
========================

new mapping code

factory revised
     (gcd, factorizing polynomial over algebraic extension fields,...)

Porting
=======

   * SINGULAR is available for ix86-Linux, SunOS-5, IRIX-6, ix86-Win
     (runs on Windows 95/98/NT4/2000/XP/Vista), FreeBSD, MacOS X,
     x86_64-Linux (AMD64/Opteron/EM64T), IA64-Linux

