ctrevc man page on YellowDog

Man page or keyword search:  
man Server   18644 pages
apropos Keyword Search (all sections)
Output format
YellowDog logo
[printable version]

CTREVC(l)			       )			     CTREVC(l)

NAME
       CTREVC - compute some or all of the right and/or left eigenvectors of a
       complex upper triangular matrix T

SYNOPSIS
       SUBROUTINE CTREVC( SIDE, HOWMNY, SELECT, N, T, LDT, VL, LDVL, VR, LDVR,
			  MM, M, WORK, RWORK, INFO )

	   CHARACTER	  HOWMNY, SIDE

	   INTEGER	  INFO, LDT, LDVL, LDVR, M, MM, N

	   LOGICAL	  SELECT( * )

	   REAL		  RWORK( * )

	   COMPLEX	  T( LDT, * ), VL( LDVL, * ), VR( LDVR, * ), WORK( * )

PURPOSE
       CTREVC  computes some or all of the right and/or left eigenvectors of a
       complex upper triangular matrix T.  The right  eigenvector  x  and  the
       left  eigenvector  y  of T corresponding to an eigenvalue w are defined
       by:

		    T*x = w*x,	   y'*T = w*y'

       where y' denotes the conjugate transpose of the vector y.

       If all eigenvectors are requested, the routine may  either  return  the
       matrices X and/or Y of right or left eigenvectors of T, or the products
       Q*X and/or Q*Y, where Q is an input unitary
       matrix. If T was obtained from the Schur factorization of  an  original
       matrix  A  = Q*T*Q', then Q*X and Q*Y are the matrices of right or left
       eigenvectors of A.

ARGUMENTS
       SIDE    (input) CHARACTER*1
	       = 'R':  compute right eigenvectors only;
	       = 'L':  compute left eigenvectors only;
	       = 'B':  compute both right and left eigenvectors.

       HOWMNY  (input) CHARACTER*1
	       = 'A':  compute all right and/or left eigenvectors;
	       = 'B':  compute all right and/or left eigenvectors,  and	 back‐
	       transform  them	using the input matrices supplied in VR and/or
	       VL; = 'S':  compute selected right  and/or  left	 eigenvectors,
	       specified by the logical array SELECT.

       SELECT  (input) LOGICAL array, dimension (N)
	       If  HOWMNY  = 'S', SELECT specifies the eigenvectors to be com‐
	       puted.  If HOWMNY = 'A' or 'B', SELECT is not  referenced.   To
	       select  the  eigenvector	 corresponding to the j-th eigenvalue,
	       SELECT(j) must be set to .TRUE..

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

       T       (input/output) COMPLEX array, dimension (LDT,N)
	       The upper triangular matrix T.  T is modified, but restored  on
	       exit.

       LDT     (input) INTEGER
	       The leading dimension of the array T. LDT >= max(1,N).

       VL      (input/output) COMPLEX array, dimension (LDVL,MM)
	       On  entry,  if SIDE = 'L' or 'B' and HOWMNY = 'B', VL must con‐
	       tain an N-by-N matrix Q (usually the unitary matrix Q of	 Schur
	       vectors returned by CHSEQR).  On exit, if SIDE = 'L' or 'B', VL
	       contains: if HOWMNY = 'A', the matrix Y of left eigenvectors of
	       T;  VL  is lower triangular. The i-th column VL(i) of VL is the
	       eigenvector corresponding to T(i,i).   if  HOWMNY  =  'B',  the
	       matrix  Q*Y; if HOWMNY = 'S', the left eigenvectors of T speci‐
	       fied by SELECT, stored consecutively in the columns of  VL,  in
	       the  same order as their eigenvalues.  If SIDE = 'R', VL is not
	       referenced.

       LDVL    (input) INTEGER
	       The leading dimension of the array VL.	LDVL  >=  max(1,N)  if
	       SIDE = 'L' or 'B'; LDVL >= 1 otherwise.

       VR      (input/output) COMPLEX array, dimension (LDVR,MM)
	       On  entry,  if SIDE = 'R' or 'B' and HOWMNY = 'B', VR must con‐
	       tain an N-by-N matrix Q (usually the unitary matrix Q of	 Schur
	       vectors returned by CHSEQR).  On exit, if SIDE = 'R' or 'B', VR
	       contains: if HOWMNY = 'A', the matrix X of  right  eigenvectors
	       of  T;  VR  is upper triangular. The i-th column VR(i) of VR is
	       the eigenvector corresponding to T(i,i).	 if HOWMNY = 'B',  the
	       matrix Q*X; if HOWMNY = 'S', the right eigenvectors of T speci‐
	       fied by SELECT, stored consecutively in the columns of  VR,  in
	       the  same order as their eigenvalues.  If SIDE = 'L', VR is not
	       referenced.

       LDVR    (input) INTEGER
	       The leading dimension of the array VR.	LDVR  >=  max(1,N)  if
	       SIDE = 'R' or 'B'; LDVR >= 1 otherwise.

       MM      (input) INTEGER
	       The number of columns in the arrays VL and/or VR. MM >= M.

       M       (output) INTEGER
	       The  number of columns in the arrays VL and/or VR actually used
	       to store the eigenvectors.  If HOWMNY = 'A' or 'B', M is set to
	       N.  Each selected eigenvector occupies one column.

       WORK    (workspace) COMPLEX array, dimension (2*N)

       RWORK   (workspace) REAL array, dimension (N)

       INFO    (output) INTEGER
	       = 0:  successful exit
	       < 0:  if INFO = -i, the i-th argument had an illegal value

FURTHER DETAILS
       The algorithm used in this program is basically backward (forward) sub‐
       stitution, with scaling to make the the code  robust  against  possible
       overflow.

       Each eigenvector is normalized so that the element of largest magnitude
       has magnitude 1; here the magnitude of a complex number (x,y) is	 taken
       to be |x| + |y|.

LAPACK version 3.0		 15 June 2000			     CTREVC(l)
[top]

List of man pages available for YellowDog

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net