Woolz Image Processing Version 1.4.0
AlgMatrixSV.c File Reference

Provides functions for singular value decomposition. More...

Functions

AlgError AlgMatrixSVSolve (AlgMatrix aMat, double *bVec, double tol, int *dstIC)
 Solves the matrix equation A.x = b for x, where A is a matrix with at least as many rows as columns. On return the matrix A is overwritten by the matrix U in the singular value decomposition: A = U.W.V'.
AlgError AlgMatrixSVDecomp (AlgMatrix aMat, double *wVec, AlgMatrix vMat)
 Performs singular value decomposition of the given matrix (A) and computes two additional matricies (U and V) such that: A = U.W.V' where V' is the transpose of V. The code for AlgMatrixSVDecomp was derived from: Numerical Recipies function svdcmp(), EISPACK subroutine SVD(), CERN subroutine SVD() and ACM algorithm 358. See AlgMatrixSVSolve() for a usage example.
AlgError AlgMatrixSVBackSub (AlgMatrix uMat, double *wVec, AlgMatrix vMat, double *bVec)
 Solves the set of of linear equations A.x = b where A is input as its singular value decomposition in the three matricies U, W and V, as returned by AlgMatrixSVDecomp(). The code for AlgMatrixSVBackSub was derived from: Numerical Recipies function svbksb().

Detailed Description

Provides functions for singular value decomposition.

Author:
Bill Hill
Date:
March 1999
Version:
Id:
a0a35f025ac058cb4b16517910e236d15f246100
Address: MRC Human Genetics Unit, MRC Institute of Genetics and Molecular Medicine, University of Edinburgh, Western General Hospital, Edinburgh, EH4 2XU, UK.
Copyright (C), [2012], The University Court of the University of Edinburgh, Old College, Edinburgh, UK.

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.