bug report on pzlahqr, if somebody has time to investigate let
Thanks for the bug report Nakahara,
if the routine p[c-z]lahqr uses its do-loop 20, element S1(1,0) and
S1(0,1) are accessed, that's pretty clear:
522 DO 20 II = 2*JBLK, 1, -1
523 S1( II, II ) = CONST*( CABS1( S1( II, II ) )+
524 $ CABS1( S1( II, II-1 ) ) )
525 S1( II, II-1 ) = ZERO
526 S1( II-1, II ) = ZERO
527 20 CONTINUE
Unfortunately the ScaLAPACK testing are not exercizing this part of the
code, it is done only when:
518 IF( ( ITS.EQ.20 .OR. ITS.EQ.40 ) .AND. ( JBLK.GT.1 ) ) THEN
The maximum number of ITS necessary in the testing is 6. So no easy way to
test a solution right now. I think the solution is simply to avoid the
reference to S(1,0) and S(0,1) when it occurs but can not confirm it.
---------- Forwarded message ----------
Date: Mon, 13 Mar 2006 20:41:47 -0500 (EST)
From: Yasuhiro Nakahara
Subject: LAPACK Error Report
LAPACK Error Report Submission.
Description: pzlahqr routine was aborted due to a segmentation fault.
I found an invalid memory access at the line 525 in pzlahqr.f.
In the DO-loop, with II=1, S1(1, 0) was accessed.
System: Celeron 2.40GHz; 256MB RAM
OS: Windows 2000, Cygwin
Compiler: GNU gcc v.3.3.3
Compiler flags: -funroll-all-loops -O2 -g
BLAS: ATLAS v3.7.11
Atlas options: -fomit-frame-pointer -O3 -funroll-all-loops
First name: Yasuhiro
Last name: Nakahara
Company: Canon inc.
Mon Mar 13 20:41:47 2006