A GAP interface to Singular

Version 0.7.2

This project is maintained by Mohamed Barakat, Max Horn, Frank Lübeck

GAP Package SingularInterface

The SingularInterface package provides a GAP interface to Singular, enabling direct access to the complete functionality of Singular.

The current version of this package is version 0.7.2. For more information, please refer to the package manual. There is also a README file.


This package requires at least GAP 4.7.2 as well as Singular 4.0.1.

The following additional GAP packages are not required, but suggested:

Obtaining the SingularInterface source code

The easiest way to obtain SingularInterface is to download the latest version using one of the download buttons on the left.

If you would like to use the very latest “bleeding edge” version of SingularInterface, you can also do so, but you will need some additional tools:

must be installed on your system. You can then clone the SingularInterface repository as follows:

git clone

Installing SingularInterface

SingularInterface requires Singular 4.0.1 or later, and that Singular and GAP are compiled against the exact same version of the GMP library.

The easiest way to achieve that is to compile Singular yourself, telling it to link against GAP’s version of GMP.

Therefore, usually the first step towards compiling SingularInterface is to build such a special version of Singular. The following instructions should get you going.

  1. Fetch the Singular source code. For your convenience, we provide two shell scripts which do this for you. If you want to use Singular 4.0.1, run

    If you want the development version run

  2. Prepare Singular for compilation. At this point, you need to know against which version of GMP your GAP library was linked: If it is a GMP version installed globally on your system, simply run:

    If it is the version of GMP shipped with GAP, run this instead:

    ./configuresingular --with-gmp=GAPDIR/bin/GAPARCH/extern/gmp

    where GAPDIR should be replaced with the path to your GAP installation, and GAPARCH by the value of the GAParch variable in GAPDIR/

  3. Compile Singular by running
  4. Now we turn to SingularInterface. If you are using the git version of SingularInterface, you need to setup its build system first. To do this, run this command:
  5. Prepare SingularInterface for compilation, by running
    ./configure --with-gaproot=GAPDIR \
                 --with-libSingular=$PWD/singular/dst \

    where you should replace GAP_DIR as above. If you know what you do, you can change your CONFIGNAME (but note that SingularInterface can only be used with 64 bit versions of GAP).

  6. Compile SingularInterface:
  7. To make sure everything worked, run the test suite
    make check


You can contact the SingularInterface team by sending an email to

gapsing AT mathematik DOT uni-kl DOT de

Bug reports and code contributions are highly welcome and can be submitted via our GitHub issues tracker respectively via pull requests.


Mohamed Barakat, Max Horn, Frank Lübeck, Oleksandr Motsak, Max Neunhoeffer, Hans Schoenemann


For bug reports, feature requests and suggestions, please use the issue tracker.