LAPACK routine test for ZGGBAK


[ Follow Ups ] [ Post Followup ] [ Netlib Discussion Forum ] [ FAQ ]

Posted by Paul J. Hinker on July 08, 1997 at 14:17:02:

I have a question regarding the LAPACK GGBAK tests. I am
tuning LAPACK for windows NT for pentium processors. I am
getting a large error in the ZGGBAK tests. TEST_LAPACK/EIG/*chkgk.f
reads initial values for general matrices A, B, VL and VR where VL and
VR contain left and right eigenvectors for A and B. Then calls are made
to *GGBAL and *GGBAK to balance the matrices and form new eigenvectors.

Then the matrices E and F are formed by the following procedure
where the ' indicates a transformed matrix.

E = VL' A VR'
F = VL A' VR

E and F are compared element by element to find the maximum differance
VMAX.

Then a final error ratio is computed with:

RMAX = VMAX / ( EPS*MAX( ANORM, BNORM ) )

I have a case in the double complex test where the following two
complex number are found in corresponding elements of E and F.

(-846451377432000.,-834064341200000.) , (-846451377432001.,-834064341200001.)

Both the real and imaginary components are identical out to fourteen digits.
The reported ratio is 0.796D+04.

VMAX = 0.250000000000000
EPS = 0.222044604925031D-015
MAX(ANORM, BNORM) = 0.141421356237310D+012

It appears to me that the 80-bit floating point arithmetic
on the Pentiums is causing this error in the 15th significant
digit. Unfortunately, I'm not conversant enough with
the eigenvalue routines to make a mathematical argument
as to why I think this is a rounding error. Has anyone
seen this and handled it already?

Thanks
Paul Hinker


Follow Ups: