home *** CD-ROM | disk | FTP | other *** search
/ The Fred Fish Collection 1.5 / ffcollection-1-5-1992-11.iso / ff_progs / libs / matlab.lzh / MATLAB / MATLAB.LZH / Source / MatLab / WPOFA.FOR < prev    next >
Encoding:
Text File  |  1991-04-13  |  930 b   |  39 lines

  1.       SUBROUTINE WPOFA (AR, AI, LDA, N, INFO)
  2.       IMPLICIT NONE
  3. C
  4.       INTEGER LDA, N, INFO
  5.       DOUBLE PRECISION AR(LDA,*), AI(LDA,*)
  6. C
  7.       INTEGER J, JM1, K
  8.       DOUBLE PRECISION S, TR, TI
  9. C
  10.       DOUBLE PRECISION WDOTCR, WDOTCI
  11. C
  12. C
  13.       DO 30 J = 1, N
  14.         INFO = J
  15.         S = 0.0D0
  16.         JM1 = J-1
  17.         IF (JM1.LT.1) GO TO 20
  18.         DO 10 K = 1, JM1
  19.           TR = AR(K,J)-WDOTCR (K-1, AR(1,K), AI(1,K),
  20.      .                         1, AR(1,J), AI(1,J), 1)
  21.           TI = AI(K,J)-WDOTCI (K-1, AR(1,K), AI(1,K),
  22.      .                         1, AR(1,J), AI(1,J), 1)
  23.           CALL WDIV (TR, TI, AR(K,K), AI(K,K), TR, TI)
  24.           AR(K,J) = TR
  25.           AI(K,J) = TI
  26.           S = S+TR*TR+TI*TI
  27. 10      CONTINUE
  28. C
  29. 20      CONTINUE
  30.         S = AR(J,J)-S
  31.         IF (S.LE.0.0D0 .OR. AI(J,J).NE.0.0D0) GO TO 40
  32.         AR(J,J) = DSQRT (S)
  33. 30    CONTINUE
  34.       INFO = 0
  35. C
  36. 40    CONTINUE
  37.       RETURN
  38.       END
  39.