\input texinfo @c -*-texinfo-*- @comment $Id: singular.doc,v 1.135 2005-05-19 16:28:25 levandov Exp $ @comment this file contains the main structure of the manual @c ------------------------ @c %**start of header @c ------------------------ @setfilename singular.hlp @settitle Singular Manual @c @setchapternewpage odd @paragraphindent 0 @c ------------------------ @c %**end of header @c ------------------------ @c --------------------- general settings -------------------- @iftex @afourpaper @finalout @pagesizes 23cm, 16.5cm @end iftex @set singularmanual 1 @set withplural 1 @set PSUFFIX (plural) @set namespaces 1 @include version.texi @include uname.texi @c --------------------- end general setting -------------------- @c --------------------- invisible Info header ------------------------ @ifinfo This is the texinfo file describing Singular (version @value{VERSION}) @end ifinfo @c --------------------- end Info invisible header -------------------- @c --------------------- tex titlepage -------------------- @titlepage @sp 2 @center @titlefont{Singular} @sp 2 @center A Computer Algebra System for Polynomial Computations @sp 5 @center @titlefont{Manual} @center Version @value{VERSION} @sp 2 @center Singular is created and its development is directed and coordinated by @center G.-M. Greuel, G. Pfister, and H. Sch@"onemann @sp 2 @c @center with contributions by @center Principal developers: @center O. Bachmann, M. Brickenstein, W. Decker, A. Fr@"uhbis-Kr@"uger, K. Kr@"uger, @center V. Levandovskyy, C. Lossen, W. Neumann, W. Pohl, J. Schmidt, M. Schulze, @center T. Siebert, R. Stobbe, E. Westenberger, T. Wichmann, O. Wienand @c @center O. Bachmann, W. Decker, A. Fr@"uhbis-Kr@"uger, C. Gorzel, @c @center H. Grassmann, A. Heydtmann, D. Hillebrand, T. Keilen, U. Klein, K. Kr@"uger, M. Lamm, V. Levandovskyy @c @center C. Lossen, B. Martin, M. Me@ss{}ollen, W. Neumann, T. N@"u@ss{}ler, W. Pohl, T. Siebert, @c @center J. Schmidt, M. Schulze, R. Stobbe, M. Wenk, T. Wichmann, D. Yanovich @sp 2 @author Fachbereich Mathematik @author Zentrum f@"ur Computeralgebra @author Universit@"at Kaiserslautern @author D-67653 Kaiserslautern @end titlepage @c print short table of contents in tex right after titlepage @c Detailed ToC is printed at the end of the manual @shortcontents @c -----------------------Top node----------------------------------- @node Top, Preface, (dir), (dir) @ifnothtml @ifinfo @center @strong{SINGULAR} @center A Computer Algebra System for Polynomial Computations @center User Manual for @sc{Singular} Version @value{VERSION} @center @uref{http://www.singular.uni-kl.de} @end ifinfo @end ifnothtml @ifhtml @html

A Computer Algebra System for Polynomial Computations

HTML User Manual for Singular Version @end html @value{VERSION}, @value{VERSION_DATE} @html

University of Kaiserslautern
Department of Mathematics
Centre for Computer Algebra

@end html @end ifhtml @menu * Preface:: * Introduction:: * General concepts:: * Data types:: * Functions and system variables:: * Tricks and pitfalls:: @ifset withplural * PLURAL:: @end ifset * Examples:: * Polynomial data:: * Mathematical background:: * SINGULAR libraries:: * Release Notes:: * Index:: @end menu @c ---------------------------------------------------------------------------- @node Preface, Introduction, Top, Top @chapter Preface @cindex Preface @include COPYING.texi @c ---------------------------------------------------------------------------- @node Introduction, General concepts, Preface, Top @chapter Introduction @cindex Introduction @include start.tex @c ---------------------------------------------------------------------------- @node General concepts, Data types, Introduction, Top @chapter General concepts @cindex General concepts @include general.tex @c ---------------------------------------------------------------------------- @node Data types, Functions and system variables, General concepts, Top @chapter Data types @cindex Data types @include types.tex @c ---------------------------------------------------------------------------- @node Functions and system variables, Tricks and pitfalls, Data types, Top @chapter Functions and system variables @cindex Commands @include reference.tex @c ---------------------------------------------------------------------------- @ifset withplural @node Tricks and pitfalls, PLURAL, Functions and system variables, Top @end ifset @ifclear withplural @node Tricks and pitfalls, Examples, Functions and system variables, Top @end ifclear @chapter Tricks and pitfalls @cindex Tricks and pitfalls @include tricks.tex @c ---------------------------------------------------------------------------- @ifset withplural @node PLURAL, Examples, Tricks and pitfalls, Top @chapter PLURAL @cindex PLURAL @include s-plural.tex @end ifset @c ---------------------------------------------------------------------------- @ifset withplural @node Examples, Polynomial data, PLURAL, Top @end ifset @ifclear withplural @node Examples, Polynomial data, Tricks and pitfalls, Top @end ifclear @appendix Examples @cindex Examples @include examples.tex @c ---------------------------------------------------------------------------- @node Polynomial data, Mathematical background, Examples, Top @appendix Polynomial data @cindex Polynomial data @include pdata.tex @c ---------------------------------------------------------------------------- @node Mathematical background, SINGULAR libraries, Polynomial data, Top @appendix Mathematical background @cindex Mathematical background @include math.tex @c @ifset withplural @c @include s-plumath.tex @c @end ifset @c ---------------------------------------------------------------------------- @node SINGULAR libraries, Release Notes, Mathematical background, Top @appendix SINGULAR libraries @cindex SINGULAR libraries @cindex LIBs @sc{Singular} comes with a set of standard libraries. Their content is described in the following subsections. Use the @ref{LIB} command for loading of single libraries, and the command @code{LIB "all.lib";} for loading all libraries. @menu * standard_lib:: extensions of Singular kernel * General purpose:: * Linear algebra:: * Commutative algebra:: * Singularities:: * Invariant theory:: * Symbolic-numerical solving:: * Visualization:: * Coding theory:: * System and Control theory:: @end menu @c ---------------------------------------------------------- @node standard_lib, General purpose, SINGULAR libraries, SINGULAR libraries @section standard_lib The library @code{standard.lib} provides extensions to the set of built-in commands and is automatically loaded during the start of @sc{Singular}, unless @sc{Singular} is started up with the @code{--no-stdlib} command line option (see @ref{Command line options}). @c lib standard.lib:LibInfo lib_fun lib_ex section @c ---------------------------------------------------------------------------- @node General purpose, Linear algebra, standard_lib, SINGULAR libraries @section General purpose @cindex General purpose @menu * all_lib:: load all other libraries * general_lib:: procedures of general type * inout_lib:: procedures for manipulating in- and output * poly_lib:: procedures for manipulating polynomials and ideals * random_lib:: procedures of random/sparse matrix and poly operations * ring_lib:: procedures for manipulating rings and maps @end menu @c ---------------------------------------------------------- @node all_lib, general_lib, General purpose, General purpose @subsection all_lib @cindex all_lib @cindex all.lib The library @code{all.lib} provides a convenient way to load all libraries of the @sc{Singular} distribution. @strong{Example:} @smallexample @c example option(loadLib); LIB "all.lib"; @c example @end smallexample @c ---------------------------------------------------------- @node general_lib, inout_lib, all_lib, General purpose @subsection general_lib @c lib general.lib no_ex @c ---------------------------------------------------------- @node inout_lib, poly_lib, general_lib, General purpose @subsection inout_lib @c lib inout.lib @c ---------------------------------------------------------- @node poly_lib, random_lib, inout_lib, General purpose @subsection poly_lib @c lib poly.lib @c ---------------------------------------------------------- @node random_lib, ring_lib, poly_lib, General purpose @subsection random_lib @c lib random.lib @c ---------------------------------------------------------- @node ring_lib, , random_lib, General purpose @subsection ring_lib @c lib ring.lib @c ---------------------------------------------------------------------------- @node Linear algebra, Commutative algebra, General purpose, SINGULAR libraries @section Linear algebra @cindex Linear algebra @menu * matrix_lib:: procedures for matrix operations * linalg_lib:: procedures for algorithmic linear algebra @end menu @c ---------------------------------------------------------- @node matrix_lib, linalg_lib, Linear algebra, Linear algebra @subsection matrix_lib @c lib matrix.lib @c --------------------------------------------------------- @node linalg_lib, , matrix_lib, Linear algebra @subsection linalg_lib @c lib linalg.lib @c ---------------------------------------------------------------------------- @node Commutative algebra, Singularities, Linear algebra, SINGULAR libraries @section Commutative algebra @cindex Commutative algebra @menu * algebra_lib:: procedures for computing with algebras and maps * elim_lib:: procedures for elimination, saturation and blowing up * grwalk_lib:: Groebner walk and Fraktal walk * homolog_lib:: procedures for homological algebra * mprimdec_lib:: procedures for primary decomposition of modules * mregular_lib:: procedures for Castelnuovo-Mumford regularity * normal_lib:: procedure for normalization * primdec_lib:: procedures for primary decomposition * primitiv_lib:: procedures for finding a primitive element * reesclos_lib:: Rees Algebra and integral closure of an ideal * intprog_lib:: Integer Programming * toric_lib:: toric ideals * resol_lib:: Resolution of Singularities * zeta_lib:: Applications of Resolution of Singularities @end menu @c --------------------------------------------------------- @node algebra_lib, elim_lib, Commutative algebra, Commutative algebra @subsection algebra_lib @c lib algebra.lib @c ---------------------------------------------------------- @node elim_lib, grwalk_lib, algebra_lib, Commutative algebra @subsection elim_lib @c lib elim.lib @c ---------------------------------------------------------- @node grwalk_lib, homolog_lib, elim_lib, Commutative algebra @subsection grwalk_lib @c lib grwalk.lib @c ---------------------------------------------------------- @node homolog_lib, mprimdec_lib, grwalk_lib, Commutative algebra @subsection homolog_lib @c lib homolog.lib @c ---------------------------------------------------------- @node mprimdec_lib, mregular_lib, homolog_lib, Commutative algebra @subsection mprimdec_lib @c lib mprimdec.lib @c ---------------------------------------------------------- @node mregular_lib, normal_lib, mprimdec_lib, Commutative algebra @subsection mregular_lib @c lib mregular.lib @c --------------------------------------------------------- @node normal_lib, primdec_lib, mregular_lib, Commutative algebra @subsection normal_lib @c lib normal.lib @c ---------------------------------------------------------- @node primdec_lib, primitiv_lib, normal_lib, Commutative algebra @subsection primdec_lib @c lib primdec.lib @c --------------------------------------------------------- @node primitiv_lib, reesclos_lib, primdec_lib, Commutative algebra @subsection primitiv_lib @c lib primitiv.lib @c --------------------------------------------------------- @node reesclos_lib, intprog_lib, primitiv_lib, Commutative algebra @subsection reesclos_lib @c lib reesclos.lib @c --------------------------------------------------------- @node intprog_lib, toric_lib, reesclos_lib, Commutative algebra @subsection intprog_lib @c lib intprog.lib @c --------------------------------------------------------- @node toric_lib, resol_lib ,intprog_lib, Commutative algebra @subsection toric_lib @c lib toric.lib @c --------------------------------------------------------- @node resol_lib, zeta_lib ,toric_lib, Commutative algebra @subsection resol_lib @c lib resol.lib @c --------------------------------------------------------- @node zeta_lib, ,resol_lib, Commutative algebra @subsection zeta_lib @c lib zeta.lib @c ---------------------------------------------------------------------------- @node Singularities, Invariant theory, Commutative algebra, SINGULAR libraries @section Singularities @cindex Singularities @menu * classify_lib:: procedures for the Arnold-classifier of singularities * deform_lib:: procedures for computing miniversal deformation * equising_lib:: procedures for equisingularity strata * gmssing_lib:: procedures for gauss-manin system of a singularity * gmspoly_lib:: procedures for gauss-manin system of cohomologically tame polynomials * hnoether_lib:: procedures for the Hamburger-Noether (Puiseux) development * mondromy_lib:: procedures to compute the monodromy of a singularity * qhmoduli_lib:: procedures for moduli spaces of sqh-singularities * sing_lib:: procedures for computing invariants of singularities * spcurve_lib:: procedures for cm codimension 2 singularities * spectrum_lib:: procedures for computing singularity spectra @end menu @c --------------------------------------------------------- @node classify_lib, deform_lib, Singularities, Singularities @subsection classify_lib @c lib classify.lib unix_only @c ---------------------------------------------------------- @node deform_lib, equising_lib, classify_lib, Singularities @subsection deform_lib @c lib deform.lib @c ---------------------------------------------------------- @node equising_lib, gmssing_lib, deform_lib, Singularities @subsection equising_lib @c lib equising.lib @c ---------------------------------------------------------- @node gmssing_lib, gmspoly_lib, equising_lib, Singularities @subsection gmssing_lib @c lib gmssing.lib @c ---------------------------------------------------------- @node gmspoly_lib, hnoether_lib, gmssing_lib, Singularities @subsection gmspoly_lib @c lib gmspoly.lib @c --------------------------------------------------------- @node hnoether_lib, mondromy_lib, gmspoly_lib, Singularities @subsection hnoether_lib @c lib hnoether.lib @c --------------------------------------------------------- @node mondromy_lib, qhmoduli_lib, hnoether_lib, Singularities @subsection mondromy_lib @c lib mondromy.lib @c --------------------------------------------------------- @node qhmoduli_lib, sing_lib, mondromy_lib, Singularities @subsection qhmoduli_lib @c lib qhmoduli.lib @c ---------------------------------------------------------- @node sing_lib, spcurve_lib, qhmoduli_lib, Singularities @subsection sing_lib @c lib sing.lib @c --------------------------------------------------------- @node spcurve_lib, spectrum_lib, sing_lib, Singularities @subsection spcurve_lib @c lib spcurve.lib @c --------------------------------------------------------- @node spectrum_lib, , spcurve_lib, Singularities @subsection spectrum_lib @c lib spectrum.lib @c ---------------------------------------------------------------------------- @node Invariant theory, Symbolic-numerical solving, Singularities, SINGULAR libraries @section Invariant theory @cindex Invariant theory @menu * finvar_lib:: procedures to compute invariant rings of finite groups * ainvar_lib:: procedures to compute invariants rings of the additive group * rinvar_lib:: procedures to compute invariants ring of reductive groups * stratify_lib:: algorithmic stratification by the Greuel-Pfister algorithm @end menu @c ---------------------------------------------------------- @node finvar_lib, ainvar_lib, Invariant theory, Invariant theory @subsection finvar_lib @c lib finvar.lib @c ---------------------------------------------------------- @node ainvar_lib, rinvar_lib, finvar_lib, Invariant theory @subsection ainvar_lib @c lib ainvar.lib @c ---------------------------------------------------------- @node rinvar_lib, stratify_lib, ainvar_lib, Invariant theory @subsection rinvar_lib @c lib rinvar.lib @c ---------------------------------------------------------- @node stratify_lib, ,rinvar_lib, Invariant theory @subsection stratify_lib @c lib stratify.lib no_ex @c ---------------------------------------------------------------------------- @node Symbolic-numerical solving, Visualization, Invariant theory, SINGULAR libraries @section Symbolic-numerical solving @cindex Symbolic-numerical solving @menu * presolve_lib:: procedures for pre-solving polynomial equations * solve_lib:: procedures to solve polynomial systems * triang_lib:: procedures for decomposing zero-dimensional ideals * ntsolve_lib:: one real solution of polynomial systems (Newton iteration) * zeroset_lib:: procedures for roots and factorization * rootsmr_lib:: counting the number of real roots * rootsur_lib:: counting number of real roots of univariate polynomial * signcond_lib:: computing realizable sign conditions @end menu @c --------------------------------------------------------- @node presolve_lib, solve_lib, Symbolic-numerical solving, Symbolic-numerical solving @subsection presolve_lib @c lib presolve.lib @c --------------------------------------------------------- @node solve_lib, triang_lib, presolve_lib, Symbolic-numerical solving @subsection solve_lib @c lib solve.lib @c --------------------------------------------------------- @node triang_lib, ntsolve_lib, solve_lib, Symbolic-numerical solving @subsection triang_lib @c lib triang.lib no_ex @c --------------------------------------------------------- @node ntsolve_lib, zeroset_lib, triang_lib, Symbolic-numerical solving @subsection ntsolve_lib @c lib ntsolve.lib @c --------------------------------------------------------- @node zeroset_lib,rootsmr_lib , ntsolve_lib, Symbolic-numerical solving @subsection zeroset_lib @c lib zeroset.lib @c --------------------------------------------------------- @node rootsmr_lib, signcond_lib ,zeroset_lib, Symbolic-numerical solving @subsection rootsmr_lib @c lib rootsmr.lib @c --------------------------------------------------------- @node signcond_lib, rootsur_lib, rootsmr_lib, Symbolic-numerical solving @subsection signcond_lib @c lib signcond.lib @c --------------------------------------------------------- @node rootsur_lib, , signcond_lib, Symbolic-numerical solving @subsection rootsur_lib @c lib rootsur.lib @c ---------------------------------------------------------------------------- @node Visualization, Coding theory, Symbolic-numerical solving, SINGULAR libraries @section Visualization @cindex Visualization @menu * graphics_lib:: procedures to draw with Mathematica * latex_lib:: procedures for typesetting in TeX * surf_lib:: interface to the surf programm:: @end menu @c --------------------------------------------------------- @node graphics_lib, latex_lib, Visualization, Visualization @subsection graphics_lib @c lib graphics.lib no_ex @c --------------------------------------------------------- @node latex_lib, surf_lib, graphics_lib, Visualization @subsection latex_lib @c lib latex.lib @c --------------------------------------------------------- @node surf_lib,, latex_lib, Visualization @subsection surf_lib @c lib surf.lib no_ex @c ---------------------------------------------------------------------------- @node Coding theory, System and Control theory, Visualization, SINGULAR libraries @section Coding theory @cindex Coding theory @menu * brnoeth_lib:: Brill-Noether algorithm, Weierstrass semigroups and AG codes @end menu @c --------------------------------------------------------- @node brnoeth_lib, , , Coding theory @subsection brnoeth_lib @c lib brnoeth.lib @c ---------------------------------------------------------------------------- @node System and Control theory, , Coding theory, SINGULAR libraries @section System and Control theory @cindex System and Control theory @cindex Control theory @menu * Control theory background:: An overview of the theory * control_lib:: Algebraic analysis tools for System and Control Theory @end menu @c --------------------------------------------------------- @node Control theory background, control_lib, ,System and Control theory @subsection Control theory background Control systems are usually described by differential (or difference) equations, but their properties of interest are most naturally expressed in terms of the system trajectories (the set of all solutions to the equations). This is formalized by the notion of the system @emph{behavior}. On the other hand, the manipulation of linear system equations can be formalized using algebra, more precisely module theory. The relationship between modules and behaviors is very rich and leads to deep results on system structure. The key to the module-behavior correspondence is a property of some signal spaces that are modules over the ring of differential (or difference) operators, namely, @emph{the injective cogenerator property}. This property makes it possible to translate any statement on the solution spaces that can be expressed in terms of images and kernels, to an equivalent statement on the modules. Thus analytic properties can be identified with algebraic properties, and conversely, the results of manipulating the modules using computer algebra can be re-translated and interpreted using the language of systems theory. This duality (@emph{algebraic analysis}) is widely used in behavioral systems and control theory today. For instance, a system is @strong{controllable} (a fundamental property for any control system) if and only if the associated module is torsion-free. This concept can be refined by the so-called controllability degrees. The strongest form of controllability (@emph{flatness}) corresponds to a projective (or even free) module. Controllability means that one can switch from one system trajectory to another without violating the system law (concatenation of trajectories). For one-dimensional systems (ODE) that evolve in time, this is usually interpreted as switching from a given past trajectory to a desired future trajectory. Thus the system can be forced to behave in an arbitrarily prescribed way. The extreme case opposed to controllability is @strong{autonomy}: autonomous systems evolve independently according to their law, without being influenceable from the outside. Again, the property can be refined in terms of autonomy degrees. @c --------------------------------------------------------- @node control_lib, , Control theory background, System and Control theory @subsection control_lib @c lib control.lib @c ---------------------------------------------------------- @node Release Notes, Index, SINGULAR libraries, Top @chapter Release Notes @cindex Release Notes @include platform.tex @c ---------------------------------------------------------- @node Index, , Release Notes, Top @chapter Index @cindex Index @printindex cp @c --------------------------------------------------------- @c generate table of content and short table of content @contents @bye