home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD1.mdf / fortran / library / ssp / polysptp / dhep.for < prev    next >
Text File  |  1985-11-29  |  2KB  |  57 lines

  1. C
  2. C     ..................................................................
  3. C
  4. C        SUBROUTINE DHEP
  5. C
  6. C        PURPOSE
  7. C           COMPUTE THE VALUES OF THE HERMITE POLYNOMIALS H(N,X)
  8. C           FOR ARGUMENT VALUE X AND ORDERS 0 UP TO N.
  9. C
  10. C        USAGE
  11. C           CALL DHEP(Y,X,N)
  12. C
  13. C        DESCRIPTION OF PARAMETERS
  14. C           Y     - RESULT VECTOR OF DIMENSION N+1 CONTAINING THE VALUES
  15. C                   OF HERMITE POLYNOMIALS OF ORDER 0 UP TO N
  16. C                   FOR GIVEN ARGUMENT X.
  17. C                   DOUBLE PRECISION VECTOR.
  18. C                   VALUES ARE ORDERED FROM LOW TO HIGH ORDER
  19. C           X     - ARGUMENT OF HERMITE POLYNOMIAL
  20. C                   DOUBLE PRECISION VARIABLE.
  21. C           N     - ORDER OF HERMITE POLYNOMIAL
  22. C
  23. C        REMARKS
  24. C           N LESS THAN 0 IS TREATED AS IF N WERE 0
  25. C
  26. C        SUBROUTINES AND FUNCTION SUBPROGRAMS REQUIRED
  27. C           NONE
  28. C
  29. C        METHOD
  30. C           EVALUATION IS BASED ON THE RECURRENCE EQUATION FOR
  31. C           HERMITE POLYNOMIALS H(N,X)
  32. C           H(N+1,X)=2*(X*H(N,X)-N*H(N-1,X))
  33. C           WHERE THE FIRST TERM IN BRACKETS IS THE INDEX,
  34. C           THE SECOND IS THE ARGUMENT.
  35. C           STARTING VALUES ARE H(0,X)=1, H(1,X)=2*X.
  36. C
  37. C     ..................................................................
  38. C
  39.       SUBROUTINE DHEP(Y,X,N)
  40. C
  41.       DIMENSION Y(1)
  42.       DOUBLE PRECISION Y,X,F
  43. C
  44. C        TEST OF ORDER
  45.       Y(1)=1.D0
  46.       IF(N)1,1,2
  47.     1 RETURN
  48. C
  49.     2 Y(2)=X+X
  50.       IF(N-1)1,1,3
  51. C
  52.     3 DO 4 I=2,N
  53.       F=X*Y(I)-DFLOAT(I-1)*Y(I-1)
  54.     4 Y(I+1)=F+F
  55.       RETURN
  56.       END
  57.