Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
Second Singular GAP developers meeting (Kaiserslautern)
The second Singular-GAP developers meeting, 14-18.11.2011, Kaiserslautern
Welcome to the second Singular-GAP developers meeting in Kaiserslautern.
Starting from Tuesday we will meet in room number 419, building 48.
- Mohamed Barakat (University of Kaiserslautern) -- Customer #1
- 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.
- Compile libsingular 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?
- Provide everything Mohamed needs for homalg using the integrated libsingular (update: as external rings -- works!).
- 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 this 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).
Program for the week:
- Plan the future development
- give an overview of what already works (Max N.)
- discuss error handling in Singular (Max N. + Hans)
- homalg's external wish list (short) (Mohamed) -> works!
- homalg's internal wish list (long) (Mohamed)
- which Singular objects make sense in GAP, all?
- stress tests
- integration of Singular objects
- interpret Singular libraries in GAP (example: groebner)
- Reimer gave a wonderful talk. Thanks Reimer.
hg clone ssh://email@example.com/libsingular
For this to work please send Max N. your ssh-public key: Max Neunhöffer firstname.lastname@example.org
Further Github wikis
Singular: How to contribute