-
template<typename T>
void potf2(char *uplo, integer *n, T *a, integer *lda, integer *info)# Cholesky factorization of a real symmetric positive definite matrix a.
Purpose:
Cholesky factorization of a real symmetric positive definite matrix a The factorization has the form A = U**T * U, if uplo = 'U', or A = L * L**T, if uplo = 'L', where U is an upper triangular matrix and L is lower triangular. This is the unblocked version of the algorithm, calling Level 2 BLAS.
- Parameters:
uplo – [in]
uplo is char*
uplo specifies output format
= ‘U’: Output is upper triangular factorization of A
= ‘L’: Output is lower triangular factorization of A
n – [in]
n is integer*
The order of the matrix a. n >= 0
a – [inout]
a is REAL/DOUBLE PRECISION/COMPLEX/COMPLEX*16 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 = U**T *U or A = L*L**T.lda – [in]
lda is integer*
The leading dimension of the matrix a, lda >= fla_max(1,n)
INFO – [out]
INFO is INTEGER
= 0: successful exit
< 0: if INFO = -k, the k-th argument had an illegal value
> 0: if INFO = k, the leading minor of order k is not positive definite, and the factorization could not be completed.