home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Power-Programmierung
/
CD1.mdf
/
fortran
/
library
/
ssp
/
aglgquad
/
dqa32.for
< prev
next >
Wrap
Text File
|
1985-11-29
|
4KB
|
109 lines
C
C ..................................................................
C
C SUBROUTINE DQA32
C
C PURPOSE
C TO COMPUTE INTEGRAL(EXP(-X)*FCT(X)/SQRT(X), SUMMED OVER X
C FROM 0 TO INFINITY).
C
C USAGE
C CALL DQA32 (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 32-POINT GENERALIZED GAUSS-
C LAGUERRE QUADRATURE FORMULA, WHICH INTEGRATES EXACTLY
C WHENEVER FCT(X) IS A POLYNOMIAL UP TO DEGREE 63.
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.15-16.
C
C ..................................................................
C
SUBROUTINE DQA32(FCT,Y)
C
C
DOUBLE PRECISION X,Y,FCT
C
X=.11079926894707576D3
Y=.11071413071713886D-47*FCT(X)
X=.9791671642606276D2
Y=Y+.33594959802163184D-42*FCT(X)
X=.8785611994313352D2
Y=Y+.68422760225114810D-38*FCT(X)
X=.7933908652882320D2
Y=Y+.31147812492595276D-34*FCT(X)
X=.71868499359551422D2
Y=Y+.50993217982259985D-31*FCT(X)
X=.65184426376135782D2
Y=Y+.38582071909299337D-28*FCT(X)
X=.59129027934391951D2
Y=Y+.15723595577851821D-25*FCT(X)
X=.53597231826148512D2
Y=Y+.38234137666012857D-23*FCT(X)
X=.48514583867416048D2
Y=Y+.59657255685597023D-21*FCT(X)
X=.43825886369903902D2
Y=Y+.63045091330075628D-19*FCT(X)
X=.39488797123368127D2
Y=Y+.47037694213516382D-17*FCT(X)
X=.35469961396173283D2
Y=Y+.25601867826448761D-15*FCT(X)
X=.31742543790616606D2
Y=Y+.10437247453181695D-13*FCT(X)
X=.28284583194970531D2
Y=Y+.32566814614194407D-12*FCT(X)
X=.25077856544198053D2
Y=Y+.7918355533895448D-11*FCT(X)
X=.22107070382206007D2
Y=Y+.15230434500290903D-9*FCT(X)
X=.19359271087268714D2
Y=Y+.23472334846430987D-8*FCT(X)
X=.16823405362953694D2
Y=Y+.29302506329522187D-7*FCT(X)
X=.14489986690780274D2
Y=Y+.29910658734544941D-6*FCT(X)
X=.12350838217714770D2
Y=Y+.25166805020623692D-5*FCT(X)
X=.10398891905552624D2
Y=Y+.17576998461700718D-4*FCT(X)
X=.8628029857405929D1
Y=Y+.10251858271572549D-3*FCT(X)
X=.70329577982838936D1
Y=Y+.50196739702612497D-3*FCT(X)
X=.56091034574961513D1
Y=Y+.20726581990151553D-2*FCT(X)
X=.43525345293301410D1
Y=Y+.7245173957068918D-2*FCT(X)
X=.32598922564569419D1
Y=Y+.21512081019758274D-1*FCT(X)
X=.23283376682103970D1
Y=Y+.54406257907377837D-1*FCT(X)
X=.15555082314789380D1
Y=Y+.11747996392819887D0*FCT(X)
X=.9394832145007343D0
Y=Y+.21699669861237368D0*FCT(X)
X=.47875647727748885D0
Y=Y+.34337168469816740D0*FCT(X)
X=.17221572414539558D0
Y=Y+.46598957212535609D0*FCT(X)
X=.19127510968446856D-1
Y=Y+.54275484988260796D0*FCT(X)
RETURN
END