143 SUBROUTINE cpbtf2( UPLO, N, KD, AB, LDAB, INFO )
152 INTEGER INFO, KD, LDAB, N
155 COMPLEX AB( ldab, * )
162 parameter ( one = 1.0e+0, zero = 0.0e+0 )
177 INTRINSIC max, min,
REAL, 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(
'CPBTF2', -info )
204 kld = max( 1, ldab-1 )
214 ajj =
REAL( AB( KD+1, J ) )
215 IF( ajj.LE.zero )
THEN
227 CALL csscal( kn, one / ajj, ab( kd, j+1 ), kld )
228 CALL clacgv( kn, ab( kd, j+1 ), kld )
229 CALL cher(
'Upper', kn, -one, ab( kd, j+1 ), kld,
230 $ ab( kd+1, j+1 ), kld )
231 CALL clacgv( kn, ab( kd, j+1 ), kld )
242 ajj =
REAL( AB( 1, J ) )
243 IF( ajj.LE.zero )
THEN
255 CALL csscal( kn, one / ajj, ab( 2, j ), 1 )
256 CALL cher(
'Lower', kn, -one, ab( 2, j ), 1,
257 $ ab( 1, j+1 ), kld )
subroutine cher(UPLO, N, ALPHA, X, INCX, A, LDA)
CHER
subroutine cpbtf2(UPLO, N, KD, AB, LDAB, INFO)
CPBTF2 computes the Cholesky factorization of a symmetric/Hermitian positive definite band matrix (un...
subroutine xerbla(SRNAME, INFO)
XERBLA
subroutine clacgv(N, X, INCX)
CLACGV conjugates a complex vector.
subroutine csscal(N, SA, CX, INCX)
CSSCAL