123      SUBROUTINE zlaqhp( UPLO, N, AP, S, SCOND, AMAX, EQUED )
 
  130      CHARACTER          EQUED, UPLO
 
  132      DOUBLE PRECISION   AMAX, SCOND
 
  135      DOUBLE PRECISION   S( * )
 
  142      DOUBLE PRECISION   ONE, THRESH
 
  143      parameter( one = 1.0d+0, thresh = 0.1d+0 )
 
  147      DOUBLE PRECISION   CJ, LARGE, SMALL
 
  151      DOUBLE PRECISION   DLAMCH
 
  152      EXTERNAL           lsame, dlamch
 
  168      small = dlamch( 
'Safe minimum' ) / dlamch( 
'Precision' )
 
  171      IF( scond.GE.thresh .AND. amax.GE.small .AND. amax.LE.large ) 
THEN 
  180         IF( lsame( uplo, 
'U' ) ) 
THEN 
  188                  ap( jc+i-1 ) = cj*s( i )*ap( jc+i-1 )
 
  190               ap( jc+j-1 ) = cj*cj*dble( ap( jc+j-1 ) )
 
  200               ap( jc ) = cj*cj*dble( ap( jc ) )
 
  202                  ap( jc+i-j ) = cj*s( i )*ap( jc+i-j )
 
 
subroutine zlaqhp(uplo, n, ap, s, scond, amax, equed)
ZLAQHP scales a Hermitian matrix stored in packed form.