142 SUBROUTINE zlaqhb( UPLO, N, KD, AB, LDAB, S, SCOND, AMAX, EQUED )
150 CHARACTER EQUED, UPLO
152 DOUBLE PRECISION AMAX, SCOND
155 DOUBLE PRECISION S( * )
156 COMPLEX*16 AB( ldab, * )
162 DOUBLE PRECISION ONE, THRESH
163 parameter ( one = 1.0d+0, thresh = 0.1d+0 )
167 DOUBLE PRECISION CJ, LARGE, SMALL
171 DOUBLE PRECISION DLAMCH
172 EXTERNAL lsame, dlamch
175 INTRINSIC dble, max, min
188 small = dlamch(
'Safe minimum' ) / dlamch(
'Precision' )
191 IF( scond.GE.thresh .AND. amax.GE.small .AND. amax.LE.large )
THEN
200 IF( lsame( uplo,
'U' ) )
THEN
206 DO 10 i = max( 1, j-kd ), j - 1
207 ab( kd+1+i-j, j ) = cj*s( i )*ab( kd+1+i-j, j )
209 ab( kd+1, j ) = cj*cj*dble( ab( kd+1, j ) )
217 ab( 1, j ) = cj*cj*dble( ab( 1, j ) )
218 DO 30 i = j + 1, min( n, j+kd )
219 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.