Main Page   Class Hierarchy   Compound List   File List   Compound Members   File Members  

Factor.h

Go to the documentation of this file.
00001 /*
00002     File:       Factor.h
00003 
00004     Function:   Provides routines for factoring a matrix:
00005 
00006                 + SVD decomposes A into three matrices, A = U D Vt, where:
00007 
00008                     U is m x n, and orthogonal
00009 
00010                     D is n x n, and is diagonal; its elements are the
00011                     eigenvalues of AtA.
00012     
00013                     V is n x n, and orthogonal.
00014 
00015                 + QR factors A into A = Q R, where R is upper-triangular,
00016                 and Q is orthogonal.
00017                     
00018     Author:     Andrew Willmott
00019 
00020     Copyright:  (c) 1999-2000, Andrew Willmott
00021 */
00022 
00023 #ifndef __Factor__
00024 #define __Factor__
00025 
00026 #include "vl/VLd.h"
00027 
00028 
00029 // --- Factorization routines--------------------------------------------------
00030 
00031 Void SVDFactorization(Matd &A, Matd &U, Matd &V, Vecd &diagonal);
00032 // Factor A into U D V
00033 // Destroys A.
00034 
00035 Double QRFactorization(Matd &A, Matd &Q, Matd &R);
00036 // Factor A into an orthogonal matrix Q and an upper-triangular matrix R.
00037 // Destroys A.
00038 
00039 // --- Utility routines--------------------------------------------------------
00040 
00041 Double LeftHouseholder(Matd &A, Matd &U, const Int i);
00042 Double RightHouseholder(Matd &A, Matd &V, const Int i);
00043 Void Bidiagonalize(Matd &A, Matd &U, Matd &V, Vecd &diagonal, Vecd &superDiag);
00044 Void Diagonalize(Vecd &diagonal, Vecd &superDiag, Matd &U, Matd &V);
00045 
00046 #endif

Generated at Sat Aug 5 00:16:46 2000 for Class Library by doxygen 1.1.0 written by Dimitri van Heesch, © 1997-2000