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 1.1.0 written by Dimitri van Heesch, © 1997-2000