Developer Reference for Intel® oneAPI Math Kernel Library for Fortran

ID 766686
Date 6/24/2024
Public

A newer version of this document is available. Customers should click here to go to the newest version.

Document Table of Contents

?pbtf2

Computes the Cholesky factorization of a symmetric/ Hermitian positive-definite band matrix (unblocked algorithm).

Syntax

call spbtf2( uplo, n, kd, ab, ldab, info )

call dpbtf2( uplo, n, kd, ab, ldab, info )

call cpbtf2( uplo, n, kd, ab, ldab, info )

call zpbtf2( uplo, n, kd, ab, ldab, info )

Include Files

  • mkl.fi

Description

The routine computes the Cholesky factorization of a real symmetric or complex Hermitian positive definite band 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.

kd

INTEGER. The number of super-diagonals of the matrix A if uplo = 'U', or the number of sub-diagonals if uplo = 'L'.

kd 0.

ab

REAL for spbtf2

DOUBLE PRECISION for dpbtf2

COMPLEX for cpbtf2

DOUBLE COMPLEX for zpbtf2.

Array, DIMENSION (ldab, n).

On entry, the upper or lower triangle of the symmetric/ Hermitian band matrix A, stored in the first kd+1 rows of the array. The j-th column of A is stored in the j-th column of the array ab as follows:

if uplo = 'U', ab(kd+1+i-j,j) = A(i, j for max(1, j-kd) ≤ ij;

if uplo = 'L', ab(1+i-j,j) = A(i, j for ji ≤ min(n, j+kd).

ldab

INTEGER. The leading dimension of the array ab. ldabkd+1.

Output Parameters

ab

On exit, If info = 0, the triangular factor U or L from the Cholesky factorization A=UT*U (A=UH*U), or A= L*LT (A = L*LH) of the band matrix A, in the same storage format as A.

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.