-
ATLAS (Automatically Tuned Linear Algebra Software)
The ATLAS (Automatically Tuned Linear Algebra
Software) project is an ongoing research effort focusing on applying empirical
techniques in order to provide portable performance. At present, it provides
C and Fortran77 interfaces to a portably efficient
BLAS implementation, as well
as a few routines from
LAPACK.
-
BLAS (Basic Linear Algebra Subroutines)
The BLAS (Basic Linear Algebra Subprograms) are
high quality "building block" routines for performing basic vector and matrix
operations. Level 1 BLAS do vector-vector operations, Level 2 BLAS do matrix-vector
operations, and Level 3 BLAS do matrix-matrix operations. Because the
BLAS are efficient, portable, and widely available, they're commonly used
in the development of high quality linear algebra software,
LINPACK and
LAPACK for example.
-
GMP (GNU Multi Precision arithmetic library)
GMP is a free library for arbitrary precision
arithmetic, operating on signed integers, rational numbers, and floating
point numbers. There is no practical limit to the precision except the ones
implied by the available memory in the machine GMP runs on. GMP has a rich
set of functions, and the functions have a regular interface. It was developed
in C, but there is a C++ interface since the version 4.
-
LAPACK (Linear Algebra PACKage)
LAPACK is written in Fortran77
and provides routines for solving systems of simultaneous linear equations,
least-squares solutions of linear systems of equations, eigenvalue problems,
and singular value problems. The associated matrix factorizations (LU, Cholesky,
QR, SVD, Schur, generalized Schur) are also provided, as are related computations
such as reordering of the Schur factorizations and estimating condition
numbers. Dense and banded matrices are handled, but not general sparse matrices.
In all areas, similar functionality is provided for real and complex matrices,
in both single and double precision.
-
LiDIA
LiDIA is a C++ library for computational number theory
which provides a collection of highly optimized implementations of various
multiprecision data types and time-intensive algorithms. LiDIA is developed
by the LiDIA Group at the Darmstadt University of Technology.
-
LINPACK
LINPACK is a collection of Fortran subroutines that
analyze and solve linear equations and linear least-squares problems. The
package solves linear systems whose matrices are general, banded, symmetric
indefinite, symmetric positive definite, triangular, and tridiagonal square.
In addition, the package computes the QR and singular value decompositions
of rectangular matrices and applies them to least-squares problems. LINPACK
uses column-oriented algorithms to increase efficiency by preserving locality
of reference.
-
NTL (Number Theory Library)
NTL is a high-performance, portable C++
library providing data structures and algorithms for manipulating signed,
arbitrary length integers, and for vectors, matrices, and polynomials over
the integers and over finite fields.