Rogue Wave banner
Previous fileTop of DocumentContentsIndexNext file

{type}SVDecomp



Data Type and Member Function Indexes
(exclusive of constructors and destructors)

Synopsis

#include <rw/dsv.h>          // DoubleSVDecomp
#include <rw/fsv.h>          // FloatSVDecomp
#include <rw/csv.h>          // DComplexSVDecomp

DoubleSVDecomp sv(A);        // A is an RWGenMat<double>

Description

A singular value decomposition is a representation of a matrix A of the form:

where U and V are orthogonal, and E is diagonal. The entries along the diagonal of E are the singular values; the columns of U are the left singular vectors, and the columns of V are the right singular vectors.

The classes {TYPE}SVDecomp are used to construct and work with singular value decompositions. The singular values are always ordered smallest to largest with these classes.

You may need more control over the computation of the decomposition than is provided by this class. For example, if you don't need all the singular vectors, you can use the SV decomposition server classes, {TYPE}SVDecompServer, to do the construction.

Example

Public Constructors

DoubleSVDecomp();
FloatSVDecomp();
DComplexSVDecomp();
DoubleSVDecomp(const DoubleSVDecomp& A);
FloatSVDecomp(const FloatSVDecomp& A);
DComplexSVDecomp(const DComplexSVDecomp& A);
DoubleSVDecomp(const RWGenMat<double>& A);
FloatSVDecomp(const RWGenMat<float>& A);
DComplexSVDecomp(const RWGenMat<DComplex>& A);
DoubleSVDecomp(const RWGenMat<double>& A, double tol);
FloatSVDecomp(const RWGenMat<float>& A, float tol);
DComplexSVDecomp(const RWGenMat<DComplex>& A, double tol);

Public Member Functions

unsigned
FloatSVDecomp::cols();
unsigned
DoubleSVDecomp::cols();
unsigned
DComplexSVDecomp::cols();
void  
DoubleSVDecomp::factor(const RWGenMat<double>& A);
void  
FloatSVDecomp::factor(const RWGenMat<float>& A);
void  
DComplexSVDecomp::factor(const RWGenMat<DComplex>& A);
void  
DoubleSVDecomp::factor(const RWGenMat<double>& A, double tol);
void  
FloatSVDecomp::factor(const RWGenMat<float>& A, float tol);
void  
DComplexSVDecomp::factor(const RWGenMat<DComplex>& A, double tol);
unsigned
FloatSVDecomp::fail();
unsigned 
DoubleSVDecomp::fail();
unsigned 
DComplexSVDecomp::fail();
unsigned 
FloatSVDecomp::good();
unsigned
DoubleSVDecomp::good();
unsigned 
DComplexSVDecomp::good();
RWMathVec<float>
FloatSVDecomp::leftVector(int i);
RWMathVec<double>
DoubleSVDecomp::leftVector(int i);
RWMathVec<DComplex>
DComplexSVDecomp::leftVector(int i);
RWGenMat<float>
FloatSVDecomp::leftVectors();
RWGenMat<double>
DoubleSVDecomp::leftVectors();
RWGenMat<DComplex>
DComplexSVDecomp::leftVectors();
unsigned 
FloatSVDecomp::numLeftVectors();
unsigned 
DoubleSVDecomp::numLeftVectors();
unsigned 
DComplexSVDecomp::numLeftVectors();
unsigned 
FloatSVDecomp::numRightVectors();
unsigned
DoubleSVDecomp::numRightVectors();
unsigned
DComplexSVDecomp::numRightVectors();
unsigned
FloatSVDecomp::rank();
unsigned
DoubleSVDecomp::rank();
unsigned
DComplexSVDecomp::rank();
RWMathVec<float>
FloatSVDecomp::rightVector(int i);
RWMathVec<double>
DoubleSVDecomp::rightVector(int i);
RWMathVec<DComplex>
DComplexSVDecomp::rightVector(int i);
RWGenMat<float>
FloatSVDecomp::rightVectors();
RWGenMat<double>
DoubleSVDecomp::rightVectors();
RWGenMat<DComplex>
DComplexSVDecomp::rightVectors();
unsigned
FloatSVDecomp::rows();
unsigned
DoubleSVDecomp::rows();
unsigned
DComplexSVDecomp::rows();
float
FloatSVDecomp::singularValue(int i);
double
DoubleSVDecomp::singularValue(int i);
double
DComplexSVDecomp::singularValue(int i);
RWMathVec<float>
FloatSVDecomp::singularValues();
RWMathVec<double>
DoubleSVDecomp::singularValues();
RWMathVec<double>
DComplexSVDecomp::singularValues();
void
FloatSVDecomp::truncate(float tol);
void
DoubleSVDecomp::truncate(double tol);
void
DComplexSVDecomp::truncate(double tol);

Public Member Operator

void    FloatSVDecomp::operator=(const FloatSVDecomp&);
void    DoubleSVDecomp::operator=(const DoubleSVDecomp&);
void    DComplexSVDecomp::operator=(const DComplexSVDecomp&);


Previous fileTop of DocumentContentsIndexNext file

©Copyright 1999, Rogue Wave Software, Inc.
Send mail to report errors or comment on the documentation.