ScaLAPACK Archives

[Scalapack] PDSYEVD work space

Hello,
I encountered the following problem using PDSYEVD:

The test program in SCALAPACK/TESTING/EIG/pdsepdriver.f (and its 
executable xdsep) fails with the input file "SEP.dat" enclosed below. 
The output file SEP.out produced is also enclosed below.
It seems that PDSYEVD calls PDORMTR with insufficient work space 
(argument 16:  LWORK), although PDSYEVD itself does not complain about 
insufficient work space. I suspect that the value of LIWORK computed in 
PDSYEVD is not large enough for the call to PDORMTR.
Note that the problem does arise on a 2x2 process grid but not on a 1x1 
process grid.
Thanks for your help.

Francois

===============================
SEP.dat
===============================
'ScaLAPACK Symmetric Eigensolver Test File'
' '
'sep.out'                       output file name (if any)
6                               device out (13 & 14 reserved for 
internal testing)
4                               maximum number of processes
'N'                             disable pxsyev tests, recommended for 
heterogeneous systems.
' '
'TEST 1 - test one 256x256 matrix'
1                               number of matrices
256
1                               number of uplo choices
'U'                             uplo choices
1                               number of processor configurations (P, 
Q, NB)
2                               values of P (NPROW)
2                               values of Q (NPCOL)
128                             values of NB
1                               number of matrix types
8                               matrix types (see pdseptst.f)
'N'                             perform subset tests?
20.0                            Threshold (* 5 for generalized tests)
-1                              Absolute Tolerance
' '
'End of tests'
-1

====================================
SEP.out
====================================
SCALAPACK symmetric Eigendecomposition routines.
' '

Running tests of the parallel symmetric eigenvalue routine:  PDSYEVX &  
PDSYEV & PDSYEVD.
The following scaled residual checks will be computed:
 ||AQ - QL|| / ((abstol + ||A|| * eps) * N)
 ||Q^T*Q - I|| / (N * eps)

An explanation of the input/output parameters follows:
RESULT   : passed; or an indication of which eigen request test failed
N        : The number of rows and columns of the matrix A.
P        : The number of process rows.
Q        : The number of process columns.
NB       : The size of the square blocks the matrix A is split into.
THRESH   : If a residual value is less than THRESH, RESULT is flagged as 
PASSED.
         : the QTQ norm is allowed to exceed THRESH for those eigenvectors
         :  which could not be reorthogonalized for lack of workspace.
TYP      : matrix type (see PDSEPtst.f).
SUB      : Subtests (see PDSEPtst).f
CHK      : ||AQ - QL|| / ((abstol + ||A|| * eps) * N)
QTQ      : ||Q^T*Q - I||/ (N * eps)
         : when the adjusted QTQ exceeds THRESH
 the adjusted QTQ norm is printed
         : otherwise the true QTQ norm is printed
           If NT>1, CHK and QTQ are the max over all eigen request tests
TEST     : EVX - testing PDSYEVX, EV - testing PDSYEV, EVD - testing PDSYEVD

     N  NB   P   Q TYP SUB   WALL      CPU      CHK       QTQ    
CHECK    TEST
 ----- --- --- --- --- --- -------- -------- --------- --------- 
-----    ----
'TEST 1 - test one 256x256 matrix'
   256 128   2   2   8   N     2.09    -1.00  0.35E-02  0.96     
PASSED   EVX
   256 128   2   2   8   N     3.75    -1.00  0.35E-02  0.96     PASSED   EV
{    1,    0}:  On entry to PDORMTR parameter number   16 had an illegal 
value
{    1,    1}:  On entry to PDORMTR parameter number   16 had an illegal 
value
{    0,    0}:  On entry to PDORMTR parameter number   16 had an illegal 
value
{    0,    1}:  On entry to PDORMTR parameter number   16 had an illegal 
value
startio: illegal unit number
apparent state: unit 6 (unnamed)
lately writing sequential formatted external IO
startio: illegal unit number
startio: illegal unit number
apparent state: unit 6 (unnamed)
lately writing sequential formatted external IO
apparent state: unit 6 (unnamed)
lately writing sequential formatted external IO
PDSYEVD failed the |AQ -QE| test



-- 
=================================
 Francois Gygi
 Professor
 Department of Applied Science
 University of California, Davis
 One Shields Avenue
 Davis, CA 95616-8254

 phone: 530-752-4042
 fgygi@Domain.Removed
================================= 


<Prev in Thread] Current Thread [Next in Thread>
  • [Scalapack] PDSYEVD work space, Francois Gygi <=


For additional information you may use the LAPACK/ScaLAPACK Forum.
Or one of the mailing lists, or