3rd Singular Polymake GAP meeting, 27 31. August 2012, St Andrews

malex984 edited this page Jan 7, 2013 · 34 revisions

Welcome to the 3rd Singular-Polymake-GAP meeting (27-31 August 2012, St Andrews). This meeting is a continuation of an ongoing effort to coordinate the rapid development of the three major computer algebra systems involved in the DFG Special Priority Program 1489 (http://www.computeralgebra.de/). During this meeting we will follow three goals.

Sponsored by:


SPP-1489: Algorithmic and experimental methods in algebra, geometry and number theory


Coordinate the parallelization of GAP (http://www-circa.mcs.st-andrews.ac.uk/hpcgap.php) and Singular.

Topics (parallelization):

  • new developments in Singular and GAP
  • Memory management
  • Signal handling
  • Thread safety for data structures and algorithms and multi-threaded parallelization:
    • omalloc (todo by Christian)
    • factory (too difficult according to Hans!)
    • introduce TLS and move global variables into TLS (or eliminate them), e.g. due to xthread

Status: Oleksandr made the example code by Reimer Behrends into a new stand-alone (autotoolized) library xthread, which can now be further extended for the purpose of Singular-spielwiese (and its interdependent libraries).

People (parallelization):


Continue the development of the GAP-package libsing which links Singular as a library into GAP.

Structure: GAP-package libsing.so -> C -> C++ -> libsingular.so

  • call Singular interpreter (access objects in global variables, involves copying)
  • table-based access to Singular functions
  • low-level access
  • some constructors (GAP <-> Sing)

Topics (libsing):

  • wrap Singular's data structures available in GAP
  • automatic population of tables
  • ...

People (libsing):

#libsing (based on spielwiese):

Continue the adaptation of the GAP-package libsing (which links Singular as a library into GAP) on Singular-spielwiese.


Status: Oleksandr continued updating the mercurial branch spielwiese by merging the new default-developments in there. It is fully functional and seems to be equivalent to the default branch of libsing now.


lmonade (http://www.lmona.de/) is a common distribution including Singular, Polymake, and GAP; the computer algebra systems involved in the DFG Special Priority Program 1489.

Topics (lmonade):

  • include the GAP-package libsing
  • Yue's Singular -> polymake interface
  • Sebastian's GAP -> polymake interface
  • Benjamin's polymake -> Singular interface (stable?)
  • the newest version of Singular 3-1-5, Polymake 2.12, and GAP 4.5.5.
  • a virtual machine for Windows
  • produce convincing showcases simultaneously using several systems in lmonade.

Status report is available on the lmonade wiki.

People (lmonade):


LibGAP is a project to build the GAP kernel as a C shared library. This then allows 3rd party code to use GAP from C code. It includes:

  • New (pure autotools) buildsystem for the GAP kernel.
  • Added hooks for input, output, and errors in the GAP kernel.
  • A Cython wrapper for use in Sage. A repository of the current status is here: https://bitbucket.org/vbraun/libgap

People (libGAP):

#Mathematical applications for the interaction of Gap, Polymake and Singular

(see https://github.com/Singular/Sources/wiki/Gap-Polymake-Singular-Applications)


  • Janko Boehm
  • Yue Ren



Clone this wiki locally
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.