
E.2.2 Notes for Singular users
Coefficient rings
To allow for easy integration of new coefficient rings into Singular, the the way
coefficient rings are being handled has been redesigned.
In general, the user syntax has not changed, however there are some changes in the behaviour of Singular:
 setting
minpoly results in changing the current coefficient domain
and clears all previously defined varaiables of that ring
 Minor changes in the output of coefficient ring description. Moreover the output of elements of certain rings has been improved (for example, reals).
 Algebraic and transcendental extensions of rationals and finite fields
have been reimplemented. In particular, the heuristics for clearing denominators and factoring out content
have been changed. In some cases this leads to a different, mathematically equivalent results of Groebner
bases and related computations. For example a Groebner basis element may differ by a unit.
 Most noteably, due to the redesign of the coefficient rings, if the user sets the minimal polynomial
all variables dependent on the current ring are deleted.
Ringdependent options
Formally global Singular option now belong to individual polynomial rings. This includes:
intStrategy
redTail
redThrough
Also the following settings now belong to individual (currently active) polynomial rings:
Hence setting these options only affects the current ring. Be aware of this
when switching between different rings, since the options affect the
result of various computations (in particular Groebner bases).
New libraries depending on Singular 4
In Singular 4 there several new features are implemented within a
dynamic module syzextra.so , not available in Singular 3.
It implements the lowlevel functions for Schreyer resolutions and many auxiliary functions.
The following new libraries deRham_lib, schreyer_lib depend on it:
 deRham_lib  computes de Rham cohomology
 schreyer_lib  computes Schreyer resolution via several approaches. It also serves as a highlevel wrapper to the dynamic module
syzextra.so
Path names
 The tree structure of the binary Singular distribution has been changed.
The typical tree now looks as show at https://github.com/Singular/Sources/wiki/Swtree
 Accordingly Singular search paths (where Singular searches for libraries, dynamic modules, etc.) have been changed. You can display them by calling Singular by
Singular v .
 currently, multiarch installations of Singular 4 aere not possible.
Library versioning
Due to switching from Subversion to GIT revision control system for the Singular source code,
library version variables (displayed when loading a library) have changed.
New orderings for modules
The now can assign weights to module components, when defining a monomial ordering. For example
 ring R = 0, (x,y,z), (am(1,2,3, 10,20,30,40), dp, C);
deg(x*gen(1));
==> 11

will assign weights 1,2,3 to x,y,z respectively, and weights 10,20,30,40,0,0,... to
components of any free module defined over R. This ordering will first sort
by this weighted degree, then by dp on the ring monomials and then will give priority
to the large component index.
Future benefits of Singular 4
The redesign of Singular will allow us to provide new features in the future, for example:
 Interpreter type for coefficient rings.
 User defined coefficient rings.
 Improved syntax for defining polynomial rings.
