CholeskyDecomposition Class |
Namespace: Accord.Math.Decompositions
[SerializableAttribute] public sealed class CholeskyDecomposition : ICloneable, ISolverMatrixDecomposition<double>
The CholeskyDecomposition type exposes the following members.
Name | Description | |
---|---|---|
CholeskyDecomposition |
Constructs a new Cholesky Decomposition.
|
Name | Description | |
---|---|---|
Determinant |
Gets the determinant of the decomposed matrix.
| |
Diagonal |
Gets the one-dimensional array of diagonal elements in a LDLt decomposition.
| |
DiagonalMatrix |
Gets the block diagonal matrix of diagonal elements in a LDLt decomposition.
| |
IsPositiveDefinite |
Gets whether the decomposed matrix was positive definite.
| |
IsUndefined |
Gets a value indicating whether the LDLt factorization
has been computed successfully or if it is undefined.
| |
LeftTriangularFactor |
Gets the left (lower) triangular factor
L so that A = L * D * L'.
| |
LogDeterminant |
If the matrix is positive-definite, gets the
log-determinant of the decomposed matrix.
| |
Nonsingular |
Gets a value indicating whether the decomposed
matrix is non-singular (i.e. invertible).
|
Name | Description | |
---|---|---|
Clone |
Creates a new object that is a copy of the current instance.
| |
Equals | Determines whether the specified object is equal to the current object. (Inherited from Object.) | |
FromLeftTriangularMatrix |
Creates a new Cholesky decomposition directly from
an already computed left triangular matrix L.
| |
GetHashCode | Serves as the default hash function. (Inherited from Object.) | |
GetInformationMatrix |
Computes (Xt * X)^1 (the inverse of the covariance matrix). This
matrix can be used to determine standard errors for the coefficients when
solving a linear set of equations through any of the Solve(Double)
methods.
| |
GetType | Gets the Type of the current instance. (Inherited from Object.) | |
Inverse |
Solves a set of equation systems of type A * X = I.
| |
InverseDiagonal(Boolean) |
Computes the diagonal of the inverse of the decomposed matrix.
| |
InverseDiagonal(Double, Boolean) |
Computes the diagonal of the inverse of the decomposed matrix.
| |
InverseTrace |
Computes the trace of the inverse of the decomposed matrix.
| |
Reverse |
Reverses the decomposition, reconstructing the original matrix X.
| |
Solve(Double) |
Solves a set of equation systems of type A * X = B.
| |
Solve(Double) |
Solves a set of equation systems of type A * x = b.
| |
Solve(Double, Boolean) |
Solves a set of equation systems of type A * X = B.
| |
Solve(Double, Boolean) |
Solves a set of equation systems of type A * x = b.
| |
ToString | Returns a string that represents the current object. (Inherited from Object.) |
Name | Description | |
---|---|---|
HasMethod |
Checks whether an object implements a method with the given name.
(Defined by ExtensionMethods.) | |
IsEqual |
Compares two objects for equality, performing an elementwise
comparison if the elements are vectors or matrices.
(Defined by Matrix.) | |
To(Type) | Overloaded.
Converts an object into another type, irrespective of whether
the conversion can be done at compile time or not. This can be
used to convert generic types to numeric types during runtime.
(Defined by ExtensionMethods.) | |
ToT | Overloaded.
Converts an object into another type, irrespective of whether
the conversion can be done at compile time or not. This can be
used to convert generic types to numeric types during runtime.
(Defined by ExtensionMethods.) |
For a symmetric, positive definite matrix A, the Cholesky decomposition is a lower triangular matrix L so that A = L * L'. If the matrix is not positive definite, the constructor returns a partial decomposition and sets two internal variables that can be queried using the IsUndefined and IsPositiveDefinite properties.
Any square matrix A with non-zero pivots can be written as the product of a lower triangular matrix L and an upper triangular matrix U; this is called the LU decomposition. However, if A is symmetric and positive definite, we can choose the factors such that U is the transpose of L, and this is called the Cholesky decomposition. Both the LU and the Cholesky decomposition are used to solve systems of linear equations.
When it is applicable, the Cholesky decomposition is twice as efficient as the LU decomposition.