.. _spkg_singular:

singular: Computer algebra system for polynomial computations, algebraic geometry, singularity theory
=====================================================================================================

Description
-----------

Singular is a computer algebra system for polynomial computations, with
special emphasis on commutative and non-commutative algebra, algebraic
geometry, and singularity theory.

License
-------

GPLv2 or GPLv3

Upstream Contact
----------------

libsingular-devel@mathematik.uni-kl.de

https://www.singular.uni-kl.de/

Special Update/Build Instructions
---------------------------------

Other notes:

-  If the environment variable SAGE_DEBUG is set to "yes", then
   omalloc will be replaced by xalloc. The resulting Singular executable
   and libsingular library will be slower than with omalloc, but allow
   for easier debugging of memory corruptions.

Type
----

standard


Dependencies
------------

- $(MP_LIBRARY)
- :ref:`spkg_ntl`
- :ref:`spkg_flint`
- :ref:`spkg_readline`
- :ref:`spkg_mpfr`
- :ref:`spkg_cddlib`

Version Information
-------------------

package-version.txt::

    4.3.1p1


Equivalent System Packages
--------------------------

arch:

.. CODE-BLOCK:: bash

    $ sudo pacman -S  singular


conda:

.. CODE-BLOCK:: bash

    $ conda install  singular


cygwin:

.. CODE-BLOCK:: bash

    $ apt-cyg install singular-devel singular


Debian/Ubuntu:

.. CODE-BLOCK:: bash

    $ sudo apt-get install  singular singular-doc libsingular4-dev


Fedora/Redhat/CentOS:

.. CODE-BLOCK:: bash

    $ sudo yum install  Singular Singular-devel


freebsd:

.. CODE-BLOCK:: bash

    $ sudo pkg install math/singular


gentoo:

.. CODE-BLOCK:: bash

    $ sudo emerge sci-mathematics/singular[readline]


homebrew:

.. CODE-BLOCK:: bash

    $ brew install singular


macports:
install the following packages: singular

nix:

.. CODE-BLOCK:: bash

    $ nix-env --install singular


void:

.. CODE-BLOCK:: bash

    $ sudo xbps-install  singular


See https://repology.org/project/singular/versions


If the system package is installed, ./configure will check whether it can be used.

