Math Libraries and Interactive Tools

Users often ask which mathematics libraries and interactive mathematical tools are "available" on which LC systems. The answer depends on what you regard as availability and on how much customization you need (or are willing to perform). Some mathematics libraries, mostly from commercial vendors, are preinstalled as compiled (object) code. The libraries sometimes overlap. Some routines are optimized and some are not; some are threaded and some are not; some support MPI and some do not; some are portable and some are not; some are single or double precision. Only your own computational needs can determine which of these competing libraries are most appropriate for your work.

Mathematics or numerical libraries are designed to be incorporated into user applications. They contain high-quality implementations of common tasks such as linear algebra solvers or fast Fourier transforms.

In addition to the relatively small set of preinstalled math libraries, there is a much larger set of downloadable source-code math software routines and packages (around 1400 in all) on both OCF (CZ and RZ) and SCF, at the LINMath Web site. This semi-interactive site offers four different collections (SLATEC, PMATH, MSSL, and mssl3) of non-proprietary software, organized by problem type. The software addresses a wide range of mathematical and statistical problem types, from simple (e.g., vector operations) to complex (e.g., differential equation solvers), and represents the result of efforts in the numerical math research community since the 1970s. LINMath also provides links to many other popular math software packages that are available elsewhere. The LINMath routines and packages also overlap somewhat with the commercial libraries (BLAS is an example), so in those cases you must decide which alternative best meets your specific needs.

Interactive mathematical tools are stand-alone applications that can be used for numerical analysis, data analysis, and display. These tools have both a GUI and a command-line interface.

The table below shows at a glance which major libraries and interactive mathematical tools reside on which LC machines. Each library or tool name is a link to more information about that library or tool.

Math Library Description Availability


ATLAS Automatically Tuned Linear Algebra Software Linux See the ATLAS Web site
BLAS Basic Linear Algebra Subroutines Linux
See the BLAS Web site
ESSL IBM Engineering and Scientific Subroutine Library CORAL /usr/tcetmp/packages/essl/essl-<version>/READMES/*.README
See the IBM's ESSL Guide and Reference
FFTW Fast Fourier Library Linux
See the FFTW Web site
GSL GNU Scientific Library Linux See the GNU GSL Web site
LAPACK Dense linear algebra Linux
See the LAPACK Web site
LIBM Standard C math library Linux See the LIBM man page
MKL Intel Math Kernel Library Linux See the documentation directory in /usr/tce/packages/mkl/mkl-<version>
See the Intel MKL Web site
MSSL/mssl3 Mathematics and Statistics Software Library is a collection of (mostly Fortran) routines in source code form   MSSL/mssl3 is available from the LINMath Web site as source code, which you can then move to any machine and compile.
ODEPACK ODEPACK is a collection of Fortran solvers for the initial value problem for ordinary differential equation systems.   See the ODEPACK Web site
PETSc Collection of routines for solving linear systems Linux
See the PETSc Web site
PMATH Machine-independent portable math subroutine library   PMATH is available from the LINMath Web site as source code, which you can then move to any machine and compile.
ScaLAPACK Library of high-performance linear algebra routines for distributed-memory message-passing MIMD computers Linux
See the Scalable Linear Algebra PACKage Web site
SLATEC Comprehensive software library with over 1400 general purpose mathematical and statistical routines written in Fortran 77   SLATEC is available from the LINMath Web site as source code, which you can then move to any machine and compile.
Interactive Math Tool Description Availability


Mathematica Symbolic mathematics tool Linux Within Mathematica; see also the Mathematica vendor Web site
MATLAB A high-level language and interactive environment for numerical computation, visualization, and programming Linux Within MATLAB; see also the MATLAB vendor Web site
Octave High-level language primarily intended for numerical computations Linux Within Octave; see also the GNU Octave Web site