Reliable Open Software-Components for Algebraic and Numeric Efficiency

In the recent past, software development for algebraic computations has been closely related to computer algebra systems (e.g. Maxima, Maple, Mathematica, etc.) the evolution of which follows two patterns: Either the development teams extend the kernel by implementing new functionality using the implementation language, or contributions are made in the programming language featured by the system and added in the default distribution or on the web by the authors. In other words, their evolution tends to be done in a proprietary model.

Several contributions made by researchers are nowadays developed, tested and incorporated into the above mentioned systems. Indeed, the academic community has played an important role in the evolution of those systems. While such contributions benefit to users of a given system (usually the system orginally targetted) they have to be rewritten to fit the framework of another one. In other words, those contributions are very system-dependent (while usually solving system-independent problems) and cannot be used in another context. Moreover, depending on the system, use of a general purpose programming language to implement specialized algorithms may inccur a performance overhead which may not be acceptable in certain applications.

That explains why some specialized packages have florished recently, solving efficiently domain specific tasks. Several of these tools exist as libraries, or interpreters on top of dedicated libraries equipped with a scripting language. It turns out that several of these software are reimplementing similar functionalities, which could be shared. On the other hand, more and more software are built on top of such efficient tools (e.g. GMP, Lapack,...) and their existence is closely related to the evolution of such tools. The connection between all these implementations and the interoperability of existing and future systems and libraries need to be addressed.

The objectives

The specific issues that we would like to address in this proposal are reusability, efficiency, integration and evolutions of algebraic software. In particular, we are interested in promoting the following points:

A support for software publication

One of our objectives is to provide a support for software publication, which is similar to classical scientific publication. This requires on one side to settle down a process for the evaluation of software contributions, on the other hand to facilitate the diffusion of such tools.

Architecture details

Current list of packages



Web sites


The following mailing lists are available: