C C .................................................................. C C SUBROUTINE DQH64 C C PURPOSE C TO COMPUTE INTEGRAL(EXP(-X*X)*FCT(X), SUMMED OVER X FROM C -INFINITY TO +INFINITY). C C USAGE C CALL DQH64 (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 64-POINT GAUSSIAN-HERMITE C QUADRATURE FORMULA, WHICH INTEGRATES EXACTLY WHENEVER C FCT(X) IS A POLYNOMIAL UP TO DEGREE 127. 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.213-214. C C .................................................................. C SUBROUTINE DQH64(FCT,Y) C C DOUBLE PRECISION X,Y,Z,FCT C X=.10526123167960546D2 Z=-X Y=.55357065358569428D-28*(FCT(X)+FCT(Z)) X=.9895287586829539D1 Z=-X Y=Y+.16797479901081592D-22*(FCT(X)+FCT(Z)) X=.9373159549646721D21 Z=-X Y=Y+.34211380112557405D-18*(FCT(X)+FCT(Z)) X=.8907249099964770D1 Z=-X Y=Y+.15573906246297638D-14*(FCT(X)+FCT(Z)) X=.8477529083379863D1 Z=-X Y=Y+.25496608991129993D-11*(FCT(X)+FCT(Z)) X=.8073687285010225D1 Z=-X Y=Y+.19291035954649669D-8*(FCT(X)+FCT(Z)) X=.7689540164040497D1 Z=-X Y=Y+.7861797788925910D-6*(FCT(X)+FCT(Z)) X=.7321013032780949D1 Z=-X Y=Y+.19117068833006428D-3*(FCT(X)+FCT(Z)) X=.69652411205511075D1 Z=-X Y=Y+.29828627842798512D-1*(FCT(X)+FCT(Z)) X=.66201122626360274D1 Z=-X Y=Y+.31522545665037814D1*(FCT(X)+FCT(Z)) X=.62840112287748282D1 Z=-X Y=Y+.23518847106758191D3*(FCT(X)+FCT(Z)) X=.59556663267994860D1 Z=-X Y=Y+.12800933913224380D5*(FCT(X)+FCT(Z)) X=.56340521643499721D1 Z=-X Y=Y+.52186237265908475D6*(FCT(X)+FCT(Z)) X=.53183252246332709D1 Z=-X Y=Y+.16283407307097204D8*(FCT(X)+FCT(Z)) X=.50077796021987682D1 Z=-X Y=Y+.39591777669477239D9*(FCT(X)+FCT(Z)) X=.47018156474074998D1 Z=-X Y=Y+.7615217250145451D10*(FCT(X)+FCT(Z)) X=.43999171682281376D1 Z=-X Y=Y+.11736167423215493D12*(FCT(X)+FCT(Z)) X=.41016344745666567D1 Z=-X Y=Y+.14651253164761094D13*(FCT(X)+FCT(Z)) X=.38065715139453605D1 Z=-X Y=Y+.14955329367272471D14*(FCT(X)+FCT(Z)) X=.35143759357409062D1 Z=-X Y=Y+.12583402510311846D15*(FCT(X)+FCT(Z)) X=.32247312919920357D1 Z=-X Y=Y+.8788499230850359D15*(FCT(X)+FCT(Z)) X=.29373508230046218D1 Z=-X Y=Y+.51259291357862747D16*(FCT(X)+FCT(Z)) X=.26519724354306350D1 Z=-X Y=Y+.25098369851306249D17*(FCT(X)+FCT(Z)) X=.23683545886324014D1 Z=-X Y=Y+.10363290995075777D18*(FCT(X)+FCT(Z)) X=.20862728798817620D1 Z=-X Y=Y+.36225869785344588D18*(FCT(X)+FCT(Z)) X=.18055171714655449D1 Z=-X Y=Y+.10756040509879137D19*(FCT(X)+FCT(Z)) X=.15258891402098637D1 Z=-X Y=Y+.27203128953688918D19*(FCT(X)+FCT(Z)) X=.12472001569431179D1 Z=-X Y=Y+.58739981964099435D19*(FCT(X)+FCT(Z)) X=.9692694230711780D0 Z=-X Y=Y+.10849834930618684D20*(FCT(X)+FCT(Z)) X=.69192230581004458D0 Z=-X Y=Y+.17168584234908370D20*(FCT(X)+FCT(Z)) X=.41498882412107868D0 Z=-X Y=Y+.23299478606267805D20*(FCT(X)+FCT(Z)) X=.13830224498700972D0 Z=-X Y=Y+.27137742494130398D20*(FCT(X)+FCT(Z)) Y=Y*1.D-20 RETURN END