Maple-LinBox Package - Project LinBox |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Home Overview News People Download Documentation Developer Links Support GAP homology package Maple-LinBox package Online computing servers |
An entirely new Maple interface is included with LinBox, starting at version 1.1.0.
Please see the LinBox distribution for details.
This replaces an older Maple-LinBox package (version 0.3). Maple-LinBox PackageVersion 1.0 developed by Pascal Giorgi, Table of ContentsDescriptionThe new Maple-LinBox package enables LinBox computation within Maple session. In particular, you can simply call LinBox functionalities (e.g. Determinant, Rank, Minimal Polynomial,...) on Maple matrices. Both computation over the integers and over small prime fields (i.e. at most 26 bits) are currently available. The speedup of LinBox against LinearAlgebra Maple's module is tremendous. it allows for instance the computation of an integer determinant of 400x400 dense matrix with entries lying in [1..100] in only 1.7s on PIV-3.2Ghz while Maple computation turns out to need 536s. RequirementsThis package requires at least version 9 of Maple and version 1.1 of LinBox. All requirements of LinBox library are still necessary to compile the interface. Currently, our interface only supports Linux based system. This is especially due to calling function convention. A Windows compliant version of the interface is still under progress. The interface has not been yet tested on MAC based system. Any report would be appreciated. In summary, you need
Compilation and installationIn order to enable the Maple-LinBox package during LinBox installation, you have to specify the installation directory of Maple to the configure script with the option --with-maple. An example of installation enabling LinBox-Maple interface will look like: The flag --enable-shared is mandatory to enable the compilation of LinBox-Maple interface. Due to the heaviness of the generated library, you can turn off the static compilation of LinBox to save half of the compilation time. This can be achieved with the --disable-static option given to the configure script.
Once you get LinBox compiled and installed, you need to add the newly created LinBox-Maple module to Maple module knowledge. This is achieved by adding the path of the LinBox-Maple module to the "libname" variable of Maple. You can do this permanently by setting this variable in your .mapleinit file located in your home directory (file can be created if it does not exist). This file should contain
where you would have replaced LINBOX_PATH by the installation path of the LinBox library. UsageYou can access the Linbox-Maple functionalities in your Maple session in loading the LinBox Module with the command line with(LinBox); Hence, you get access to five solutions to exact linear algebra problem. namely
For all these functions, you have access to either a computation over the integer or over a small prime field. Here is some examples of use:
Performancesyou can find below some performance comparisons between our LinBox-Maple interface and LinearAlgebra module of Maple. The matrices are dense with integers coefficient lying in [1..100]. Computation are done on a PIV-3.2Ghz, 1Gb RAM.
Known bugsUnfortunately, some bugs present in Maple API lead to problem in our interface. In particular, you can find below a list of known bugs in our interface due to Maple bugs:
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Page prepared by Pascal Giorgi <pascal.giorgi@univ-perp.fr>, This page's URL: http://www.linalg.org/maple-linbox.html Page created: 1 February 2007 Page last updated: 1 February 2007 |