Sparse Polynomial Arithmetic

roman_pearce's picture

I am pleased (and terrified) to announce the first public release of a Maple library for high performance sparse polynomial arithmetic. This C library and Maple interface is under development at Simon Fraser University in Vancouver, Canada. We are releasing this interim version so that Maple enthusiasts and researchers can try it. Maple 11 is required.

Comments

acer's picture

system/ssystem?

Hi Roman,

Is enabling system/ssystem calls only necessary to install it? Or is it required in order to run the package (and if so, why, may I ask)?

What's the story behind the commented-out free_memory() call in the ModuleUnload of module sdmp? Does the compiled shared object do its own memory management, and if so why, and what would happen if it couldn't free on restart?

Have you considered distributing the mpl sources in a .mla file, and the .mw as an embedded help-page within a .hdb file? Have you considered using InstallerBuilder from Maple to create a self-installing .mla (container, which unpacks the various files)?

How about putting the materials under a subdirectory of <MAPLE>/toolbox/ , so that .mla/.hdb and bin.<archname> get found automagically by the maple kernel?

acer

roman_pearce's picture

ssystem / memory

The included worksheet uses the currentdir command to change Maple's working directory so that the library can be loaded. Nothing is installed. If you wanted to install it you could copy the dynamic library to the appropriate directory in your Maple installation and save the sdmp module and `type/SDMP` and `print/SDMP` to a Maple repository.

As for memory, the library allocates its own memory and it retains some in between calls to speed up calculations. You can free this memory at any time by calling sdmp:-free_memory(). It is commented out in ModuleUnload because if you read in sdmp.mpl twice then the library can crash itself (two copies of the module are in Maple's memory and the first one can free memory that is being used by the other).

As for the other questions, the answer is generally no, although I appreciate your good suggestions. This library is by no means complete, and we are just putting out an interim version so that people who are interested can use it.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
}