Developer Reference for Intel® oneAPI Math Kernel Library for C
?potrf2
Computes Cholesky factorization using a recursive algorithm.
Syntax
lapack_intLAPACKE_spotrf2 ( intmatrix_layout , charuplo , lapack_intn , float*a , lapack_intlda );
lapack_intLAPACKE_dpotrf2 ( intmatrix_layout , charuplo , lapack_intn , double*a , lapack_intlda );
lapack_intLAPACKE_cpotrf2 ( intmatrix_layout , charuplo , lapack_intn , lapack_complex_float*a , lapack_intlda );
lapack_intLAPACKE_zpotrf2 ( intmatrix_layout , charuplo , lapack_intn , lapack_complex_double*a , lapack_intlda );
Include Files
mkl.h
Description
?potrf2 computes the Cholesky factorization of a real or complex symmetric positive definite matrix A using the recursive algorithm.
The factorization has the form
for real flavors:
\(A = U^T U\) , if uplo = ‘U’, or
\(A = L L^T\) , if uplo = ‘L’,
for complex flavors:
\(A = U^H U\) , if uplo = ‘U’,
or \(A = L L^H\) , if uplo = ‘L’,
where \(U\) is an upper triangular matrix and \(L\) is lower triangular.
This is the recursive version of the algorithm. It divides the matrix into four submatrices:
\[A = \begin{pmatrix} A_{11} & A_{12} \\ A_{21} & A_{22} \end{pmatrix}\]
where A11 is n1 by n1 and A22 is n2 by n2 , with n1 = n /2 and n2 = n - n1 .
The subroutine calls itself to factor A11 . Update and scale A21 or A12 , update A22 then call itself to factor A22 .
Input Parameters
- matrix_layout
-
Specifies whether matrix storage layout is row major ( LAPACK_ROW_MAJOR ) or column major ( LAPACK_COL_MAJOR ).
uplo
= ‘U’: Upper triangle of A is stored;
= ‘L’: Lower triangle of A is stored.
n
The order of the matrix A .
n ≥ 0.
- a
-
REAL for spotrf2 DOUBLE PRECISION for dpotrf2 COMPLEX for cpotrf2 DOUBLE COMPLEX for zpotrf2
Array, size ( 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.
lda
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. For real flavors: \(A = U^T U\) or \(A = L L^T\) ; For complex flavors: \(A = U^H U\) or \(A = L L^H\) .
Return Values
This function returns a value info .
= 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.