DecompositionOperations<TReal, TComplex>.CholeskyDecompose Method

Definition

Namespace: Extreme.Mathematics.LinearAlgebra.Implementation
Assembly: Extreme.Numerics (in Extreme.Numerics.dll) Version: 8.1.23

Overload List

CholeskyDecompose(MatrixTriangle, Int32, Array2D<TReal>, Int32)

Computes the Cholesky factorization of a real symmetric positive definite matrix A.

CholeskyDecompose(MatrixTriangle, Int32, Array2D<TComplex>, Int32) Factors a symmetric positive definite matrix.

CholeskyDecompose(MatrixTriangle, Int32, Array2D<TReal>, Int32)

Computes the Cholesky factorization of a real symmetric positive definite matrix A.

C#
public abstract void CholeskyDecompose(
	MatrixTriangle storedTriangle,
	int n,
	Array2D<TReal> a,
	out int info
)

Parameters

storedTriangle  MatrixTriangle
            = 'U':  Upper triangle of A is stored;
            = 'L':  Lower triangle of A is stored.
            
n  Int32
            The order of the matrix A.  N >= 0.
            
a  Array2D<TReal>
            A is TReal array, dimension (LDA,N)
            On entry, the symmetric matrix A.  If UPLO = 'U', the leading
            N-by-N upper triangular part of A contains the upper
            triangular part of the matrix A, and the strictly lower
            triangular part of A is not referenced.  If UPLO = 'L', the
            leading N-by-N lower triangular part of A contains the lower
            triangular part of the matrix A, and the strictly upper
            triangular part of A is not referenced.
            On exit, if INFO = 0, the factor U or L from the Cholesky
            factorization A = UT*U or A = L*LT.
            
            The leading dimension of the array A.  LDA >= max(1,N).
            
info  Int32
            = 0:  successful exit
            < 0:  if INFO = -i, the i-th argument had an illegal value
            > 0:  if INFO = i, the leading minor of order i is not
                  positive definite, and the factorization could not be
                  completed.
            

Remarks

            The factorization has the form
               A = UT * U,  if UPLO = 'U', or
               A = L  * LT,  if UPLO = 'L',
            where U is an upper triangular matrix and L is lower triangular.
            This is the block version of the algorithm, calling Level 3 BLAS.
            

This method corresponds to the LAPACK routine ?POTRF.

CholeskyDecompose(MatrixTriangle, Int32, Array2D<TComplex>, Int32)

Factors a symmetric positive definite matrix.
C#
public abstract void CholeskyDecompose(
	MatrixTriangle storedTriangle,
	int n,
	Array2D<TComplex> a,
	out int info
)

Parameters

storedTriangle  MatrixTriangle
A MatrixTriangle value that indicates whether the matrix components are stored in the upper or lower triangular part.
n  Int32
The number of rows and columns of the matrix.
a  Array2D<TComplex>
A complex array that contains the elements of the matrix.
info  Int32
On return, indicates error conditions.

See Also