Skip to the content of the web site.

Integer matrices with integer singular values

If you find this useful or would be interested in providing feedback and suggestions, please let me know at dwharder@gmail.com. See my other related pages on nice eigenvalue decompositions (eigendecompositions), integer matrices with integer eigenvalues, integer matrices with integer singular values, integer-normed vectors, integer-normed complex vectors, geometric sequences with nice norms.


Many matrices with integer singular values.

When looking for examples to give to students with respect to singular values, it is nice to have matrices that have integer singular values, as then both the singular values and the corresponding left and right singular vectors can be easily found by students.

There are two approaches taken:

  1. an exhaustive list of all matrices that satisfy a given set of properties, and
  2. randomly generated lists of matrices that satisfy a given set of properties.

In the first case, all matrices are listed up to multiplication by -1, so as to reduce the list by half. Any matrix in the first category can be multiplied by -1 and the corresponding eigenvalues would, too, be negated. In the second case, only one example is given for each set of eigenvalues. The reason that random matrices are used to find matrices that have a unique set of eigenvalues is so that there is no systematic approach that leads to similar examples with too much repetition in the patterns.

No matrices are listed that have integer eigenvalues, as the singular values are therefore the absolute value of the eigenvalues. The singular values of a 2 × 3 matrix are the same as those of its transpose.

2 × 1 real matrices

A 2 × 1 matrix has an integer singular value if the sum of the squares of the entries is a perfect square; for example, [3; 4]. See my web page on integer-normed vectors.

2 × 2 real matrices

3 × 1 real matrices

A 3 × 1 matrix has an integer singular value if the sum of the squares of the entries is a perfect square; for example, [1; 2; 2]. See my web page on integer-normed vectors.

3 × 2 real matrices

3 × 3 real matrices

4 × 3 real matrices

2 × 2 complex matrices

3 × 2 complex matrices

3 × 3 complex matrices

4 × 3 complex matrices

Generating matrices with nice U, S and V matrices

I will call "nice" U, S and V matrices those that have finite decimal representations. These can be generatd as follows:

Start with a matrix A of all 1 or -1 where all columns are mutually orthogonal. This will already have nice matrices U and V; however, you can also multiply any column by another integer.

For example, consider the following:

A = [1 1 -1; 1 -1 1; -1 1 1; -1 -1 -1];
B = [4 2 -3; 4 -2 3; -4 2 3; -4 -2 -3];

The U, S and V of the first are

[-0.5 0.5 0.5 0.5; -0.5 -0.5 -0.5 0.5; 0.5 0.5 -0.5 0.5; 0.5 -0.5 0.5 0.5]
[2 0 0; 0 2 0; 0 0 2; 0 0 0]
[-1 0 -0; -0 1 -0; -0 0 -1]

and these matrices for the second are

[-0.5 0.5 0.5 0.5; -0.5 -0.5 -0.5 0.5; 0.5 -0.5 0.5 0.5; 0.5 0.5 -0.5 0.5]
[8 0 0; 0 6 0; 0 0 4; 0 0 0]
[-1 -0 0; -0 -0 1; -0 -1 0]

Now, ATA is diagonal, but AAT is at least not trivial.