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

  1. C
  2. C     ..................................................................
  3. C
  4. C        SUBROUTINE LAPS
  5. C
  6. C        PURPOSE
  7. C           COMPUTES THE VALUE OF AN N-TERM EXPANSION IN LAGUERRE
  8. C           POLYNOMIALS WITH COEFFICIENT VECTOR C FOR ARGUMENT VALUE X.
  9. C
  10. C        USAGE
  11. C           CALL LAPS(Y,X,C,N)
  12. C
  13. C        DESCRIPTION OF PARAMETERS
  14. C           Y     - RESULT VALUE
  15. C           X     - ARGUMENT VALUE
  16. C           C     - COEFFICIENT VECTOR OF GIVEN EXPANSION
  17. C                   COEFFICIENTS ARE ORDERED FROM LOW TO HIGH
  18. C           N     - DIMENSION OF COEFFICIENT VECTOR C
  19. C
  20. C        REMARKS
  21. C           OPERATION IS BYPASSED IN CASE N LESS THAN 1
  22. C
  23. C        SUBROUTINES AND FUNCTION SUBPROGRAMS REQUIRED
  24. C           NONE
  25. C
  26. C        METHOD
  27. C           DEFINITION
  28. C           Y=SUM(C(I)*L(I-1,X), SUMMED OVER I FROM 1 TO N).
  29. C           EVALUATION IS DONE BY MEANS OF UPWARD RECURSION
  30. C           USING THE RECURRENCE EQUATION FOR LAGUERRE POLYNOMIALS
  31. C           L(N+1,X)=2*L(N,X)-L(N-1,X)-((1+X)*L(N,X)-L(N-1,X))/(N+1).
  32. C
  33. C     ..................................................................
  34. C
  35.       SUBROUTINE LAPS(Y,X,C,N)
  36. C
  37.       DIMENSION C(1)
  38. C
  39. C        TEST OF DIMENSION
  40.       IF(N)1,1,2
  41.     1 RETURN
  42. C
  43.     2 Y=C(1)
  44.       IF(N-2)1,3,3
  45. C
  46. C        INITIALIZATION
  47.     3 H0=1.
  48.       H1=1.-X
  49.       T=1.+X
  50. C
  51.       DO 4 I=2,N
  52.       H2=H1-H0+H1-(T*H1-H0)/FLOAT(I)
  53.       H0=H1
  54.       H1=H2
  55.     4 Y=Y+C(I)*H0
  56.       RETURN
  57.       END
  58.