svd_snowfall


svd_snowfall, a Fortran77 code which demonstrates the use of the Singular Value Decomposition (SVD) to analyze a set of historical snowfall data, with plots created by gnuplot().

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 sample problem writes files that can be processed by GNUPLOT to create plots.

Licensing:

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

Languages:

svd_snowfall 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:

svd_snowfall_test

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

GNUPLOT, Fortran77 programs which illustrate how a program can write data and command files so that gnuplot can create plots of the program results.

SVD_BASIS, a Fortran90 program which computes a reduced basis for a collection of data vectors using the SVD.

SVD_DEMO, a Fortran77 program which demonstrates the singular value decomposition (SVD) for a simple example.

SVD_TRUNCATED, a Fortran90 program which demonstrates the computation of the reduced or truncated Singular Value Decomposition (SVD) of an M by N rectangular matrix, in cases where M < N or N < M.

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

Reference:

  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 16 December 2023.