Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
PSSTEDC(l)			       )			    PSSTEDC(l)

NAME
       PSSTEDC	- tridiagonal matrix in	parallel, using	the divide and conquer
       algorithm

SYNOPSIS
       SUBROUTINE PSSTEDC( COMPZ, N, D,	E, Q,  IQ,  JQ,	 DESCQ,	 WORK,	LWORK,
			   IWORK, LIWORK, INFO )

	   CHARACTER	   COMPZ

	   INTEGER	   INFO, IQ, JQ, LIWORK, LWORK,	N

	   INTEGER	   DESCQ( * ), IWORK( *	)

	   REAL		   D( *	), E( *	), Q( *	), WORK( * )

PURPOSE
       symmetric  tridiagonal matrix in	parallel, using	the divide and conquer
       algorithm.  This	code makes very	mild assumptions about floating	 point
       arithmetic.  It	will  work  on machines	with a guard digit in add/sub-
       tract, or on those binary machines without guard	digits which  subtract
       like the	Cray X-MP, Cray	Y-MP, Cray C-90, or Cray-2.  It	could conceiv-
       ably fail on hexadecimal	or decimal machines without guard digits,  but
       we know of none.	 See SLAED3 for	details.

ARGUMENTS
       COMPZ   (input) CHARACTER*1
	       = 'N':  Compute eigenvalues only.    (NOT IMPLEMENTED YET)
	       = 'I':  Compute eigenvectors of tridiagonal matrix also.
	       = 'V':  Compute eigenvectors of original	dense symmetric	matrix
	       also.  On entry,	Z contains the orthogonal matrix used  to  re-
	       duce  the  original matrix to tridiagonal form.		  (NOT
	       IMPLEMENTED YET)

       N       (global input) INTEGER
	       The order of the	tridiagonal matrix T.  N >= 0.

       D       (global input/output) REAL array, dimension (N)
	       On entry, the diagonal elements of the tridiagonal matrix.   On
	       exit, if	INFO = 0, the eigenvalues in descending	order.

       E       (global input/output) REAL array, dimension (N-1)
	       On  entry,  the subdiagonal elements of the tridiagonal matrix.
	       On exit,	E has been destroyed.

       Q       (local output) REAL array,
	       local dimension ( LLD_Q,	 LOCc(JQ+N-1))	Q   contains  the  or-
	       thonormal eigenvectors of the symmetric tridiagonal matrix.  On
	       output, Q is distributed	across the P processes in block	cyclic
	       format.

       IQ      (global input) INTEGER
	       Q's global row index, which points to the beginning of the sub-
	       matrix which is to be operated on.

       JQ      (global input) INTEGER
	       Q's global column index,	which points to	the beginning  of  the
	       submatrix which is to be	operated on.

       DESCQ   (global and local input)	INTEGER	array of dimension DLEN_.
	       The array descriptor for	the distributed	matrix Z.

       WORK    (local workspace/output)	REAL array,
	       dimension  (LWORK)  On  output,	WORK(1)	 returns the workspace
	       needed.

       LWORK   (local input/output) INTEGER,
	       the dimension of	the array WORK.	 LWORK = 6*N +	2*NP*NQ	 NP  =
	       NUMROC(	N,  NB,	MYROW, DESCQ( RSRC_ ), NPROW ) NQ = NUMROC( N,
	       NB, MYCOL, DESCQ( CSRC_ ), 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 = 2 + 7*N + 8*NPCOL

       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).

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

ScaLAPACK version 1.7		13 August 2001			    PSSTEDC(l)

NAME | SYNOPSIS | PURPOSE | ARGUMENTS | FURTHER DETAILS

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=psstedc&manpath=FreeBSD+12.0-RELEASE+and+Ports>

home | help