Next
Previous
Contents
Computations
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
gauss.math.tifr.res.in, a Xeon at 2.4 GHz with 2560 MB of RAM.
Below there is a list of the software installed in
gauss.math.tifr.res.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
LiDIA
Description: library of primes for computations.
Macaulay
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
Singular
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
hecke
Description: a program for computations in Number Theory.
kbmag
Description: The Knuth--Bendix Program for Monoids
More
documentation in DVI format
More
documentation in PS format
mathematica
Description: a program to do all sort of mathematical computations.
Documentation is available on the program itself.
porta
Description: Porta is a collection of routines for analyzing
polytopes and polyhedra.
More
documentation
maxima
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
pi
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.
yacas
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
snappea
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
magnus
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
gap
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
atlas2
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
glpk
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:
- Revised simplex method.
- Primal-dual interior point method.
- Branch-and-bound method.
- Translator for GNU MathProg.
- Application program interface (API).
- Stand-alone LP/MIP solver.
More
documentation
python-fixedpoint
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
bc
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
pari-gp
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.
evolver
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.
gmp-ecm
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
qhull-bin
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 (http://www.geomview.org).
Web site
python-gnuplot
Description: A Python interface to the gnuplot plotting program
Gnuplot.py 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
scilab
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
pari-extra
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.
dc
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
python-numeric
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
- Efficient arrays of homogeneous machine types (floats, longs,
complex doubles)
- Arbitrary number of dimensions
- Sophisticated structural operations
- Universal Function Objects
- Support mathematical functions on all Python objects
- Very efficient for array objects
More
documentation
axiom
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.
geomview
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
circlepack
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
gsl
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
lp-solve
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
plotutils
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
gnuplot
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