Subject: Gauss-Hermite Quadrature

From: "Eric G. Bradford" <[email-masked]>
Date: Mon, 9 Oct 1995 10:00:35 -0500 (CDT)

I am attempting to port an ab initio code from RISC to CRAY.  There is a 
problem which occurs within a routine used to generate the integrals - 
Gauss-Hermite quadrature minimum-point formula.  The routine name is 
STVINT and is the same found in other ab initio codes.  The problem is 
the calculation of xint, yint, and zint at the end of the routine.  The 
lines in question follow:

xint = xint+dum*px
yint = yint+dum*py
zint = zint+dum*pz

dum is a value set in a data statement and px, py, pz are calculated during 
the routine.  On a RISC machine (IBM, HP), the above lines calculate 
dum*px as the negative value of xint.  Therefore xint = xint + (-xint) = 0.0
The same is true for yint and zint.  However, on the CRAY, dum*px is 
calculated as a value close to the negative of xint.  Therefore xint = 
xint + dum*px = ~1.0E-17

Has anyone had similar difficulties porting codes from RISC to CRAY.  Are 
there methods or tricks I can use to correct this "problem" on the 
CRAY.   The present situation does not cause the code to abort but it 
does cause the incorrect number of integrals to be generated on the CRAY.

Eric G. Bradford, Ph.D.     
Nichols Research Corporation 
Alabama Supercomputer Network 
email: [email-masked]
phone: (205) 934-3893
fax:   (205) 934-9245