SVD_DEMO
Demonstration of the Singular Value Decomposition


SVD_DEMO is an executable C++ program, using double precision arithmetic, which demonstrates the computation of the singular value decomposition and a few of its properties.

The singular value decomposition has uses in solving overdetermined or underdetermined linear systems, linear least squares problems, data compression, the pseudoinverse matrix, reduced order modeling, and the accurate computation of matrix rank and null space,

Usage:

svd_demo m n [seed]
runs the program, generating a random matrix of order M rows by N columns. If SEED is provided on the command line, it is used as the random number seed; otherwise, a seed is generated internally.

Related Data and Programs:

LAPACK is a FORTRAN90 library of linear algebra routines, which includes routines to carry out the singular value decomposition.

LINPACK is a C++ library of linear algebra routines, which includes routines to carry out the singular value decomposition.

SVD_BASIS is an interactive executable FORTRAN90 program which computes a reduced basis for a collection of data vectors using the SVD.

SVD_DEMO is also available in a FORTRAN90 version and a MATLAB version.

TOMS358 is a FORTRAN77 routine which computes the singular value decomposition for a complex matrix.

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. Jack Dongarra, Jim Bunch, Cleve Moler, Pete Stewart,
    LINPACK User's Guide,
    SIAM, 1979,
    ISBN13: 978-0-898711-72-1,
    LC: QA214.L56.
  3. Gene Golub, Charles VanLoan,
    Matrix Computations, Third Edition,
    Johns Hopkins, 1996,
    ISBN: 0-8018-4513-X,
    LC: QA188.G65.
  4. David Kahaner, Cleve Moler, Steven Nash,
    Numerical Methods and Software,
    Prentice Hall, 1989,
    ISBN: 0-13-627258-4,
    LC: TA345.K34.
  5. Lloyd Trefethen, David Bau,
    Numerical Linear Algebra,
    SIAM, 1997,
    ISBN: 0-89871-361-7,
    LC: QA184.T74.

Source Code:

Examples and Tests:

List of Routines:

You can go up one level to the C++ source codes.


Last revised on 15 September 2006.