Hi there,

as mentioned earlier I am visiting the Singular team this week in 
Kaiserslautern. On the technical side we worked on 

- updating to Singular 3-1-04 where it was very valuable to have both Sage and 
Singular developers within shouting distance, 

- updating to PolyBoRi 0.6 which wouldn't have been possible without the two 
teams present in person (we had to change both sides to make it work)

- better integration of libSingular which soon will allow calling Singular 
library functions (not written in C) via libSingular, cf. libgap (Michael 
Brickenstein is working on this)

- other convenient stuff like fast normal forms and docstring extraction.

== new mailinglist ==

Right now I am the main person working on linking against Singular on a C/C++ 
level. This is insufficient, well, because I don't get enough stuff done. To 
support the development we started a new mailing list [libsingular-devel] at

  http://groups.google.com/group/libsingular-devel

which should host discussions between Sage and Singular and anyone interested 
in linking against Singular. At first the name [sage-singular] was suggested 
but we figured we should keep it more open to other projects as well. 

So if there is stuff in Singular which you'd like to see properly wrapped in 
Sage, this is the mailing list to discuss it etc. Examples of this are: 

- submodules of free modules over polynomial rings, 
- non-commutative algebras, 
- quotient rings, 
- rational function fields
- etc.

Btw. I am also currently refactoring the libSingular stuff to make it easier 
to accomplish the above, cf. http://trac.sagemath.org/sage_trac/ticket/6596

== coercion ==

The Singular team is thinking about a C++ wrapper for their native data 
structures (and others) to make development in the Singular kernel easier. 
Thus we discussed how we wrap Singular in our object oriented structure in 
Sage. One point of interest was the coercion system. 

Robert, David, etc. are the 'rules' used for coercion written up somewhere or 
would one have to read the code to 'get' it? By rules I mean how to find a 
common ring for two rings etc.

== credit ==

The situation with giving credit was again a topic of discussion. There are no 
hard feelings: the Singular team knows that we are doing what we can to give 
'upstream' credit. However, it is a permanent concern not only for them. 

Btw. didn't we have some experimental patch at some point which would try to 
trace the subsystems involved in a calculation?
 
== other ideas ==

An idea which wasn't really discussed but mentioned was to use a re-branded 
stand-alone Sage notebook as the Singular GUI. Furthermore the option of 
making Sage's Cython interface to Singular more independent was briefly 
discussed. All this stuff is far from being settled, just ideas to play with.

Cheers,
Martin

PS: My final slides are available at http://bit.ly/ng3Xl
-- 
name: Martin Albrecht
_pgp: http://pgp.mit.edu:11371/pks/lookup?op=get&search=0x8EF0DC99
_otr: 47F43D1A 5D68C36F 468BAEBA 640E8856 D7951CCF
_www: http://www.informatik.uni-bremen.de/~malb
_jab: [email protected]



--~--~---------~--~----~------------~-------~--~----~
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at http://groups.google.com/group/sage-devel
URLs: http://www.sagemath.org
-~----------~----~----~----~------~----~------~--~---

Reply via email to