**svd_fingerprint_test**,
a MATLAB code which
calls svd_fingerprint(), which
reads a file containing a fingerprint image and
uses the singular value decomposition (SVD) to
compute and display a series of low rank approximations to the image.

The computer code and data files described and made available on this web page are distributed under the GNU LGPL license.

svd_fingerprint, a MATLAB code which reads a file containing a fingerprint image and uses the Singular Value Decomposition (SVD) to compute and display a series of low rank approximations to the image.

- svd_fingerprint_test.m calls all the tests.
- svd_fingerprint_test.sh runs all the tests.
- svd_fingerprint_test.txt the output file.

**FINGERPRINT_01** analyzes the data in the file "fingerprint_01.png".
Note that the PNG format can include a hidden form of compression,
which we are ignoring for this exercise. (Take a look at the size, in bytes,
of the original PNG file and the sequence of compressed versions.)
We are concerned about compressed representation of the image once it
has been read into memory and stored as an array of MxN black/white values.

- fingerprint_01.png, a fingerprint image.
- singular_values_01.png, a plot of the singular values shows how compressible the data is.
- fingerprint_01_r01.png, the rank 1 approximation.
- fingerprint_01_r02.png, the rank 2 approximation.
- fingerprint_01_r05.png, the rank 5 approximation.
- fingerprint_01_r10.png, the rank 10 approximation.
- fingerprint_01_r20.png, the rank 20 approximation.
- fingerprint_01_r40.png, the rank 40 approximation.