Skip to content

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

Olexandr Konovalov edited this page Jan 28, 2024 · 35 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:

DFG

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

#Parallelization:

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):

#libsing:

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.

People:

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:

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

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)

People:

  • Janko Boehm
  • Yue Ren

#Talks:

#Appendices: