GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages


Manual Reference Pages  -  PSSYEVD (l)

NAME

PSSYEVD - compute all the eigenvalues and eigenvectors of a real symmetric matrix A by calling the recommended sequence of ScaLAPACK routines

CONTENTS

Synopsis
Purpose
Arguments
Further Details

SYNOPSIS

SUBROUTINE PSSYEVD( JOBZ, UPLO, N, A, IA, JA, DESCA, W, Z, IZ, JZ, DESCZ, WORK, LWORK, IWORK, LIWORK, INFO )
    CHARACTER JOBZ, UPLO
    INTEGER IA, INFO, IZ, JA, JZ, LIWORK, LWORK, N
    INTEGER DESCA( * ), DESCZ( * ), IWORK( * )
    REAL A( * ), W( * ), WORK( * ), Z( * )

PURPOSE

PSSYEVD computes all the eigenvalues and eigenvectors of a real symmetric matrix A by calling the recommended sequence of ScaLAPACK routines. In its present form, PSSYEVD assumes a homogeneous system and makes no checks for consistency of the eigenvalues or eigenvectors across the different processes. Because of this, it is possible that a heterogeneous system may return incorrect results without any error messages.

ARGUMENTS

NP = the number of rows local to a given process. NQ = the number of columns local to a given process.
JOBZ (input) CHARACTER*1
  = ’N’: Compute eigenvalues only; (NOT IMPLEMENTED YET)
= ’V’: Compute eigenvalues and eigenvectors.
UPLO (global input) CHARACTER*1
  Specifies whether the upper or lower triangular part of the symmetric matrix A is stored:
= ’U’: Upper triangular
= ’L’: Lower triangular
N (global input) INTEGER
  The number of rows and columns to be operated on, i.e. the order of the distributed submatrix sub( A ). N >= 0.
A (local input/workspace) block cyclic REAL array,
  global dimension (N, N), local dimension ( LLD_A, LOCc(JA+N-1) ) On entry, the symmetric matrix A. If UPLO = ’U’, only the upper triangular part of A is used to define the elements of the symmetric matrix. If UPLO = ’L’, only the lower triangular part of A is used to define the elements of the symmetric matrix. On exit, the lower triangle (if UPLO=’L’) or the upper triangle (if UPLO=’U’) of A, including the diagonal, is destroyed.
IA (global input) INTEGER
  A’s global row index, which points to the beginning of the submatrix which is to be operated on.
JA (global input) INTEGER
  A’s global column index, which points to the beginning of the submatrix which is to be operated on.
DESCA (global and local input) INTEGER array of dimension DLEN_.
  The array descriptor for the distributed matrix A.
W (global output) REAL array, dimension (N)
  If INFO=0, the eigenvalues in ascending order.
Z (local output) REAL array,
  global dimension (N, N), local dimension ( LLD_Z, LOCc(JZ+N-1) ) Z contains the orthonormal eigenvectors of the symmetric matrix A.
IZ (global input) INTEGER
  Z’s global row index, which points to the beginning of the submatrix which is to be operated on.
JZ (global input) INTEGER
  Z’s global column index, which points to the beginning of the submatrix which is to be operated on.
DESCZ (global and local input) INTEGER array of dimension DLEN_.
  The array descriptor for the distributed matrix Z. DESCZ( CTXT_ ) must equal DESCA( CTXT_ )
WORK (local workspace/output) REAL array,
  dimension (LWORK) On output, WORK(1) returns the workspace required.
LWORK (local input) INTEGER
  LWORK >= MAX( 1+6*N+2*NP*NQ, TRILWMIN ) + 2*N TRILWMIN = 3*N + MAX( NB*( NP+1 ), 3*NB ) NP = NUMROC( N, NB, MYROW, IAROW, NPROW ) NQ = NUMROC( N, NB, MYCOL, IACOL, NPCOL )

If LWORK = -1, the LWORK is global input and a workspace query is assumed; the routine only calculates the minimum size for the WORK array. The required workspace is returned as the first element of WORK and no error message is issued by PXERBLA.

IWORK (local workspace/output) INTEGER array, dimension (LIWORK)
  On exit, if LIWORK > 0, IWORK(1) returns the optimal LIWORK.
LIWORK (input) INTEGER
  The dimension of the array IWORK. LIWORK = 7*N + 8*NPCOL + 2
INFO (global output) INTEGER
  = 0: successful exit
< 0: If the i-th argument is an array and the j-entry had an illegal value, then INFO = -(i*100+j), if the i-th argument is a scalar and had an illegal value, then INFO = -i. > 0: The algorithm failed to compute the INFO/(N+1) th eigenvalue while working on the submatrix lying in global rows and columns mod(INFO,N+1).

Alignment requirements ======================

The distributed submatrices sub( A ), sub( Z ) must verify some alignment properties, namely the following expression should be true: ( MB_A.EQ.NB_A.EQ.MB_Z.EQ.NB_Z .AND. IROFFA.EQ.ICOFFA .AND. IROFFA.EQ.0 .AND.IROFFA.EQ.IROFFZ. AND. IAROW.EQ.IZROW) with IROFFA = MOD( IA-1, MB_A ) and ICOFFA = MOD( JA-1, NB_A ).

FURTHER DETAILS

Contributed by Francoise Tisseur, University of Manchester.

Reference: F. Tisseur and J. Dongarra, "A Parallel Divide and
Conquer Algorithm for the Symmetric Eigenvalue Problem
on Distributed Memory Architectures",
SIAM J. Sci. Comput., 6:20 (1999), pp. 2223--2236.
(see also LAPACK Working Note 132)
http://www.netlib.org/lapack/lawns/lawn132.ps

Search for    or go to Top of page |  Section l |  Main Index


ScaLAPACK version 1.7 PSSYEVD (l) 13 August 2001

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.