source: git/doc/changes_in_singular4.texi @ 96c5cb

spielwiese
Last change on this file since 96c5cb was 96c5cb, checked in by Hans Schoenemann <hannes@…>, 11 years ago
chg: search p_Procs in %P and %b/MOD, report last try on failure
  • Property mode set to 100644
File size: 6.5 KB
RevLine 
[b5edd0]1@comment this file contains the list of new features and difference between Singular 3.* and Singular 4.*
2
3The purpose of this section is to describe new features and changes
[03e4a6]4between Singular 3-1-7 and Singular 4.* (formerly known as Spielwiese) both for developers
5and Singular users. In what follows we will refer to the systems as Singular 3 and Singular 4.
[b5edd0]6
7@menu
8* Notes for Singular users::
9* Notes for developers::
10* Building Singular::
11@end menu
12
13
14@c ---------------------------------------------------------------------------
[537c49]15@node Notes for Singular users, Notes for developers, , Singular 3 and Singular 4
[b5edd0]16@subsection Notes for Singular users
17@cindex Notes for Singular users
18
[03e4a6]19@subsubheading Coefficient rings
20@cindex Coefficient rings
21
22To allow for easy integration of new coefficient rings into Singular, the the way
23coefficient rings are being handled has been redesigned.
24
25In general, the user syntax has not changed, however there are some changes in the behaviour of Singular:
[b5edd0]26
27@c table @asis
28@itemize @bullet
[03e4a6]29@item Minor changes in the output of coefficient ring description. Moreover the output of elements of certain rings has been improved (for example, reals).
30
31@item Algebraic and transcendental extensions of rationals and finite fields
32      have been reimplemented. In particular, the heuristics for clearing denominators and factoring out content
33      have been changed. In some cases this leads to a different, mathematically equivalent results of Groebner
34      bases and related computations. For example a Groebner basis element may differ by a unit.
35
36@item Most noteably, due to the redesign of the coefficient rings, if the user sets the minimal polynomial
37      all variables dependent on the current ring are deleted.
38
[b5edd0]39@end itemize
40@c @end table
41
42@subsubheading Ring-dependent options
43@cindex Ring-dependent options
44
[03e4a6]45Formally global Singular @ref{option} now belong to individual polynomial rings. This includes:
[b5edd0]46
47@c table @asis
48@itemize @bullet
[03e4a6]49@item @code{intStrategy}
50@item @code{degBound}
51@item @code{multBound}
52????
[b5edd0]53@end itemize
54@c @end table
55
[03e4a6]56Hence setting these options only affects the current ring. Be aware of this
57when switching between different rings, since the options affect the
58result of various computations (in particular Groebner bases).
[b5edd0]59
[03e4a6]60@subsubheading New libraries depending on Singular 4
61@cindex New libraries depending on Singular 4
[b5edd0]62
[03e4a6]63In Singular 4 there several new features are implemented within a
64dynamic module @code{syzextra.so}, not available in Singular 3.
65It implements the low-level functions for Schreyer resolutions and many auxiliary functions.
66The following new libraries @ref{derham_lib}, @ref{schreyer_lib} depend on it:
[b5edd0]67
68@c table @asis
69@itemize @bullet
70@item @ref{derham_lib} - computes de Rham cohomology
71@item @ref{schreyer_lib} - computes Schreyer resolution via several approaches. It also serves as a high-level wrapper to the dynamic module @code{syzextra.so}
72@end itemize
73@c @end table
74
[03e4a6]75@subsubheading Path names
76@cindex Path names
77
78@c table @asis
79@itemize @bullet
80@item The tree structure of the binary Singular distribution has been changed. The typical tree now looks as follows:
81      *** add tree ***
82
83@item Accordingly Singular search paths (where Singular searches for libraries, dynamic modules, etc.) have been changed. You can display them by calling Singular by @code{Singular -v}.
84
[96c5cb]85@item currently, multi-arch installations of Singular 4 aere not possible.
[03e4a6]86@end itemize
87@c @end table
88
89@subsubheading Library versioning
90@cindex Library versioning
91
92Due to switching from Subversion to GIT revision control system for the Singular source code,
[4fb517c]93library version variables (displayed when loading a library) have changed.
[03e4a6]94
95
96@subsubheading New orderings for modules
97@cindex New orderings for modules
98
99The now can assign weights to module components, when defining a monomial ordering. For example
100
101@code{> ring R = 0, (x,y,z), (am(1,2,3,   10,20,30,40), dp, C);}
102@code{> deg(x*gen(1));}
103@code{11}
104
105will assign weights 1,2,3 to x,y,z respectively, and weights 10,20,30,40,0,0,... to
106components of any free module defined over R. This ordering will first sort
107by this weighted degree, then by dp on the ring monomials and then will give priority
108to the large component index.
109
110@subsubheading Future benefits of Singular 4
111@cindex Future benefits of Singular 4
112
113The redesign of Singular will allow us to provide new features in the future, for example:
114
115@c table @asis
116@itemize @bullet
117@item Interpreter type for coefficient rings.
118@item User defined coefficient rings.
119@item Improved syntax for defining polynomial rings.
120@end itemize
121@c @end table
[b5edd0]122
123
124
125
126@c ---------------------------------------------------------------------------
[537c49]127@node Notes for developers, Building Singular, Notes for Singular users, Singular 3 and Singular 4
[b5edd0]128@subsection Notes for developers
129@cindex Notes for developers
130
[03e4a6]131There has been an entensive process of refactoring, redesign and modularization
132of Singular to facilitate easier maintenance and future development:
[b5edd0]133
134@c table @asis
135@itemize @bullet
[03e4a6]136@item Build System : automake, libfac has been integrated into Factory
137@item Removed MP (Multi protocol) in favor of SSI links.
[b5edd0]138@item Separation/modularization into libraries and packages
139@c add diagram as an image?
[03e4a6]140@item For easy integration of new coeffcient rings,
141we defined a generic interface for coefficient
142rings and a supporting framework for making them
143accessible to the user.
144
145In particular we have separated everything related to coeffcient rings into a separate library @code{libcoeffs}.
146
[b5edd0]147@end itemize
148@c @end table
149
150
[03e4a6]151
[b5edd0]152@subsubheading Changes to build system
153@cindex Changes to build system
154
155@c ---------------------------------------------------------------------------
[537c49]156@node Building Singular, , Notes for developers, Singular 3 and Singular 4
[b5edd0]157@subsection Building Singular
158@cindex Building Singular
159
[03e4a6]160The user can build and install Singular with the following standard UNIX-like procedure:
161
162@c table @asis
163@itemize @bullet
164@item Download and extract the latest official source package (.tar.gz).
165@item Run the configure script, for instance, @code{./configure}.
166@item Build Singular by running @code{make}.
167@item Install Singular by running @code{make install}.
168@end itemize
169@c @end table
170
171In contrast to Singular 3, there are now many more configuration options.
172
173All possible options for configure can be seen by running the configure script with
174option @code{--help}. On a multicore compute consider running make with the
175option @code{-f [cores]}.
176
[b5edd0]177@c ---------------------------------------------------------------------------
Note: See TracBrowser for help on using the repository browser.