Developer Reference for Intel® oneAPI Math Kernel Library for C
?pbstf
Computes a split Cholesky factorization of a real symmetric or complex Hermitian positive-definite banded matrix used in ?sbgst / ?hbgst .
Syntax
lapack_intLAPACKE_spbstf ( intmatrix_layout , charuplo , lapack_intn , lapack_intkb , float*bb , lapack_intldbb );
lapack_intLAPACKE_dpbstf ( intmatrix_layout , charuplo , lapack_intn , lapack_intkb , double*bb , lapack_intldbb );
lapack_intLAPACKE_cpbstf ( intmatrix_layout , charuplo , lapack_intn , lapack_intkb , lapack_complex_float*bb , lapack_intldbb );
lapack_intLAPACKE_zpbstf ( intmatrix_layout , charuplo , lapack_intn , lapack_intkb , lapack_complex_double*bb , lapack_intldbb );
Include Files
mkl.h
Description
spbstf dpbstf cpbstf cpbstf pbstf
The routine computes a split Cholesky factorization of a real symmetric or complex Hermitian positive-definite band matrix B . It is to be used in conjunction with sbgst / hbgst .
The factorization has the form B = S^{T}*S (or B = S^{H}*S for complex flavors), where S is a band matrix of the same bandwidth as B and the following structure: S is upper triangular in the first ( n + kb )/2 rows and lower triangular in the remaining rows.
Input Parameters
- matrix_layout
-
Specifies whether matrix storage layout is row major ( LAPACK_ROW_MAJOR ) or column major ( LAPACK_COL_MAJOR ).
uplo
Must be ‘U’ or ‘L’ .
If uplo = 'U' , bb stores the upper triangular part of B . If uplo = 'L' , bb stores the lower triangular part of B .
n
The order of the matrix B ( n≥ 0 ).
kb
The number of super- or sub-diagonals in B
( kb≥ 0 ).
- bb
-
REAL for spbstf DOUBLE PRECISION for dpbstf COMPLEX for cpbstf DOUBLE COMPLEX for zpbstf .
bb (size at least max(1, ldbb * n ) for column major layout and at least max(1, ldbb *( kb + 1)) for row major layout) is an array containing either upper or lower triangular part of the matrix B (as specified by uplo ) in band storage format.
The second dimension of the array bb must be at least max(1, n ).
ldbb
The leading dimension of bb ; must be at least kb +1 for column major and at least max(1, n ) for row major .
Output Parameters
- bb
-
On exit, this array is overwritten by the elements of the split Cholesky factor S .
Return Values
This function returns a value info .
If info=0 , the execution is successful.
If info = i , then the factorization could not be completed, because the updated element bii would be the square root of a negative number; hence the matrix B is not positive-definite.
If info = -i , the i -th parameter had an illegal value.
LAPACK 95 Interface Notes
There exist FORTRAN 77 and FORTRAN 95 interfaces for this routine. See the Intel® oneMKL Fortran Developer Reference for details.
Application Notes
The computed factor \(S\) is the exact factor of a perturbed matrix \(B + E\) , where
c(n) is a modest linear function of n , and \(\varepsilon\) is the machine precision.
The total number of floating-point operations for real flavors is approximately n ( kb +1) 2 . The number of operations for complex flavors is 4 times greater. All these estimates assume that kb is much less than n .
After calling this routine, you can call sbgst / hbgst to solve the generalized eigenproblem \(Az = \lambda Bz\) , where \(A\) and \(B\) are banded and \(B\) is positive-definite.