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

Versions

Documentation

ACML AMD Core Math Library Linux 4.4.0, 5.0.0, 5.3.1
(gfortran, ifort, pgi)
/usr/local/tools/acml-<compiler>-<version>/doc
See the AMD ACML Web site
ATLAS Automatically Tuned Linear Algebra Software Linux 3.8.4 See the ATLAS Web site
BLAS Basic Linear Algebra Subroutines Linux
BG/Q

 
See ATLAS, MKL, or ACML (Linux); ESSL (BG/Q)
See the BLAS Web site
ESSL IBM Engineering and Scientific Subroutine Library BG/Q 5.1 /usr/local/tools/essl/<version>/README.esslbgq
See the IBM's ESSL Guide and Reference
FFTW Fast Fourier Library Linux
BG/Q
2.1.5, 3.3.2, 3.3.3.2
2.1.5, 3.3.1, 3.3.3
See the FFTW Web site

See ESSL or /usr/local/doc/BGQ/Libraries.html (BG/Q)
GSL GNU Scientific Library Linux 1.13  See the GNU GSL Web site
IPP Intel Performance Primitives are optimized scientific routines for data processing, signal processing, and image and video processing Linux   See the Intel IPP Web site
LAPACK Dense linear algebra Linux
BG/Q
  See ATLAS, MKL, or ACML Linux; ESSL (BG/Q)
See the LAPACK Web site
LIBM Standard C math library Linux   See the LIBM man page
MASS Math Acceleration SubSystem (IBM) includes high performance versions of many of the double-precision routines from LIBM BG/Q   See the IBM Mathematical Acceleration Subsystem for Blue Gene Web site
MKL Intel Math Kernel Library Linux 9.1.023, 10.1.1.019, 10.2.4.032,
10.3.1, 10.3.8, 10.3.11,
11.0.0, 11.0.3, 11.1.3
See the doc or Documentation directory in /usr/local/tools/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
BG/Q
3.0.0, 3.2, 3.4.3
3.4.0
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
BG/Q
  See MKL (Linux); /usr/local/tools/scalapack/README (BG/Q)
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

Versions

Documentation

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