Represents the Cholesky decomposition of a positive-definite ComplexHermitianMatrix.

Namespace: Extreme.Mathematics.LinearAlgebra.Complex
Assembly: Extreme.Numerics (Extreme.Numerics)

Syntax

Visual Basic (Declaration)
Public NotInheritable Class ComplexCholeskyDecomposition _
	Inherits ComplexDecomposition
C#
public sealed class ComplexCholeskyDecomposition : ComplexDecomposition
C++
public ref class ComplexCholeskyDecomposition sealed : public ComplexDecomposition

Methods

IconTypeDescription
Decompose()
Performs the actual Cholesky decomposition.
Equals(Object)
Determines whether the specified Object is equal to the current Object.
EstimateConditionNumber()
Calculates an estimate for the condition number of the decomposed ComplexGeneralMatrix.
Finalize()
Allows an Object to attempt to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection.
GetDeterminant()
Calculates the determinant of the factorized ComplexGeneralMatrix.
GetHashCode()
Serves as a hash function for a particular type.
GetInverse()
Calculates the inverse of the factorized ComplexHermitianMatrix.
GetObjectData(SerializationInfo, StreamingContext)
Populates a SerializationInfo with the data needed to serialize the target object.
GetType()
Gets the Type of the current instance.
IsSingular()
Gets a value indicating whether the BaseMatrix of this decomposition is singular.
MemberwiseClone()
Creates a shallow copy of the current Object.
Rank(Double)
Returns the numerical rank of the matrix using the specified tolerance.
SetSingularFlag()
Sets a flag that indicates the underlying matrix of this decomposition is singular.
Solve(ComplexGeneralVector, Boolean)
Solves the system of simultaneous linear equations for the specified right-hand side ComplexGeneralVector and optionally overwrites the right-hand side with the solution.
Solve(ComplexGeneralMatrix, Boolean)
Solves the system of simultaneous linear equations for the specified right-hand side ComplexGeneralMatrix and optionally overwrites the right-hand side with the solution.
Solve(ComplexVector)
Solves the system of linear equations for the specified right-hand side ComplexVector.
Solve(ComplexMatrix)
Solves the system of linear equations for the specified right-hand side ComplexMatrix.
ToString()
Returns a String that represents the current Object.

Constructors

IconTypeDescription
ComplexCholeskyDecompositionNew(ComplexHermitianMatrix)
Constructs a new ComplexCholeskyDecomposition object.
ComplexCholeskyDecompositionNew(ComplexHermitianMatrix, Boolean)
Constructs a new ComplexCholeskyDecomposition object.

Properties

IconTypeDescription
BaseMatrix
Gets the underlying matrix of the decomposition.
Done
Gets or sets a value that indicates whether the decomposition has been performed.
Overwrite
Gets or sets a value indicating whether the BaseMatrix should be overwritten by its decomposition.
TriangularFactor
Gets the ComplexTriangularMatrix component of this ComplexCholeskyDecomposition.

Remarks

The Cholesky decomposition of a real hermitian positive definite matrix A rewrites the matrix in the form A= LLH, where L is a ComplexTriangularMatrix or in the form A= UHU, where U is a ComplexTriangularMatrix. Which form depends on whether the elements of the Hermitian matrix are stored in the lower or upper triangular part.

ComplexCholeskyDecomposition can operate in two modes. In overwrite mode, the original matrix is overwritten with the result of the decomposition. In preserve mode, the original matrix is preserved, and a new matrix is created to hold the decomposition. You can set the mode through the Overwrite property.

ComplexCholeskyDecomposition inherits from LinearTransformation. This means you can use it to solve systems of linear equations where the matrix of the system is hermitian and positive definite. You can solve for a single right-hand side, or for multiple right-hand sides using the Solve(ComplexGeneralVector, Boolean) method. You can also calculate the GetDeterminant() the GetInverse(), and an estimate for the EstimateConditionNumber().

To solve a general (non-hermitian or non-positive definite)system of equations, use the ComplexLUDecomposition class instead.

Inheritance Hierarchy

See Also