home *** CD-ROM | disk | FTP | other *** search
- C
- C ..................................................................
- C
- C SUBROUTINE DQL24
- C
- C PURPOSE
- C TO COMPUTE INTEGRAL(EXP(-X)*FCT(X), SUMMED OVER X
- C FROM 0 TO INFINITY).
- C
- C USAGE
- C CALL DQL24 (FCT,Y)
- C PARAMETER FCT REQUIRES AN EXTERNAL STATEMENT
- C
- C DESCRIPTION OF PARAMETERS
- C FCT - THE NAME OF AN EXTERNAL DOUBLE PRECISION FUNCTION
- C SUBPROGRAM USED.
- C Y - THE RESULTING DOUBLE PRECISION INTEGRAL VALUE.
- C
- C REMARKS
- C NONE
- C
- C SUBROUTINES AND FUNCTION SUBPROGRAMS REQUIRED
- C THE EXTERNAL DOUBLE PRECISION FUNCTION SUBPROGRAM FCT(X)
- C MUST BE FURNISHED BY THE USER.
- C
- C METHOD
- C EVALUATION IS DONE BY MEANS OF 24-POINT GAUSSIAN-LAGUERRE
- C QUADRATURE FORMULA, WHICH INTEGRATES EXACTLY,
- C WHENEVER FCT(X) IS A POLYNOMIAL UP TO DEGREE 47.
- C FOR REFERENCE, SEE
- C SHAO/CHEN/FRANK, TABLES OF ZEROS AND GAUSSIAN WEIGHTS OF
- C CERTAIN ASSOCIATED LAGUERRE POLYNOMIALS AND THE RELATED
- C GENERALIZED HERMITE POLYNOMIALS, IBM TECHNICAL REPORT
- C TR00.1100 (MARCH 1964), PP.24-25.
- C
- C ..................................................................
- C
- SUBROUTINE DQL24(FCT,Y)
- C
- C
- DOUBLE PRECISION X,Y,FCT
- C
- X=.8149827923394889D2
- Y=.55753457883283568D-34*FCT(X)
- X=.69962240035105030D2
- Y=Y+.40883015936806578D-29*FCT(X)
- X=.61058531447218762D2
- Y=Y+.24518188458784027D-25*FCT(X)
- X=.53608574544695070D2
- Y=Y+.36057658645529590D-22*FCT(X)
- X=.47153106445156323D2
- Y=Y+.20105174645555035D-19*FCT(X)
- X=.41451720484870767D2
- Y=Y+.53501888130100376D-17*FCT(X)
- X=.36358405801651622D2
- Y=Y+.7819800382459448D-15*FCT(X)
- X=.31776041352374723D2
- Y=Y+.68941810529580857D-13*FCT(X)
- X=.27635937174332717D2
- Y=Y+.39177365150584514D-11*FCT(X)
- X=.23887329848169733D2
- Y=Y+.15070082262925849D-9*FCT(X)
- X=.20491460082616425D2
- Y=Y+.40728589875499997D-8*FCT(X)
- X=.17417992646508979D2
- Y=Y+.7960812959133630D-7*FCT(X)
- X=.14642732289596674D2
- Y=Y+.11513158127372799D-5*FCT(X)
- X=.12146102711729766D2
- Y=Y+.12544721977993333D-4*FCT(X)
- X=.9912098015077706D1
- Y=Y+.10446121465927518D-3*FCT(X)
- X=.7927539247172152D1
- Y=Y+.67216256409354789D-3*FCT(X)
- X=.61815351187367654D1
- Y=Y+.33693490584783036D-2*FCT(X)
- X=.46650837034671708D1
- Y=Y+.13226019405120157D-1*FCT(X)
- X=.33707742642089977D1
- Y=Y+.40732478151408646D-1*FCT(X)
- X=.22925620586321903D1
- Y=Y+.9816627262991889D-1*FCT(X)
- X=.14255975908036131D1
- Y=Y+.18332268897777802D0*FCT(X)
- X=.7660969055459366D0
- Y=Y+.25880670727286980D0*FCT(X)
- X=.31123914619848373D0
- Y=Y+.25877410751742390D0*FCT(X)
- X=.59019852181507977D-1
- Y=Y+.14281197333478185D0*FCT(X)
- RETURN
- END