IGLib 1.4
The IGLib base library for development of numerical, technical and business applications.

IG::Num::CholeskyDecomposition Class Reference

Cholesky decomposition of a matrix. Available for symmetric positive definite matrices. Objects of this class are immutable. Decomposition is calculated at initialization, and the decomposed matrix can not be replaced later. More...

Inheritance diagram for IG::Num::CholeskyDecomposition:
Collaboration diagram for IG::Num::CholeskyDecomposition:

List of all members.

Public Member Functions

 CholeskyDecomposition (Matrix_MathNetNumerics A)
 Constructor.
 CholeskyDecomposition (Matrix A)
 Constructor.
void GetProduct (ref IMatrix product)
 Calculates the product (i.e. the original matrix of coefficients of a linear system of equations) of the current decomposition, and stores it to the specified matrix.
IMatrix GetProduct ()
 Calculates and returns the product (i.e. the original matrix of coefficients of a linear system of equations) of the current decomposition.
void Inverse (ref IMatrix inv)
 Calculates inverse of the decomposed matrix represented by the current object, and stores it in the specified matrix.
IMatrix Inverse ()
 Calculates and returns inverse of the decomposed matrix represented by the current object.

Protected Member Functions

override MatrixBase_MathNetNumerics SolveMathNetNumerics (IMatrix righthandSides)
 Solves systems of linear equations with the specified right-hand sides and the current matrix decomposition by using the Math.Net Numerics library, and returns the result in Math.Net matrix form.
override VectorBase_MathNetNumerics SolveMathNetNumerics (IVector rightHandSides)
 Solves the system of linear equations with the specified right-hand sides and the current matrix decomposition by using the Math.Net Numerics library, and returns the result in Math.Net matrix form.

Protected Attributes

internal
CholeskyDecomposition_MathNetNumerics 
Base = null
double _determinant
bool _determinantCalculated = false

Properties

bool IsNonSingular [get]
 Indicates whether the matrix of coefficients of a linear system is nonsingular.
double Determinant [get]
 Returns the determinant.

Private Attributes

MatrixBase_MathNetNumerics _inverse

Detailed Description

Cholesky decomposition of a matrix. Available for symmetric positive definite matrices.

Objects of this class are immutable. Decomposition is calculated at initialization, and the decomposed matrix can not be replaced later.

For a symmetric, positive definite matrix A, the Cholesky factorization is an lower triangular matrix L so that A = L*L'.

The computation of the Cholesky factorization is done at construction time. If the matrix is not symmetric or positive definite, the constructor will throw an exception.

$A Igor Nov08 Apr12;


Constructor & Destructor Documentation

IG::Num::CholeskyDecomposition::CholeskyDecomposition ( Matrix_MathNetNumerics  A) [inline]

Constructor.

Parameters:
AMatrix to be decomposed.
IG::Num::CholeskyDecomposition::CholeskyDecomposition ( Matrix  A) [inline]

Constructor.

Parameters:
AMatrix to be decomposed.

Member Function Documentation

void IG::Num::CholeskyDecomposition::GetProduct ( ref IMatrix  product) [inline]

Calculates the product (i.e. the original matrix of coefficients of a linear system of equations) of the current decomposition, and stores it to the specified matrix.

Parameters:
productMatrix where re-calculated product of the decomposed matrix is stored.

Implements IG::Num::ILinearSolver.

IMatrix IG::Num::CholeskyDecomposition::GetProduct ( ) [inline]

Calculates and returns the product (i.e. the original matrix of coefficients of a linear system of equations) of the current decomposition.

Implements IG::Num::ILinearSolver.

void IG::Num::CholeskyDecomposition::Inverse ( ref IMatrix  inv) [inline]

Calculates inverse of the decomposed matrix represented by the current object, and stores it in the specified matrix.

Parameters:
invMatrix where calculated inverse is stored.

Implements IG::Num::ILinearSolver.

IMatrix IG::Num::CholeskyDecomposition::Inverse ( ) [inline]

Calculates and returns inverse of the decomposed matrix represented by the current object.

Implements IG::Num::ILinearSolver.

override MatrixBase_MathNetNumerics IG::Num::CholeskyDecomposition::SolveMathNetNumerics ( IMatrix  righthandSides) [inline, protected, virtual]

Solves systems of linear equations with the specified right-hand sides and the current matrix decomposition by using the Math.Net Numerics library, and returns the result in Math.Net matrix form.

Parameters:
righthandSidesMatrix that contains right-hand sides of the linear equations to be solved as its columns.
Returns:
The Math.Net Numerics matrix whose columns contains solutions to the systems of linear equations whose right-hand sides are specified by yhe righthandSides parameter.

Reimplemented from IG::Num::LinearSolverBase.

override VectorBase_MathNetNumerics IG::Num::CholeskyDecomposition::SolveMathNetNumerics ( IVector  rightHandSides) [inline, protected, virtual]

Solves the system of linear equations with the specified right-hand sides and the current matrix decomposition by using the Math.Net Numerics library, and returns the result in Math.Net matrix form.

Parameters:
righthandSidesVector of right-hand sides of the linear equations to be solved.
Returns:
The Math.Net Numerics vector whose columns contains solutions to the systems of linear equations whose right-hand sides are specified by yhe righthandSides parameter.

Reimplemented from IG::Num::LinearSolverBase.


Member Data Documentation

internal CholeskyDecomposition_MathNetNumerics IG::Num::CholeskyDecomposition::Base = null [protected]
MatrixBase_MathNetNumerics IG::Num::CholeskyDecomposition::_inverse [private]

Property Documentation

bool IG::Num::CholeskyDecomposition::IsNonSingular [get]

Indicates whether the matrix of coefficients of a linear system is nonsingular.

Returns:
true if U, and hence A, is nonsingular.

Implements IG::Num::ILinearSolver.

double IG::Num::CholeskyDecomposition::Determinant [get]

Returns the determinant.

Returns:
det(A)
Exceptions:
System.ArgumentExceptionMatrix must be square.

The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Enumerations Properties Events