lmsvd(3)

LIBRARY ROUTINE
lmsvd - compute the Singular Value Dcomposition of a matrix

LIBRARY CALL
#include "vinclude.h"
int lmsvd(image,simage,vimage)
  struct xvimage *simage, *vimage, *image;

INPUT

image
    image which contains one or more matrices of arbitrary dimension that will be decomposed.

OUTPUT

image
    double or double complex matrix containing the U part of the decomposition of the input matrix.

simage
    double or double complex matrix containing the S part of the decomposition of the of the input matrix.

vimage
    double or double complex matrix containing the V part of the decomposition of the of the input matrix.

Return Value:
    1 on success, 0 on failure.

MODIFICATIONS

Jeremy Worley Tue Feb 25 00:59:35 MST 1992
    arguments rows and cols to lsvd() were explicitly declared and functions used in lmsvd() were explicitly declared.

DESCRIPTION
computes the singular value decomposition of a matrix by gaussian elimination. If A is the input matrix, this program will solve the system A = U*S*V' for the U and V unitary matrices and S, a non-negative diagonal matrix, with values in descending order.

This decomposition method is particularly useful for linear least squares problems and for decomposition of singular or ill-conditioned matrices.

The S matrix has the same dimensions as A, U has both dimensions equal to A's row dimension, and V has the same dimensions as A's column dimension.

SEE ALSO
msvd(1), intro(3), vipl(3), verror(3), vutils(3)

RESTRICTIONS

AUTHOR
Jeremy Worley

COPYRIGHT
Copyright 1992, University of New Mexico. All rights reserved.