Next Previous Contents


Some general remarks

If you have some small computation most likely you will find the tools in the computer in your office are enough for it (mathematica for basic computations gives decent results in any computer; bc is some powerful calculator that accepts numbers in different bases). Some other computers, called compute1 to compute4, have more recent versions of computational software. You can ssh to them and do your computations there. These are aliases for the fastest four machines in the offices and computer room. If you need a to perform some big computation, then you can use the machine called, a Xeon at 2.4 GHz with 2560 MB of RAM.

Below there is a list of the software installed in and most likely in the compute1 to compute4 machines. Rather than giving lots of information in this document, I have put links to other sites where you can find more details.

List of Packages

Description: library of primes for computations.

Description: Macaulay 2 is a software system devoted to supporting research in algebraic geometry and commutative algebra.

More documentation (for Macaulay 0.8.99) and DVI file on Using Macaulay2 by D. Eisenbud, D.R. Grayson and M.E. Stillman

Description: SINGULAR is a Computer Algebra system for polynomial computations with special emphasize on the needs of commutative algebra, algebraic geometry, singularity theory and polynomial system solving.

More documentation

Description: a program for computations in Number Theory.

Description: The Knuth--Bendix Program for Monoids

More documentation in DVI format    More documentation in PS format

Description: a program to do all sort of mathematical computations.
Documentation is available on the program itself.

Description: Porta is a collection of routines for analyzing polytopes and polyhedra.

More documentation

Description: A fairly complete computer algebra system-- base system This system MAXIMA is a COMMON LISP implementation due to William F. Schelter, and is based on the original implementation of Macsyma at MIT, as distributed by the Department of Energy. I now have permission from DOE to make derivative copies, and in particular to distribute it under the GNU public license.
The X-windows interface is called xmaxima

More documentation

Description: Compute Archimedes' constant Pi to arbitrary precision This is a teaser for the CLN library, to which the actual computation is delegated. You may use these decimal digits as random digits or search them for hidden messages.

Description: Computer Algebra System Yet Another Computer Algebra System is a small and highly flexible computer algebra language.
The syntax is very close to Mathematica. The distribution contains a small library of mathematical functions, but its real strength is in the language in which you can easily write your own symbolic manipulation algorithms. It supports arbitrary precision arithmetic.

More documentation

Description: A program for creating and studying hyperbolic 3-manifolds SnapPea is Jeff Weeks' computational tool for mathematicians working in low-dimensional topology. It is used for creating and studying hyperbolic 3-manifolds, and is accessible via Python scripts as well as through a traditional graphical user interface.

More documentation

Description: Computational group theory software with GUI The MAGNUS computational group theory package is an innovative symbolic algebra package providing facilities for doing calculations in and about infinite groups. Almost all symbolic algebra systems are oriented toward finite computations that are guaranteed to produce answers, given enough time and resources. By contrast, MAGNUS is concerned with experiments and computations on infinite groups which in some cases are known to terminate, while in others are known to be generally recursively unsolvable.
MAGNUS features an intuitive graphical user interface, facilities for running different algorithms on the same problem in parallel, generation of approximations for working on otherwise infeasible problems, genetic algorithms and a plug-in package manager.

More documentation

Description: Groups, Algorithms and Programming computer algebra system GAP is a system for computational discrete algebra with particular emphasis on computational group theory, but which has already proved useful also in other areas. In the example text, gap is used to analyse Rubik's Cube using group theory. A kernel implements a Pascal-like language.

Web page     More documentation

Description: Automatically Tuned Linear Algebra Software,generic shared ATLAS is an approach for the automatic generation and optimization of numerical software. Currently ATLAS supplies optimized versions for the complete set of linear algebra kernels known as the Basic Linear Algebra Subroutines (BLAS), and a subset of the linear algebra routines in the LAPACK library.
The libraries in this package are built without any processor extension instructions, and should run on all processors of this general architecture, albeit less than optimally.
On some architectures, multiple binary packages are provided to take advantage of certain commonly available processor instruction set extensions. The instruction extension set used is indicated in the package name, with 'base' denoting no extensions. In general, you will obtain the best performance by installing the package with the most advanced isntruction extension set your machine is capable of running.

Web page

Description: Linear programming kit with integer (MIP) support GLPK (GNU Linear Programming Kit) is intended for solving large-scale linear programming (LP), mixed integer programming (MIP), and other related problems. It is a set of routines written in ANSI C and organized in the form of a callable library.
GLPK supports the GNU MathProg language, which is a subset of the AMPL language. GLPK also supports the standard MPS and LP formats.
The GLPK package includes the following main components:
More documentation

Description: A fixed point math object for python (2.3.x) This module provides a fixed point math object for python for monetary applications.
This package is built for Python 2.3.x

More documentation

Description: The GNU bc arbitrary precision calculator language GNU bc is an interactive algebraic language with arbitrary precision which follows the POSIX 1003.2 draft standard, with several extensions including multi-character variable names, an `else' statement and full Boolean expressions. GNU bc does not require the separate GNU dc program.

More documentation

Description: PARI/GP Computer Algebra System PARI/GP is a widely used computer algebra system designed for fast computations in number theory (factorizations, algebraic number theory, elliptic curves...), but also contains a large number of other useful functions to compute with mathematical entities such as matrices, polynomials, power series, algebraic numbers, etc., and a lot of transcendental functions. PARI is also available as a C library to allow for faster computations.
Originally developed by Henri Cohen and his co-workers (University Bordeaux I, France), PARI is now under the GPL and maintained by Karim Belabas (University Paris XI, France) with the help of many volunteer contributors.

Description: Surface Evolver The Surface Evolver is an interactive program for the study of surfaces shaped by surface tension and other energies, and subject to various constraints.

Description: Factor integers using the Elliptic Curve Method gmp-ecm is a free implementation of the Elliptic Curve Method (ECM) for integer factorization.
The original purpose of the ECMNET project was to make Richard Brent's prediction true, i.e. to find a factor of 50 digits or more by ECM. This goal was attained on September 14, 1998, when Conrad Curry found a 53-digit factor of 2^677-1 c150 using George Woltman's mprime program. The new goal of ECMNET is now to find other large factors by ecm, mainly by contributing to the Cunningham project, most likely the longest, ongoing computational project in history according to Bob Silverman. A new record was set by Nik Lygeros and Michel Mizony, who found in December 1999 a prime factor of 54 digits using GMP-ECM.

Web page

Description: Calculate convex hulls and related structures (utilities) Qhull computes convex hulls, Delaunay triangulations, halfspace intersections about a point, Voronoi diagrams, furthest-site Delaunay triangulations, and furthest-site Voronoi diagrams. It runs in 2-d, 3-d, 4-d, and higher dimensions.
This package contains the qhull executable that gives a pipe interface to some of the functionality of the library. Also included is rbox is a useful tool in generating input for Qhull; it generates hypercubes, diamonds, cones, circles, simplices, spirals, lattices, and random points.
Qhull produces graphical output for Geomview. This helps with understanding the output (

Web site

Description: A Python interface to the gnuplot plotting program is a Python module that interfaces to gnuplot, the popular plotting program. It allows you to use gnuplot from within Python to plot arrays of data from memory, data files, or mathematical functions. If you use Python to perform computations or as `glue' for numerical programs, you can use this module to plot data on the fly as they are computed. And the combination with Python makes it is easy to automate things, including to create crude `animations' by plotting different datasets one after another.

More Documentation

Description: Matrix-based scientific software package (a la Matlab and Xmath) Scilab is a matrix-based scientific software package resembling Matlab and Xmath. Scilab contains hundreds of built-in mathematical functions, rich data structures (including polynomials, rationals,linear systems, lists, etc...) and comes with a number of specific toolboxes for control, signal processing, ...

More documentation

Description: PARI/GP Computer Algebra System extra data files PARI/GP is a widely used computer algebra system designed for fast computations in number theory (factorizations, algebraic number theory, elliptic curves...), but also contains a large number of other useful functions to compute with mathematical entities such as matrices, polynomials, power series, algebraic numbers, etc., and a lot of transcendental functions. PARI is also available as a C library to allow for faster computations.
Originally developed by Henri Cohen and his co-workers (Université Bordeaux I, France), PARI is now under the GPL and maintained by Karim Belabas (Université Paris XI, France) with the help of many volunteer contributors.
This package contains extra data files for PARI/GP, currently the Galois resolvants for the polgalois function.

Description: The GNU dc arbitrary precision reverse-polish calculator GNU dc is a reverse-polish desk calculator which supports unlimited precision arithmetic. It also allows you to define and call macros.
A reverse-polish calculator stores numbers on a stack. Entering a number pushes it on the stack. Arithmetic operations pop arguments off the stack and push the results.

More documentation

Description: Numerical (matrix-oriented) Mathematics for Python The Numeric Extensions to Python (NumPy) add powerful multi-dimensional array objects to the wonderful general purpose programming language Python. These new objects give Python the number crunching power of numeric languages like Matlab and IDL while maintaining all of the advantages of the general-purpose programming language Python.
These extensions add two new object types to Python, and then include a number of extensions that take advantage of these two new objects:
- Multidimensional Array Objects - Universal Function Objects

More documentation

Description: A general purpose computer algebra system Axiom is useful for research and development of mathematical algorithms. It defines a strongly typed, mathematically correct type hierarchy. It has a programming language and a built-in compiler.
Axiom has been in development since 1973 and was sold as a commercial product. It has been released as free software.
Efforts are underway to extend this software to (a) develop a better user interface (b) make it useful as a teaching tool (c) develop an algebra server protocol (d) integrate additional mathematics (e) rebuild the algebra in a literate programming style (f) integrate logic programming (g) develop an Axiom Journal with refereed submissions.

Description: interactive geometry viewing program Geomview is interactive geometry software which is particularly appropriate for mathematics research and education. In particular, geomview can display things in hyperbolic and spherical space as well as Euclidean space.
Modules that rely on the non-free libforms library are not included.
Geomview allows multiple independently controllable objects and cameras. It provides interactive control for motion, appearances (including lighting, shading, and materials), picking on an object, edge or vertex level, snapshots in SGI image file or Renderman RIB format, and adding or deleting objects is provided through direct mouse manipulation, control panels, and keyboard shortcuts. External programs can drive desired aspects of the viewer (such as continually loading changing geometry or controlling the motion of certain objects) while allowing interactive control of everything else.

Web page    More documentation

Description: creation and display of circle packings CirclePack is a C program for the creation, display, manipulation, and storage of circle packings using the X Window System. Computations may be done in either hyperbolic, Euclidean, or spherical geometry, though the routines for the latter are not yet complete. For the theory behind the package, one must consult the research literature. One of the author's primary interests concerns the parallels between the developing theory of circle packings and the classical theory of analytic functions.

Web page    More documentation

Description: The GNU Scientific Library (GSL) -- binary package The GNU Scientific Library (GSL) is a collection of routines for numerical analysis. The routines are written from scratch by the GSL team in C, and present a modern API for C programmers, while allowing wrappers to be written for very high level languages.
This package provides several example binaries.

More documentation in HTML format    More documentation in PS format

Description: Solve (mixed integer) linear programming problems The linear programming (LP) problem can be formulated as: Solve A.x >= V1, with V2.x maximal. A is a matrix, x a vector of (nonnegative) variables, V1 a vector called the right hand side, and V2 a vector specifying the objective function.
An integer linear programming (ILP) problem is an LP with the constraint that all the variables are integers. In a mixed integer linear programming (MILP) problem, some of the variables are integer and others are real.
The program lp_solve solves LP, ILP, and MILP problems. It is slightly more general than suggested above, in that every row of A (specifying one constraint) can have its own (in)equality, <=, >= or =. The result specifies values for all variables.
lp_solve uses the 'Simplex' algorithm and sparse matrix methods for pure LP problems. If one or more of the variables is declared integer, the Simplex algorithm is iterated with a branch and bound algorithm, until the desired optimal solution is found. lp_solve can read MPS format input files.

More documentation

Description: The GNU plotutils (plotting utilities) package The GNU plotting utilities include programs for plotting two-dimensional scientific data. They are built on top of GNU `libplot', a library for device-independent two-dimensional vector graphics.

More documentation

Description: A command-line driven interactive plotting program package for making 2D and 3D graphs from data and functions. Supports lots of output formats, including drivers for many printers, (La)TeX, (x)fig, X11, PostScript, and so on.
Data files and self-defined functions can be manipulated by internal C-like language. Can perform smoothing, spline-fitting, or nonlinear fits. Can work with complex numbers.
Next Previous Contents