      SUBROUTINE HOUSH (DUMMY,K,J,EPS,ZERO,S)
C
C        THIS ROUTINE CONSTRUCTS A HOUSEHOLDER TRANSFORMATION
C                H = I - S * U * U'
C        THAT 'MIRRORS' A VECTOR  DUMMY(1, ... ,K)  TO THE JTH
C        UNIT VECTOR.  IF NORM(DUMMY) .LT. EPS, ZERO IS SET EQUAL
C        TO .TRUE.  UPON RETURN, U IS STORED IN DUMMY.
C
      DOUBLE PRECISION DUMMY(1),S,ALFA,DUM1,EPS
      LOGICAL ZERO
      ZERO = .TRUE.
      S = 0.0D0
      DO 10 I = 1,K
   10    S = S+DUMMY(I)*DUMMY(I)
      ALFA = DSQRT(S)
      IF (ALFA .LE. EPS) RETURN
      ZERO = .FALSE.
      DUM1 = DUMMY(J)
      IF (DUM1 .GT. 0.0D0) ALFA = -ALFA
      DUMMY(J) = DUM1-ALFA
      S = 1.0D0/(S-ALFA*DUM1)
      RETURN
      END
