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
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 )
LOGICAL function lsame(CA, CB)
LSAME
set ue cd $ADTTMP cat<< EOF > tmp f Program LinearEquations Implicit none Real j
DOUBLE PRECISION function dlamch(CMACH)
DLAMCH
subroutine zlaqhb(UPLO, N, KD, AB, LDAB, S, SCOND, AMAX, EQUED)
ZLAQHB scales a Hermitian band matrix, using scaling factors computed by cpbequ.