# test_mat

test_mat, a FORTRAN90 code which defines test matrices for which the condition number, determinant, eigenvalues, eigenvectors, inverse, null vectors, P*L*U factorization or linear system solution are known. Examples include the Fibonacci, Hilbert, Redheffer, Vandermonde, Wathen and Wilkinson matrices.

A wide range of matrix dimensions, forms and properties are available. These matrices may be useful in testing an algorithm for correctness on a variety of problems.

Some matrices can be rectangular, with the user specifying the number of rows and columns. Almost all the matrices can be made of arbitrary size, with the user specifying the dimension.

Different matrix zero structures are available, including diagonal, bidiagonal, tridiagonal, pentadiagonal, banded, upper and lower triangular, and Hessenberg.

Different matrix symmetry patterns are available, including symmetric, antisymmetric, persymmetric, circulant, Toeplitz, and Hankel.

Some matrices come from a MATLAB M file collection developed by Nicholas Higham, Department of Mathematics, University of Manchester.

An earlier version of the collection is available, again as MATLAB M files, in ACM TOMS Algorithm 694, in the TOMS directory of the NETLIB web site.

Some matrices are available at https://math.nist.gov, the Matrix Market web site.

### Languages:

test_mat is available in a C version and a C++ version and a FORTRAN90 version and a MATLAB version and an Octave version and a Python version.

### Related Data and Programs:

ARPACK, a FORTRAN90 code which computes eigenvalues for large matrices;

CG, a FORTRAN90 code which implements a simple version of the conjugate gradient (CG) method for solving a system of linear equations of the form A*x=b, suitable for situations in which the matrix A is positive definite (only real, positive eigenvalues) and symmetric.

CONDITION, a FORTRAN90 code which implements methods of computing or estimating the condition number of a matrix.

EISPACK, a FORTRAN90 code which carries out eigenvalue computations; superseded by LAPACK;

JACOBI_EIGENVALUE, a FORTRAN90 code which implements the Jacobi iteration for the iterative determination of the eigenvalues and eigenvectors of a real symmetric matrix.

LAPACK_EXAMPLES, a FORTRAN90 code which demonstrates the use of the LAPACK linear algebra library.

LINPACK, a FORTRAN90 code which factors and solves systems of linear equations in a variety of formats and arithmetic types.

TEST_EIGEN, a FORTRAN90 code which implements test matrices for eigenvalue analysis.

TEST_MATRIX_EXPONENTIAL, a FORTRAN90 code which defines a set of test cases for computing the matrix exponential.

wathen, a FORTRAN90 code which compares storage schemes (full, banded, sparse triplet) and solution strategies (Linpack full, Linpack banded, conjugate gradient) for linear systems involving the Wathen matrix, which can arise when solving a problem using the finite element method (FEM).

### Source Code:

Last revised on 19 December 2019.