C USE THE NORMAL EQUATIONS TO SOLVE THE LINEAR LEAST SQUARES PROBLEM.
      TEST (M = 4, N = 3)
      DIMENSION (A(M,N), T(N,N), L(N,N), B(M), S(N), X(N), Y(N))
      INPUT (A,B)
C
C FORM THE NORMAL EQUATIONS.
      FOR I = 1 TO N BY 1
          FOR J = 1 TO I BY 1
              T(I,J) = SUMMATION(A(K,I)*A(K,J),K=1 TO M)
              END (J)
          S(I) = SUMMATION(A(K,I)*B(K), K = 1 TO M)
          END (I)
C
C ===================================================================
      COMPOSITION
C ===================================================================
C
C USE THE CHOLESKY METHOD.  FACTOR T AS L*(L TRANSPOSE).
      FOR I = 1 TO N BY 1
          FOR J = 1 TO I-1 BY 1
              TEMP = T(I,J) - SUMMATION(L(I,K)*L(J,K), K = 1 TO J-1)
              L(I,J) = TEMP/L(J,J)
              END (J)
          TEMP = T(I,I) - SUMMATION(L(I,K)*L(I,K),K = 1 TO I-1)
          L(I,I) = SQRT (TEMP)
          END (I)
C
C FORWARD SUBSTITUTION.  SOLVE L*Y = B.
      FOR I = 1 TO N BY 1
          Y(I) = (S(I) - SUMMATION(L(I,J)*Y(J), J = 1 TO I-1))/L(I,I)
          END (I)
C
C BACK SUBSTITUTION.  SOLVE (L TRANSPOSE)*X = Y.
      FOR I = N TO 1 BY -1
          X(I) = (Y(I) - SUMMATION(L(J,I)*X(J), J = I+1 TO N))/L(I,I)
          END (I)
      OUTPUT (X)
      *STOP
