Skip to content

Second Singular GAP developers meeting (Kaiserslautern)

mohamed-barakat edited this page Nov 14, 2011 · 20 revisions

The second Singular-GAP developers meeting (14-18.11.2011, Kaiserslautern)

Welcome to the second Singular-GAP developers meeting.

Participants:

  • Mohamed Barakat (University of Kaiserslautern)
  • Reimer Behrends (University of St Andrews)
  • Christian Eder (University of Kaiserslautern)
  • Max Horn (Braunschweig University)
  • Alexander Konovalov (University of St Andrews)
  • Martin Lee (University of Kaiserslautern)
  • Frank Lübeck (RWTH Aachen University)
  • Oleksandr Motsak (University of Kaiserslautern)
  • Max Neunhöffer (University of St Andrews)
  • Hans Schönemann (University of Kaiserslautern)
  • Andreas Steenpaß (University of Kaiserslautern)

This is to describe the current state of affairs of the GAP package libsingular, mostly as a preparation for the next week in Kaiserslautern.

What works?

  • Compile libsigular and the GAP package, run GAP, load the package
  • The two memory management schemes coexist peacefully within the same process.
  • Call the Singular interpreter from GAP giving it a string to evaluate. (Singular output is collected in a string).
  • Read variables in the Singular interpreter and return their values to GAP. (For the moment, integers, intvecs, intmats and strings are supported).
  • Define a singular polynomial ring from GAP, access its indeterminates. (The ring is represented by a GAP object which references the Singular object.)
  • Define monomials in that ring. (Polynomials are represented by GAP objects which reference the Singular object.)
  • Add and multiply polynomials, multiply polynomials with scalars.
  • Transform a singular polynomial to a string.

What does not yet work?

  • Handling of errors occurring in the Singular interpreter
  • Writing to Singular variables from GAP
  • Polynomial rings with monomial ordering (no fundamental problem visible, just not yet implemented)
  • Other Singular data types represented by GAP objects
  • More arithmetic operations for polynomials
  • There are not yet nice methods installed in GAP using + and * for polynomials.
  • Lots more...

Questions (to be discussed next week):

  • How to handle errors occurring in the Singular interpreter?
  • What Singular data types are to be represented in GAP, for example, do we need "number" or do we use GAP's numbers instead?
  • Is the "current ring" issue in Singular addressed properly?
  • Does the memory management actually work when stressed?
  • Are there possible memory leaks?
  • Do we have any performance issues?

Future directions:

  • Provide everything Mohamed needs for homalg using the integrated libsingular.
  • Implement access to more of Singular's features.
  • Make sure that it is viable to implement higher level algorithms in the GAP language using libsingular objects.
  • Integration of the Singular objects in GAP's object zoo.

What to do next week?

  • Discuss the above questions and possibly others.
  • Discuss the future directions.
  • Solve technical problems.
  • Move on with the implementation.
  • Discuss libsingular with a view to the upcoming parallelized GAP (HPCGAP).