SJSU Singular Matrix Database

### Numerically singular matrices

Matrices in this collection are numerically singular in the sense that for an m by n matrix A in the collection
• the numerical rank of A is less than min(m,n)
• A has at least one small singular value and
• A is very ill conditioned
where
• the numerical rank is defined as the number of calculated singular values of an m by n matrix A that are greater than max(m,n) * eps(norm(A)) where norm(A) indicates the Euclidean norm of A and eps( norm(A) ) is approximately 2.2 x 10 -16 times norm(A);
• by "small singular value" we mean a calculated singular value is less than or equal to max(m,n) * eps(norm(A));
• and by "very ill conditioned" we mean the calculated condition number of A is at least 1 / [ eps * max(m,n) ] where eps = 2-52 ≅ 2.2 x 10 -16.

The above choice of numerical rank uses a tolerance max(m,n) * eps(norm(A)). This is the default tolerance in using Matlab's rank(A) and is often a good choice when the errors in the matrix are due to computer arithmetic.

To calculate the numerical rank using other tolerances one can try spnrank, SJrank or Matlab's rank command. The routine spnrank calculates the numerical rank of a sparse matrix, SJrank calculates the numerical rank using precomputed singular values for problems in this database and Matlab's rank command calculates the numerical rank of a dense matrix.

For all the matrices in this database we include pictures illustrating some or all of the singular value spectrum. Pictures of the singular value spectrum are useful to identify how the numerical rank may change for different choices of tolerance and also to identify whether the calculated numerical rank is "well defined" (see this link). The routine SJplot is also of use to picture the singular value spectrums for matrices in this database.

The difference between numerical rank and the rank used in theoretical mathematics is briefly discussed here .

The "structural rank" and its relation to the numerical rank and the rank used in theoretical mathematics is briefly discussed here .

The calculated numerical rank depends, potentially, on the accuracy of the calculate singular values which is briefly discussed here .

A brief discussion of the selection of the tolerance in calculating numerical rank is here .