IGLib  1.7.2
The IGLib base library EXTENDED - with other lilbraries and applications.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Events Macros
DotNetMatrix.SingularValueDecomposition Class Reference

Singular Value Decomposition. More...

+ Inheritance diagram for DotNetMatrix.SingularValueDecomposition:
+ Collaboration diagram for DotNetMatrix.SingularValueDecomposition:

Public Member Functions

 SingularValueDecomposition (GeneralMatrix Arg)
 Construct the singular value decomposition More...
 
virtual GeneralMatrix GetU ()
 Return the left singular vectors More...
 
virtual GeneralMatrix GetV ()
 Return the right singular vectors More...
 
virtual double Norm2 ()
 Two norm More...
 
virtual double Condition ()
 Two norm condition number More...
 
virtual int Rank ()
 Effective numerical matrix rank More...
 
 SingularValueDecomposition (GeneralMatrix Arg)
 Construct the singular value decomposition More...
 
virtual GeneralMatrix GetU ()
 Return the left singular vectors More...
 
virtual GeneralMatrix GetV ()
 Return the right singular vectors More...
 
virtual double Norm2 ()
 Two norm More...
 
virtual double Condition ()
 Two norm condition number More...
 
virtual int Rank ()
 Effective numerical matrix rank More...
 

Properties

virtual double[] SingularValues [get]
 Return the one-dimensional array of singular values More...
 
virtual GeneralMatrix S [get]
 Return the diagonal matrix of singular values More...
 

Private Member Functions

void ISerializable. GetObjectData (SerializationInfo info, StreamingContext context)
 
void ISerializable. GetObjectData (SerializationInfo info, StreamingContext context)
 

Private Attributes

double[][] U
 Arrays for internal storage of U and V. internal storage of U. internal storage of V. More...
 
double[][] V
 
double[] s
 Array for internal storage of singular values. internal storage of singular values. More...
 
int m
 Row and column dimensions. row dimension. column dimension. More...
 
int n
 

Detailed Description

Singular Value Decomposition.

For an m-by-n matrix A with m >= n, the singular value decomposition is an m-by-n orthogonal matrix U, an n-by-n diagonal matrix S, and an n-by-n orthogonal matrix V so that A = U*S*V'.

The singular values, sigma[k] = S[k][k], are ordered so that sigma[0] >= sigma[1] >= ... >= sigma[n-1].

The singular value decompostion always exists, so the constructor will never fail. The matrix condition number and the effective numerical rank can be computed from this decomposition.

Constructor & Destructor Documentation

DotNetMatrix.SingularValueDecomposition.SingularValueDecomposition ( GeneralMatrix  Arg)
inline

Construct the singular value decomposition

Parameters
ArgRectangular matrix
Returns
Structure to access U, S and V.

References DotNetMatrix.GeneralMatrix.ArrayCopy, DotNetMatrix.GeneralMatrix.ColumnDimension, DotNetMatrix.SingularValueDecomposition.m, DotNetMatrix.SingularValueDecomposition.n, and DotNetMatrix.GeneralMatrix.RowDimension.

DotNetMatrix.SingularValueDecomposition.SingularValueDecomposition ( GeneralMatrix  Arg)
inline

Construct the singular value decomposition

Parameters
ArgRectangular matrix
Returns
Structure to access U, S and V.

References DotNetMatrix.GeneralMatrix.ArrayCopy, DotNetMatrix.GeneralMatrix.ColumnDimension, DotNetMatrix.SingularValueDecomposition.m, DotNetMatrix.SingularValueDecomposition.n, and DotNetMatrix.GeneralMatrix.RowDimension.

Member Function Documentation

virtual GeneralMatrix DotNetMatrix.SingularValueDecomposition.GetU ( )
inlinevirtual

Return the left singular vectors

Returns
U

Referenced by DotNetMatrix.test.TestMatrix.Main().

virtual GeneralMatrix DotNetMatrix.SingularValueDecomposition.GetV ( )
inlinevirtual

Return the right singular vectors

Returns
V

Referenced by DotNetMatrix.test.TestMatrix.Main().

virtual double DotNetMatrix.SingularValueDecomposition.Norm2 ( )
inlinevirtual

Two norm

Returns
max(S)
virtual double DotNetMatrix.SingularValueDecomposition.Condition ( )
inlinevirtual

Two norm condition number

Returns
max(S)/min(S)

Referenced by DotNetMatrix.GeneralMatrix.Condition().

virtual int DotNetMatrix.SingularValueDecomposition.Rank ( )
inlinevirtual

Effective numerical matrix rank

Returns
Number of nonnegligible singular values.

Referenced by DotNetMatrix.GeneralMatrix.Rank().

void ISerializable. DotNetMatrix.SingularValueDecomposition.GetObjectData ( SerializationInfo  info,
StreamingContext  context 
)
inlineprivate
virtual GeneralMatrix DotNetMatrix.SingularValueDecomposition.GetU ( )
inlinevirtual

Return the left singular vectors

Returns
U
virtual GeneralMatrix DotNetMatrix.SingularValueDecomposition.GetV ( )
inlinevirtual

Return the right singular vectors

Returns
V
virtual double DotNetMatrix.SingularValueDecomposition.Norm2 ( )
inlinevirtual

Two norm

Returns
max(S)
virtual double DotNetMatrix.SingularValueDecomposition.Condition ( )
inlinevirtual

Two norm condition number

Returns
max(S)/min(S)
virtual int DotNetMatrix.SingularValueDecomposition.Rank ( )
inlinevirtual

Effective numerical matrix rank

Returns
Number of nonnegligible singular values.
void ISerializable. DotNetMatrix.SingularValueDecomposition.GetObjectData ( SerializationInfo  info,
StreamingContext  context 
)
inlineprivate

Member Data Documentation

double [][] DotNetMatrix.SingularValueDecomposition.U
private

Arrays for internal storage of U and V. internal storage of U. internal storage of V.

double [][] DotNetMatrix.SingularValueDecomposition.V
private
double [] DotNetMatrix.SingularValueDecomposition.s
private

Array for internal storage of singular values. internal storage of singular values.

int DotNetMatrix.SingularValueDecomposition.m
private

Row and column dimensions. row dimension. column dimension.

Referenced by DotNetMatrix.SingularValueDecomposition.SingularValueDecomposition().

int DotNetMatrix.SingularValueDecomposition.n
private

Property Documentation

virtual double [] DotNetMatrix.SingularValueDecomposition.SingularValues
get

Return the one-dimensional array of singular values

Returns
diagonal of S.

Referenced by DotNetMatrix.test.TestMatrix.Main().

GeneralMatrix DotNetMatrix.SingularValueDecomposition.S
get

Return the diagonal matrix of singular values

Returns
S

Referenced by DotNetMatrix.test.TestMatrix.Main().


The documentation for this class was generated from the following file: