|
IGLib 1.4
The IGLib base library for development of numerical, technical and business applications.
|
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: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 |
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;
| IG::Num::CholeskyDecomposition::CholeskyDecomposition | ( | Matrix_MathNetNumerics | A | ) | [inline] |
Constructor.
| A | Matrix to be decomposed. |
| IG::Num::CholeskyDecomposition::CholeskyDecomposition | ( | Matrix | A | ) | [inline] |
Constructor.
| A | Matrix to be decomposed. |
| 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.
| product | Matrix 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.
| inv | Matrix 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.
| righthandSides | Matrix that contains right-hand sides of the linear equations to be solved as its columns. |
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.
| righthandSides | Vector of right-hand sides of the linear equations to be solved. |
Reimplemented from IG::Num::LinearSolverBase.
internal CholeskyDecomposition_MathNetNumerics IG::Num::CholeskyDecomposition::Base = null [protected] |
double IG::Num::CholeskyDecomposition::_determinant [protected] |
bool IG::Num::CholeskyDecomposition::_determinantCalculated = false [protected] |
MatrixBase_MathNetNumerics IG::Num::CholeskyDecomposition::_inverse [private] |
bool IG::Num::CholeskyDecomposition::IsNonSingular [get] |
Indicates whether the matrix of coefficients of a linear system is nonsingular.
true if U, and hence A, is nonsingular.Implements IG::Num::ILinearSolver.
double IG::Num::CholeskyDecomposition::Determinant [get] |