139 SUBROUTINE zpbtf2( UPLO, N, KD, AB, LDAB, INFO )
147 INTEGER INFO, KD, LDAB, N
150 COMPLEX*16 AB( LDAB, * )
156 DOUBLE PRECISION ONE, ZERO
157 parameter( one = 1.0d+0, zero = 0.0d+0 )
172 INTRINSIC dble, max, min, sqrt
179 upper = lsame( uplo,
'U' )
180 IF( .NOT.upper .AND. .NOT.lsame( uplo,
'L' ) )
THEN
182 ELSE IF( n.LT.0 )
THEN
184 ELSE IF( kd.LT.0 )
THEN
186 ELSE IF( ldab.LT.kd+1 )
THEN
190 CALL xerbla(
'ZPBTF2', -info )
199 kld = max( 1, ldab-1 )
209 ajj = dble( ab( kd+1, j ) )
210 IF( ajj.LE.zero )
THEN
222 CALL zdscal( kn, one / ajj, ab( kd, j+1 ), kld )
223 CALL zlacgv( kn, ab( kd, j+1 ), kld )
224 CALL zher(
'Upper', kn, -one, ab( kd, j+1 ), kld,
225 $ ab( kd+1, j+1 ), kld )
226 CALL zlacgv( kn, ab( kd, j+1 ), kld )
237 ajj = dble( ab( 1, j ) )
238 IF( ajj.LE.zero )
THEN
250 CALL zdscal( kn, one / ajj, ab( 2, j ), 1 )
251 CALL zher(
'Lower', kn, -one, ab( 2, j ), 1,
252 $ ab( 1, j+1 ), kld )
subroutine zher(uplo, n, alpha, x, incx, a, lda)
ZHER
subroutine zpbtf2(uplo, n, kd, ab, ldab, info)
ZPBTF2 computes the Cholesky factorization of a symmetric/Hermitian positive definite band matrix (un...