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 / HILBER.FOR < prev    next >
Encoding:
Text File  |  1991-04-13  |  678 b   |  32 lines

  1.       SUBROUTINE HILBER (A, LDA, N)
  2.       IMPLICIT NONE
  3. C
  4. C GENERATE INVERSE HILBERT MATRIX
  5. C
  6.       INTEGER LDA, N
  7.       DOUBLE PRECISION A(LDA,N)
  8. C
  9.       INTEGER I, J, IP1
  10.       DOUBLE PRECISION P, R
  11. C
  12.       DOUBLE PRECISION DFLOAT
  13. C
  14. C
  15.       P = DFLOAT (N)
  16.       DO 20 I = 1, N
  17.         IF (I.NE.1) P = (DFLOAT (N-I+1)*P*
  18.      .                   DFLOAT (N+I-1))/DFLOAT (I-1)**2
  19.         R = P*P
  20.         A(I,I) = R/DFLOAT (2*I-1)
  21.         IF (I.EQ.N) GO TO 20
  22.         IP1 = I+1
  23.         DO 10 J = IP1, N
  24.           R = -(DFLOAT (N-J+1)*R*(N+J-1))/DFLOAT (J-1)**2
  25.           A(I,J) = R/DFLOAT (I+J-1)
  26.           A(J,I) = A(I,J)
  27. 10      CONTINUE
  28. 20    CONTINUE
  29. C
  30.       RETURN
  31.       END
  32.