C=-------- CS 5 HOUSEHOLDER TRANSFORMATIONS FOR LEAST-SQUARES PROBLEMS
C SOLUTION OF THE LINEAR LEAST SQUARES PROBLEM BY HOUSEHOLDER
C TRANSFORMATIONS.
      TEST (M=4,N=3)
      DIMENSION (A(M,N), B(M), X(N), DIAG(N))
      INPUT (A,B)
C
      FOR K = 1 TO N BY 1
C     COMPUTE THE K-TH HOUSEHOLDER TRANSFORMATION.
          SUM =  SUMMATION (A(I,K)*A(I,K), I = K TO M)
          S = SQRT(SUM)
C         WE COULD ALSO USE S = -SQRT(SUM)
          DIAG (K) = -S
          A(K,K) = A(K,K) + S
          P = S*A(K,K)
          FOR J = K+1 TO N BY 1
C         TRANSFORM THE REMAINING COLUMNS AND B.
              T = SUMMATION (A(I,K)*A(I,J), I = K TO M)/P
              FOR I = K TO M BY 1
                  A(I,J) = A(I,J) - T*A(I,K)
                  END (I)
              END (J)
          T = SUMMATION (A(I,K)*B(I), I = K TO M)/P
          FOR I = K TO M BY 1
              B(I) = B(I) - T*A(I,K)
              END (I)
          END (K)
C
C BACK SUBSTITUTION.
      FOR I = N TO 1 BY -1
          X(I) = (B(I) - SUMMATION (A(I,J)*X(J),J=I+1 TO N))/DIAG(I)
          END (I)
      OUTPUT (X)
      *STOP
