133 SUBROUTINE zpbcon( UPLO, N, KD, AB, LDAB, ANORM, RCOND, WORK,
143 INTEGER INFO, KD, LDAB, N
144 DOUBLE PRECISION ANORM, RCOND
147 DOUBLE PRECISION RWORK( * )
148 COMPLEX*16 AB( ldab, * ), WORK( * )
154 DOUBLE PRECISION ONE, ZERO
155 parameter( one = 1.0d+0, zero = 0.0d+0 )
161 DOUBLE PRECISION AINVNM, SCALE, SCALEL, SCALEU, SMLNUM
170 DOUBLE PRECISION DLAMCH
171 EXTERNAL lsame, izamax, dlamch
177 INTRINSIC abs, dble, dimag
180 DOUBLE PRECISION CABS1
183 cabs1( zdum ) = abs( dble( zdum ) ) + abs( dimag( zdum ) )
190 upper = lsame( uplo,
'U' )
191 IF( .NOT.upper .AND. .NOT.lsame( uplo,
'L' ) )
THEN 193 ELSE IF( n.LT.0 )
THEN 195 ELSE IF( kd.LT.0 )
THEN 197 ELSE IF( ldab.LT.kd+1 )
THEN 199 ELSE IF( anorm.LT.zero )
THEN 203 CALL xerbla(
'ZPBCON', -info )
213 ELSE IF( anorm.EQ.zero )
THEN 217 smlnum = dlamch(
'Safe minimum' )
224 CALL zlacn2( n, work( n+1 ), work, ainvnm, kase, isave )
230 CALL zlatbs(
'Upper',
'Conjugate transpose',
'Non-unit',
231 $ normin, n, kd, ab, ldab, work, scalel, rwork,
237 CALL zlatbs(
'Upper',
'No transpose',
'Non-unit', normin, n,
238 $ kd, ab, ldab, work, scaleu, rwork, info )
243 CALL zlatbs(
'Lower',
'No transpose',
'Non-unit', normin, n,
244 $ kd, ab, ldab, work, scalel, rwork, info )
249 CALL zlatbs(
'Lower',
'Conjugate transpose',
'Non-unit',
250 $ normin, n, kd, ab, ldab, work, scaleu, rwork,
256 scale = scalel*scaleu
257 IF( scale.NE.one )
THEN 258 ix = izamax( n, work, 1 )
259 IF( scale.LT.cabs1( work( ix ) )*smlnum .OR. scale.EQ.zero )
261 CALL zdrscl( n, scale, work, 1 )
269 $ rcond = ( one / ainvnm ) / anorm
subroutine zlacn2(N, V, X, EST, KASE, ISAVE)
ZLACN2 estimates the 1-norm of a square matrix, using reverse communication for evaluating matrix-vec...
subroutine zdrscl(N, SA, SX, INCX)
ZDRSCL multiplies a vector by the reciprocal of a real scalar.
subroutine xerbla(SRNAME, INFO)
XERBLA
subroutine zpbcon(UPLO, N, KD, AB, LDAB, ANORM, RCOND, WORK, RWORK, INFO)
ZPBCON
subroutine zlatbs(UPLO, TRANS, DIAG, NORMIN, N, KD, AB, LDAB, X, SCALE, CNORM, INFO)
ZLATBS solves a triangular banded system of equations.