Developer Reference for Intel® oneAPI Math Kernel Library for Fortran
?potf2
Computes the Cholesky factorization of a symmetric/Hermitian positive-definite matrix (unblocked algorithm).
Syntax
call spotf2 ( uplo , n , a , lda , info )
call dpotf2 ( uplo , n , a , lda , info )
call cpotf2 ( uplo , n , a , lda , info )
call zpotf2 ( uplo , n , a , lda , info )
Include Files
mkl.fi
Description
The routine ?potf2 computes the Cholesky factorization of a real symmetric or complex Hermitian positive definite matrix A . The factorization has the form
A = U^{T}*U for real flavors, A = U^{H}*U for complex flavors if uplo = 'U' , or
A = L*L^{T} for real flavors, A = L*L^{H} for complex flavors if uplo = 'L' ,
where U is an upper triangular matrix, and L is lower triangular.
This is the unblocked version of the algorithm, calling BLAS Level 2 Routines
Input Parameters
- uplo
-
CHARACTER*1 . Specifies whether the upper or lower triangular part of the symmetric/Hermitian matrix A is stored. = ‘U’ : upper triangular = ‘L’ : lower triangular
- n
-
INTEGER . The order of the matrix A . n≥ 0 .
- a
-
REAL for spotf2 DOUBLE PRECISION or dpotf2 COMPLEX for cpotf2 DOUBLE COMPLEX for zpotf2 . Array, DIMENSION ( lda , n ). On entry, the symmetric/Hermitian 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.
- lda
-
INTEGER . The leading dimension of the array a . lda≥ max(1,n) .
Output Parameters
- a
-
On exit, If info = 0 , the factor U or L from the Cholesky factorization A=U^{T}*U ( A=U^{H}*U ), or A= L*L^{T} ( A = L*L^{H} ).
info
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.