svd_snowfall, a MATLAB code which demonstrates the use of the Singular Value Decomposition (SVD) to analyze a set of historical snowfall data.

The snowfall data consists of records for the winters of 1890-1891 to 2016-2017, of the snowfall in inches, over the months from October to May, as measured at Michigan Tech.

This data can be regarded as an 8 by 127 matrix A. Applying the singular value decomposition produces the factors

A = U * S * V'
and it is the purpose of this library to consider what these factors indicate about the snowfall data.


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


svd_snowfall is available in a C version and a C++ version and a FORTRAN90 version and a MATLAB version and a Python version.

Related Data and Programs:

fingerprints, a dataset directory which contains a few images of fingerprints.

svd_basis, a MATLAB code which computes a reduced basis for a collection of data vectors using the svd.

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_gray, a MATLAB code which reads a gray scale image, computes the singular value decomposition (svd), and constructs a series of low rank approximations to the image.


svd_test, a MATLAB code which demonstrates the singular value decomposition for a simple example.

time_series, a dataset directory which contains examples of files describing time series.


  1. Edward Anderson, Zhaojun Bai, Christian Bischof, Susan Blackford, James Demmel, Jack Dongarra, Jeremy Du Croz, Anne Greenbaum, Sven Hammarling, Alan McKenney, Danny Sorensen,
    LAPACK User's Guide,
    Third Edition,
    SIAM, 1999,
    ISBN: 0898714478,
    LC: QA76.73.F25L36
  2. Gene Golub, Charles VanLoan,
    Matrix Computations, Third Edition,
    Johns Hopkins, 1996,
    ISBN: 0-8018-4513-X,
    LC: QA188.G65.
  3. David Kahaner, Cleve Moler, Steven Nash,
    Numerical Methods and Software,
    Prentice Hall, 1989,
    ISBN: 0-13-627258-4,
    LC: TA345.K34.
  4. Lloyd Trefethen, David Bau,
    Numerical Linear Algebra,
    SIAM, 1997,
    ISBN: 0-89871-361-7,
    LC: QA184.T74.

Source code:

Last revised on 25 January 2019.