
logs from the modifications from scalapack-1.7.0 to scalapack-1.7.3

********************************************************************************
From Rev:1 to Rev:10
	M SRC/Makefile
	M SRC/pslared1d.f
	M SRC/pdlared1d.f
	M SRC/pslared2d.f
	M SRC/pdlared2d.f
	M SRC/pcgesv.f
	M SRC/psgesv.f
	M SRC/pdgesv.f
	M SRC/pzgesv.f
	M SRC/pslahqr.f
	M SRC/pclahqr.f
	M SRC/pdlahqr.f
	M SRC/pzlahqr.f
	M SRC/pzgesvd.f
	M SRC/pcgesvd.f
	M SRC/psgesvd.f
	M SRC/pdgesvd.f
	M PBLAS/SRC/PBtools.h 	  
	M PBLAS/SRC/pblas.h 	  
	M SRC/psdbtrf.f 	  
	M SRC/pcheevd.f 	  
	M SRC/pzheevd.f 	  
	M SRC/pcheevx.f
	M SRC/pzheevx.f
	M SRC/pchegvx.f
	M SRC/pzhegvx.f
	M SRC/pdsygvx.f
	M SRC/pssyevx.f
	M SRC/pssygvx.f
	M SRC/pdsyevx.f
	M TESTING/EIG/pcseptst.f  
	M TESTING/EIG/pzseptst.f 


********************************************************************************
Rev: 10
Last modification: langou - Wed, 22 Mar 2006

Bug report from Yasuhiro Nakahara (Canon inc.) on 03/13/2006:

  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.

Patch from Greg Henry (Intel) and Mark Fahey (ORNL)

Greg said:
> There is an easy fix for this- the idea of exceptional shifts is
> to just try something outside the norm based on the size of the diagonal
> elements.  The offending part can be removed from the code without a
> loss of generality.  I think I may be able to come with an alternate
> solution.


move from
---------------------------------------------------------------
*
*           Exceptional shift.
*
            DO 20 II = 2*JBLK, 1, -1
               S1( II, II ) = CONST*( CABS1( S1( II, II ) )+
     $                        CABS1( S1( II, II-1 ) ) )
               S1( II, II-1 ) = ZERO
               S1( II-1, II ) = ZERO
   20       CONTINUE
---------------------------------------------------------------
   (with problem when II=1 ...)
to
---------------------------------------------------------------
*
*           Exceptional shift.
*
            DO 20 II = 2*JBLK, 2, -1
               S1( II, II ) = CONST*( CABS1( S1( II, II ) )+
     $                        CABS1( S1( II, II-1 ) ) )
               S1( II, II-1 ) = ZERO
               S1( II-1, II ) = ZERO
   20       CONTINUE
            S1( 1, 1 ) = CONST*CABS1( S1( 1, 1 ) )
---------------------------------------------------------------

Note that this part of the code is not exercized by the testing.
(So the bug was hard to find.)



********************************************************************************

Rev: 9  
Last modification: julie - Thu, 23 Feb 2006 

Correct typo in the [S,D,C,Z]gesvd files for the delaclaration of WP[S,D,C,Z]ORMBRQLN 

********************************************************************************

Rev: 8 
Last modification: julie - Wed, 22 Feb 2006

Modify typo in comment + description of workspace.
When RANGE='V', work need to be of dimension 3 


********************************************************************************

Rev: 7 
Last modification: julie - Mon, 20 Feb 2006

Correction of a Typo mistake in the work comment.

********************************************************************************

Rev: 6 
Last modification: julie - Wed, 01 Feb 2006

Modify the makefile to add the two new driver: pcgesvd.f and pzgesvd.f  

********************************************************************************

Rev: 5
Last modification: Rev 5 - langou - 2006-01-31 05:13:22
Log message:
M SRC/psgesvd.f
M SRC/pcgesvd.f
M SRC/pzgesvd.f
M SRC/pdgesvd.f

modify the workspace size of xBDSQR to follow the revision 184 of LAPACK the
workspace size of xBDSQR has moved from
* WDBDSQR = MAX(1, 4*SIZE )
to
* WDBDSQR = MAX(1, 2*SIZE + (2*SIZE - 4)*MAX(WANTU, WANTVT))
and is now back to
* WDBDSQR = MAX(1, 4*SIZE )
so SVD of ScaLAPACK is following (at least let us take the max of both until
LAPACK is fixed on its workspace size)

********************************************************************************

Rev: 4
Last modification: Rev 4 - langou - 2006-01-31 04:52:48
Log message:
M SRC/pslahrd.f
M SRC/pdlahqr.f
(forgot to change the date in the header in the last revision, corrected)

M SRC/psgesvd.f
M SRC/pdgesvd.f
[Julien/Osni]
correct a bug in the workspace utilisation of p_gesvd. In the case jobU='V' and
jobVT='V', the routine has good pointers, otherwise the pointers in the
workspace where shifted as if matrices U and VT existed which implied out of
bound reference for the value stored at the end of the workspace.  There was
also a few problems at the end of the code with some sizes in the case of
rectangular matrices.

A SRC/pcgesvd.f
A SRC/pzgesvd.f
add the complex version of the SVD driver contributed code by Peng Du (Graduate
Research Assistant at UTK, Fall 2005) supervised by Julien

********************************************************************************

Rev: 3 
Last modification: Rev 3 - langou - 2006-01-30 17:35:23
Log message:
SRC/p[s,d,c,z]gesv.f

[Documentation correction]
correction in the description of the parameter NRHS (it's the number of columns
of B not A)

SRC/p[s,d]lared1d.f
SRC/p[s,d]lared2d.f

[Documentation correction]
[Julien]

The comments in the routines p[s,d]lared2d (where the initial vectors are
stored by row) were wrong (basically replace BYCOL by BYROW)

Some homogeneization among the 4 routines as well

SRC/p[s/d]lahrd.f

Although the Schur form returned by p[s/d]lahqr was correct (as tested by the
testing routine), the returned eigenvalues were not computed correctely. This
bug was reported by Interactive Supercompting (Thanks!). The bug was already
found by Greg Henry in March 2002 but the patch has never been released. Here
we go.

********************************************************************************

Rev: 2

********************************************************************************

Rev: 1

SCALAPACK/PBLAS/SRC/PBtools.h 		3/12/2002
 	Comment out CSYMM reference (line 57)

SCALAPACK/PBLAS/SRC/pblas.h 		3/15/2002
 	Added missing crot define

SCALAPACK/SRC/psdbtrf.f 		3/12/2002
 	Typo (DLACPY->SLACPY) in EXTERNAL declaration (line 374)

SCALAPACK/SRC/pcheevd.f 		3/25/2002
SCALAPACK/SRC/pzheevd.f 		
 	Correction to LRWORK (lines 117, 248) and INFO=0 return

SCALAPACK/TESTING/EIG/pcseptst.f 	3/15/2002
SCALAPACK/TESTING/EIG/pzseptst.f 
 	Correction to LHEEVDSIZE calculation (line 1064)

********************************************************************************





********************************************************************************
r10 | langou | 2006-03-22 10:11:57 -0500 (Wed, 22 Mar 2006) | 48 lines

Bug report from Yasuhiro Nakahara (Canon inc.) on 03/13/2006:

  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.

Patch from Greg Henry (Intel) and Mark Fahey (ORNL)

Greg said:
> There is an easy fix for this- the idea of exceptional shifts is
> to just try something outside the norm based on the size of the diagonal
> elements.  The offending part can be removed from the code without a
> loss of generality.  I think I may be able to come with an alternate
> solution.


move from
---------------------------------------------------------------
*
*           Exceptional shift.
*
            DO 20 II = 2*JBLK, 1, -1
               S1( II, II ) = CONST*( CABS1( S1( II, II ) )+
     $                        CABS1( S1( II, II-1 ) ) )
               S1( II, II-1 ) = ZERO
               S1( II-1, II ) = ZERO
   20       CONTINUE
---------------------------------------------------------------
   (with problem when II=1 ...)
to
---------------------------------------------------------------
*
*           Exceptional shift.
*
            DO 20 II = 2*JBLK, 2, -1
               S1( II, II ) = CONST*( CABS1( S1( II, II ) )+
     $                        CABS1( S1( II, II-1 ) ) )
               S1( II, II-1 ) = ZERO
               S1( II-1, II ) = ZERO
   20       CONTINUE
            S1( 1, 1 ) = CONST*CABS1( S1( 1, 1 ) )
---------------------------------------------------------------

Note that this part of the code is not exercized by the testing.
(So the bug was hard to find.)



********************************************************************************
r9 | julie | 2006-02-23 10:55:51 -0500 (Thu, 23 Feb 2006) | 2 lines

Correct typo in the [S,D,C,Z]gesvd files for the delaclaration of WP[S,D,C,Z]ORMBRQLN 

********************************************************************************
r8 | julie | 2006-02-22 16:30:41 -0500 (Wed, 22 Feb 2006) | 4 lines

Modify typo in comment + description of workspace.
When RANGE='V', work need to be of dimension 3 


********************************************************************************
r7 | julie | 2006-02-20 22:14:45 -0500 (Mon, 20 Feb 2006) | 2 lines

Correction of a Typo mistake in the work comment.

********************************************************************************
r6 | julie | 2006-02-01 15:32:26 -0500 (Wed, 01 Feb 2006) | 2 lines

Modify the makefile to add the two new driver: pcgesvd.f and pzgesvd.f  

********************************************************************************
r5 | langou | 2006-01-31 00:13:22 -0500 (Tue, 31 Jan 2006) | 18 lines


M    SRC/psgesvd.f
M    SRC/pcgesvd.f
M    SRC/pzgesvd.f
M    SRC/pdgesvd.f
	
	modify the workspace size of xBDSQR to follow the revision 184 of LAPACK
	the workspace size of xBDSQR has moved from  
*          WDBDSQR = MAX(1, 4*SIZE )
	to 
*          WDBDSQR = MAX(1, 2*SIZE + (2*SIZE - 4)*MAX(WANTU, WANTVT))
	and is now back to
*          WDBDSQR = MAX(1, 4*SIZE )
	so SVD of ScaLAPACK is following (at least let us take the max of both until
	LAPACK is fixed on its workspace size)



********************************************************************************
r4 | langou | 2006-01-30 23:52:48 -0500 (Mon, 30 Jan 2006) | 22 lines


M    SRC/pslahrd.f
M    SRC/pdlahqr.f
	(forgot to change the date in the header in the last revision, corrected)

M    SRC/psgesvd.f
M    SRC/pdgesvd.f
	[Julien/Osni]
	correct a bug in the workspace utilisation of p_gesvd. In the case
	jobU='V' and jobVT='V', the routine has good pointers, otherwise the pointers in
	the workspace where shifted as if matrices U and VT existed which
	implied out of bound reference for the value stored at the end of the
	workspace.
	There was also a few problems at the end of the code with some sizes in the case of 
	rectangular matrices.

A    SRC/pcgesvd.f
A    SRC/pzgesvd.f
	add the complex version of the SVD driver
	contributed code by Peng Du (Graduate Research Assistant at UTK, Fall 2005) supervised by Julien


********************************************************************************
r3 | langou | 2006-01-30 12:35:23 -0500 (Mon, 30 Jan 2006) | 26 lines


SRC/p[s,d,c,z]gesv.f

        [Documentation correction]
        correction in the description of the parameter NRHS
        (it's the number of columns of B not A)

SRC/p[s,d]lared1d.f
SRC/p[s,d]lared2d.f

        [Documentation correction]
        [Julien]

        The comments in the routines p[s,d]lared2d (where the initial vectors are stored by row)
        were wrong (basically replace BYCOL by BYROW)

        Some homogeneization among the 4 routines as well

SRC/p[s/d]lahrd.f

        Although the Schur form returned by p[s/d]lahqr was correct (as tested by the testing routine),
        the returned eigenvalues were not computed correctely. This bug was reported by Interactive
        Supercompting (Thanks!). The bug was already found by Greg Henry in March 2002 but the patch has
        never been released. Here we go.


********************************************************************************
r2 | julie | 2006-01-30 12:23:07 -0500 (Mon, 30 Jan 2006) | 2 lines

Remove SRC/pcheevd.old file.

********************************************************************************
r1 | julie | 2006-01-18 16:36:03 -0500 (Wed, 18 Jan 2006) | 30 lines

Initial import from netlib 
--------------------------

For ScaLAPACK: Scalapack 1.7 + patch

patch contains:

SCALAPACK/PBLAS/SRC/PBtools.h      3/12/2002	Comment out CSYMM reference (line 57)
SCALAPACK/PBLAS/SRC/pblas.h	       3/15/2002	Added missing crot define
SCALAPACK/SRC/psdbtrf.f            3/12/2002	Typo (DLACPY->SLACPY) in EXTERNAL declaration (line 374)
SCALAPACK/SRC/pcheevd.f	           3/25/2002	Correction to LRWORK (lines 117, 248) and INFO=0 return
SCALAPACK/SRC/pzheevd.f	           3/25/2002   Correction to LRWORK (lines 117, 248) and INFO=0 return	
SCALAPACK/TESTING/EIG/pcseptst.f   3/15/2002	Correction to LHEEVDSIZE calculation (line 1064)
SCALAPACK/TESTING/EIG/pzseptst.f   3/15/2002   Correction to LHEEVDSIZE calculation (line 1064)	

for more information, please visit: http://www.netlib.org/scalapack/errata.html#sourcecode

___________________________________________________________________________________________________________

For BLACS: Blacs : pvmblacs + mpiblacs + blacs tester from netlib 
                  + patch 3 
				  + correction on the Makefile from the INSTALL directory

for patch details: see http://www.netlib.org/blacs/old_errata.blacs for details

modified files:
     INSTALL/Makefile
Comment: Now make clean delete the following files: tc_cCsameF77.o  tc_fCsameF77.o  tc_UseMpich.o


********************************************************************************
