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.CholeskyDecomposition Class Reference

Cholesky Decomposition. For a symmetric, positive definite matrix A, the Cholesky decomposition is an lower triangular matrix L so that A = L*L'. If the matrix is not symmetric or positive definite, the constructor returns a partial decomposition and sets an internal flag that may be queried by the isSPD() method. More...

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

Public Member Functions

 CholeskyDecomposition (GeneralMatrix Arg)
 Cholesky algorithm for symmetric and positive definite matrix. More...
 
virtual GeneralMatrix GetL ()
 Return triangular factor. More...
 
virtual GeneralMatrix Solve (GeneralMatrix B)
 Solve A*X = B More...
 
 CholeskyDecomposition (GeneralMatrix Arg)
 Cholesky algorithm for symmetric and positive definite matrix. More...
 
virtual GeneralMatrix GetL ()
 Return triangular factor. More...
 
virtual GeneralMatrix Solve (GeneralMatrix B)
 Solve A*X = B More...
 

Properties

virtual bool SPD [get]
 Is the matrix symmetric and positive definite? More...
 

Private Member Functions

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

Private Attributes

double[][] L
 Array for internal storage of decomposition. internal array storage. More...
 
int n
 Row and column dimension (square matrix). matrix dimension. More...
 
bool isspd
 Symmetric and positive definite flag. is symmetric and positive definite flag. More...
 

Detailed Description

Cholesky Decomposition. For a symmetric, positive definite matrix A, the Cholesky decomposition is an lower triangular matrix L so that A = L*L'. If the matrix is not symmetric or positive definite, the constructor returns a partial decomposition and sets an internal flag that may be queried by the isSPD() method.

Constructor & Destructor Documentation

DotNetMatrix.CholeskyDecomposition.CholeskyDecomposition ( GeneralMatrix  Arg)
inline

Cholesky algorithm for symmetric and positive definite matrix.

Parameters
ArgSquare, symmetric matrix.
Returns
Structure to access L and isspd flag.

References DotNetMatrix.GeneralMatrix.Array, DotNetMatrix.GeneralMatrix.ColumnDimension, DotNetMatrix.CholeskyDecomposition.n, and DotNetMatrix.GeneralMatrix.RowDimension.

DotNetMatrix.CholeskyDecomposition.CholeskyDecomposition ( GeneralMatrix  Arg)
inline

Cholesky algorithm for symmetric and positive definite matrix.

Parameters
ArgSquare, symmetric matrix.
Returns
Structure to access L and isspd flag.

References DotNetMatrix.GeneralMatrix.Array, DotNetMatrix.GeneralMatrix.ColumnDimension, DotNetMatrix.CholeskyDecomposition.n, and DotNetMatrix.GeneralMatrix.RowDimension.

Member Function Documentation

virtual GeneralMatrix DotNetMatrix.CholeskyDecomposition.GetL ( )
inlinevirtual

Return triangular factor.

Returns
L

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

virtual GeneralMatrix DotNetMatrix.CholeskyDecomposition.Solve ( GeneralMatrix  B)
inlinevirtual

Solve A*X = B

Parameters
BA Matrix with as many rows as A and any number of columns.
Returns
X so that L*L'*X = B
Exceptions
System.ArgumentExceptionMatrix row dimensions must agree.
System.SystemExceptionMatrix is not symmetric positive definite.

References DotNetMatrix.GeneralMatrix.ArrayCopy, DotNetMatrix.GeneralMatrix.ColumnDimension, DotNetMatrix.CholeskyDecomposition.n, and DotNetMatrix.GeneralMatrix.RowDimension.

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

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

Return triangular factor.

Returns
L
virtual GeneralMatrix DotNetMatrix.CholeskyDecomposition.Solve ( GeneralMatrix  B)
inlinevirtual

Solve A*X = B

Parameters
BA Matrix with as many rows as A and any number of columns.
Returns
X so that L*L'*X = B
Exceptions
System.ArgumentExceptionMatrix row dimensions must agree.
System.SystemExceptionMatrix is not symmetric positive definite.

References DotNetMatrix.GeneralMatrix.ArrayCopy, DotNetMatrix.GeneralMatrix.ColumnDimension, DotNetMatrix.CholeskyDecomposition.n, and DotNetMatrix.GeneralMatrix.RowDimension.

void ISerializable. DotNetMatrix.CholeskyDecomposition.GetObjectData ( SerializationInfo  info,
StreamingContext  context 
)
inlineprivate

Member Data Documentation

double [][] DotNetMatrix.CholeskyDecomposition.L
private

Array for internal storage of decomposition. internal array storage.

int DotNetMatrix.CholeskyDecomposition.n
private

Row and column dimension (square matrix). matrix dimension.

Referenced by DotNetMatrix.CholeskyDecomposition.CholeskyDecomposition(), and DotNetMatrix.CholeskyDecomposition.Solve().

bool DotNetMatrix.CholeskyDecomposition.isspd
private

Symmetric and positive definite flag. is symmetric and positive definite flag.

Property Documentation

bool DotNetMatrix.CholeskyDecomposition.SPD
get

Is the matrix symmetric and positive definite?

Returns
true if A is symmetric and positive definite.

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