SINGULAR is a Computer Algebra System for polynomial computations with special emphasis on the needs of commutative algebra, algebraic geometry, and singularity theory.
Singular provides
- highly efficient core algorithms,
- a multitude of advanced algorithms in the above fields,
- an intuitive, C-like programming language,
- easy ways to make it user-extendible through libraries, and
- a comprehensive online manual and help function.
Its main computational objects are ideals, modules and matrices over a large number of baserings. These include
- polynomial rings over various ground fields and some rings (including the integers),
- localizations of the above,
- a general class of non-commutative algebras (including the exterior algebra and the Weyl algebra),
- quotient rings of the above,
- tensor products of the above.
Singular's core algorithms handle
- Gröbner resp. standard bases and free resolutions,
- polynomial factorization,
- resultants, characteristic sets, and numerical root finding.
Its advanced algorithms, contained in currently more than 90 libraries, address topics such as absolute factorization, algebraic D-modules, classification of singularities, deformation theory, Gauss-Manin systems, Hamburger-Noether (Puiseux) development, invariant theory, (non-) commutative homological algebra, normalization, primary decomposition, resolution of singularities, and sheaf cohomology.