ctrevc man page on Scientific

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

CTREVC(1)		 LAPACK routine (version 3.2)		     CTREVC(1)

NAME
       CTREVC  - computes 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.  Matrices of this type are  produced
       by  the Schur factorization of a complex general matrix:	 A = Q*T*Q**H,
       as computed by CHSEQR.
       The right eigenvector x and the left eigenvector y of  T	 corresponding
       to an eigenvalue w are defined by:
		    T*x = w*x,	   (y**H)*T = w*(y**H)
       where y**H denotes the conjugate transpose of the vector y.  The eigen‐
       values are not input to this routine, but are read  directly  from  the
       diagonal of T.
       This  routine  returns the matrices X and/or Y of right and left eigen‐
       vectors of T, or the products Q*X and/or	 Q*Y,  where  Q	 is  an	 input
       matrix.	 If  Q	is the unitary factor that reduces a matrix A to Schur
       form T, then Q*X and Q*Y are the matrices of right and  left  eigenvec‐
       tors 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, backtrans‐
	       formed using the matrices supplied in  VR  and/or  VL;  =  'S':
	       compute	selected  right and/or left eigenvectors, as indicated
	       by the logical array SELECT.

       SELECT  (input) LOGICAL array, dimension (N)
	       If HOWMNY = 'S', SELECT specifies the eigenvectors to  be  com‐
	       puted.  The eigenvector corresponding to the j-th eigenvalue is
	       computed if SELECT(j) = .TRUE..	Not referenced if HOWMNY = 'A'
	       or 'B'.

       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; if HOWMNY = 'B', the matrix Q*Y; if HOWMNY = 'S',  the  left
	       eigenvectors  of T specified by SELECT, stored consecutively in
	       the columns of VL, in the same order as their eigenvalues.  Not
	       referenced if SIDE = 'R'.

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

       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; if HOWMNY = 'B', the matrix Q*X; if  HOWMNY  =  'S',  the
	       right  eigenvectors  of	T specified by SELECT, stored consecu‐
	       tively in the columns of VR, in the same order as their	eigen‐
	       values.	Not referenced if SIDE = 'L'.

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

       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 routine (version 3.2)	 November 2008			     CTREVC(1)
[top]

List of man pages available for Scientific

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