Mohamed Barakat |

Wolfram Decker |

Claus Fieker |

Michael Joswig |

Frank Lübeck |

The proposers of TRR 195 have an impressive track record in driving the advance of computer algebra at all levels. This includes the long term development of, or major contributions to, the world leading open source computer algebra systems GAP, polymake and Singular. These systems provide cutting edge functionality at the forefront of the areas they cover. All have become invaluable tools to many researchers as can be ascertained from the numerous publications citing them. The system ANTIC is much newer with the strong potential rapidly to develop into an essential tool for researchers and users of number theory. These four systems are the cornerstone systems upon which this proposal is based. While each of these cornerstone systems excels in its own area, many applications and theoretical investigations require the sophisticated interaction of these systems.

Thus the ambitious long-term goal S1 of this TRR 195 has been formulated with the view to serve the mathematical community best: Integrate all computer algebra systems, libraries and packages developed within the TRR 195 into a visionary next generation open source computer algebra system surpassing the combined mathematical capabilities of the underlying systems.

The envisaged system will allow users to construct new mathematical objects efficiently by combining existing building blocks from any of the cornerstones and will equip these objects with mathematical capabilities exceeding those of the individual systems in a transparent way.

An important part of this project is to connect each of the components to Julia. For polymake, this is done via the package Polymake.jl. In order to use Polymake.jl, one needs to have the most recent snapshot of polymake installed. Then proceed as follows:

- Export the location of the polymake-config script:
`export POLYMAKE_CONFIG=/path/to/polymake/bin/polymake-config`

- Open Julia and add Polymake.jl. In Julia press "]", then

`add https://github.com/oscar-system/Polymake.jl`

- Use polymake from Julia. For example:

`julia> using Polymake;`

polymake version 3.2

Copyright (c) 1997-2018

Ewgenij Gawrilow, Michael Joswig (TU Berlin)

http://www.polymake.org

This is free software licensed under GPL; see the source for copying conditions.

There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

julia> P = perlobj("Polytope", POINTS=[1 1 1; 0 0 1; 0 2 1])

type: Polytope

POINTS

1 1 1

0 0 1

0 1 1/2

julia> P.FACETS

polymake: used package cdd

cddlib

Implementation of the double description method of Motzkin et al.

Copyright by Komei Fukuda.

http://www-oldurls.inf.ethz.ch/personal/fukudak/cdd_home/

polymake: used package ppl

The Parma Polyhedra Library (PPL): A C++ library for convex polyhedra

and other numerical abstractions.

http://www.cs.unipr.it/ppl/

pm::Matrix

-1 1 0

-1 -1 2

1 0 0

julia>

From 2018-11-26 to 2018-11-30 there will be an OSCAR coding sprint at TU Berlin. Please have a look at the meeting page for further information.

- GAP 4.10.0, 2018
- Polymake 3.2, 2018
- Singular 4.1.1, 2018