140 SUBROUTINE zlaqhb( UPLO, N, KD, AB, LDAB, S, SCOND, AMAX, EQUED )
147 CHARACTER EQUED, UPLO
149 DOUBLE PRECISION AMAX, SCOND
152 DOUBLE PRECISION S( * )
153 COMPLEX*16 AB( LDAB, * )
159 DOUBLE PRECISION ONE, THRESH
160 parameter( one = 1.0d+0, thresh = 0.1d+0 )
164 DOUBLE PRECISION CJ, LARGE, SMALL
168 DOUBLE PRECISION DLAMCH
169 EXTERNAL lsame, dlamch
172 INTRINSIC dble, max, min
185 small = dlamch(
'Safe minimum' ) / dlamch(
'Precision' )
188 IF( scond.GE.thresh .AND. amax.GE.small .AND. amax.LE.large )
THEN
197 IF( lsame( uplo,
'U' ) )
THEN
203 DO 10 i = max( 1, j-kd ), j - 1
204 ab( kd+1+i-j, j ) = cj*s( i )*ab( kd+1+i-j, j )
206 ab( kd+1, j ) = cj*cj*dble( ab( kd+1, j ) )
214 ab( 1, j ) = cj*cj*dble( ab( 1, j ) )
215 DO 30 i = j + 1, min( n, j+kd )
216 ab( 1+i-j, j ) = cj*s( i )*ab( 1+i-j, j )
subroutine zlaqhb(uplo, n, kd, ab, ldab, s, scond, amax, equed)
ZLAQHB scales a Hermitian band matrix, using scaling factors computed by cpbequ.