Date: Mon, 29 Jun 2009 11:35:11 -0600
From: Phil DeMier
Subject: [Lapack] matrix splitting problem with dstebz and sstebz
Greetings,
We have discovered a problem with DSYEVX. The problem occurs for certain
matrices created using a specific algorithm.
We are able to work around the problem by removing the "matrix splitting" code
in dstebz. This problem also occurs in sstebz.
DO 10 J = 2, N
TMP1 = E( J-1 )**2
!! IF( ABS( D( J )*D( J-1 ) )*ULP**2+SAFEMN.GT.TMP1 ) THEN
!! ISPLIT( NSPLIT ) = J - 1
!! NSPLIT = NSPLIT + 1
!! WORK( J-1 ) = ZERO
!! ELSE
WORK( J-1 ) = TMP1
PIVMIN = MAX( PIVMIN, TMP1 )
!! END IF
10 CONTINUE
Please see the attached test program testevx.f which demonstrates the failure.
(See attached file: testevx.f)
Output from the test:
*** Math check results for DSYT22 with N= 7 and M= 5
*** exceeded the threshold value of .10000000D+03
*** Math check: | U' A U - S | / ( |A| m ulp )
*** result was .76390963D+13
*** Math check: | I - U'U | / ( m ulp )
*** result was .15278193D+15