143 SUBROUTINE zpbtf2( UPLO, N, KD, AB, LDAB, INFO )
152 INTEGER INFO, KD, LDAB, N
155 COMPLEX*16 AB( ldab, * )
161 DOUBLE PRECISION ONE, ZERO
162 parameter ( one = 1.0d+0, zero = 0.0d+0 )
177 INTRINSIC dble, max, min, sqrt
184 upper = lsame( uplo,
'U' )
185 IF( .NOT.upper .AND. .NOT.lsame( uplo,
'L' ) )
THEN
187 ELSE IF( n.LT.0 )
THEN
189 ELSE IF( kd.LT.0 )
THEN
191 ELSE IF( ldab.LT.kd+1 )
THEN
195 CALL xerbla(
'ZPBTF2', -info )
204 kld = max( 1, ldab-1 )
214 ajj = dble( ab( kd+1, j ) )
215 IF( ajj.LE.zero )
THEN
227 CALL zdscal( kn, one / ajj, ab( kd, j+1 ), kld )
228 CALL zlacgv( kn, ab( kd, j+1 ), kld )
229 CALL zher(
'Upper', kn, -one, ab( kd, j+1 ), kld,
230 $ ab( kd+1, j+1 ), kld )
231 CALL zlacgv( kn, ab( kd, j+1 ), kld )
242 ajj = dble( ab( 1, j ) )
243 IF( ajj.LE.zero )
THEN
255 CALL zdscal( kn, one / ajj, ab( 2, j ), 1 )
256 CALL zher(
'Lower', kn, -one, ab( 2, j ), 1,
257 $ ab( 1, j+1 ), kld )
subroutine zpbtf2(UPLO, N, KD, AB, LDAB, INFO)
ZPBTF2 computes the Cholesky factorization of a symmetric/Hermitian positive definite band matrix (un...
subroutine xerbla(SRNAME, INFO)
XERBLA
subroutine zher(UPLO, N, ALPHA, X, INCX, A, LDA)
ZHER
subroutine zdscal(N, DA, ZX, INCX)
ZDSCAL
subroutine zlacgv(N, X, INCX)
ZLACGV conjugates a complex vector.