Developer Reference for Intel® oneAPI Math Kernel Library for Fortran
?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 = 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. Specifies the order of the matrix A. The value of n must be at least zero.
- 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) ≤ i ≤ j ; if uplo = 'L' , ab(1+i-j,j) = A(i, j for j ≤ i ≤ min( n , j + kd ).
- ldab
-
INTEGER . The leading dimension of the array ab . ldab≥kd+1 .
Output Parameters
- ab
-
On exit, If info = 0 , the triangular 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} ) 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.