Developer Reference for Intel® oneAPI Math Kernel Library for Fortran

ID 766686
Date 10/31/2024
Public
Document Table of Contents

?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 = UT*U for real flavors, A = UH*U for complex flavors if uplo = 'U', or

A = L*LT for real flavors, A = L*LH 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=UT*U (A=UH*U), or A= L*LT (A = L*LH).

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.