cgegv man page on Scientific

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

CGEGV(1)	      LAPACK driver routine (version 3.2)	      CGEGV(1)

NAME
       CGEGV - routine i deprecated and has been replaced by routine CGGEV

SYNOPSIS
       SUBROUTINE CGEGV( JOBVL,	 JOBVR,	 N,  A,	 LDA, B, LDB, ALPHA, BETA, VL,
			 LDVL, VR, LDVR, WORK, LWORK, RWORK, INFO )

	   CHARACTER	 JOBVL, JOBVR

	   INTEGER	 INFO, LDA, LDB, LDVL, LDVR, LWORK, N

	   REAL		 RWORK( * )

	   COMPLEX	 A( LDA, * ), ALPHA( * ), B( LDB, * ), BETA( * ),  VL(
			 LDVL, * ), VR( LDVR, * ), WORK( * )

PURPOSE
       This  routine  is  deprecated  and  has been replaced by routine CGGEV.
       CGEGV computes the eigenvalues and, optionally, the left	 and/or	 right
       eigenvectors of a complex matrix pair (A,B).
       Given two square matrices A and B,
       the  generalized	 nonsymmetric eigenvalue problem (GNEP) is to find the
       eigenvalues lambda and corresponding  (non-zero)	 eigenvectors  x  such
       that
	  A*x = lambda*B*x.
       An  alternate  form  is	to  find  the eigenvalues mu and corresponding
       eigenvectors y such that
	  mu*A*y = B*y.
       These two forms are equivalent with mu = 1/lambda and x = y if  neither
       lambda  nor  mu is zero.	 In order to deal with the case that lambda or
       mu is zero or small, two values alpha and beta are  returned  for  each
       eigenvalue, such that lambda = alpha/beta and
       mu = beta/alpha.
       The  vectors  x	and y in the above equations are right eigenvectors of
       the matrix pair (A,B).  Vectors u and v satisfying
	  u**H*A = lambda*u**H*B  or  mu*v**H*A = v**H*B
       are left eigenvectors of (A,B).
       Note: this routine performs "full balancing" on A and B -- see "Further
       Details", below.

ARGUMENTS
       JOBVL   (input) CHARACTER*1
	       = 'N':  do not compute the left generalized eigenvectors;
	       =  'V':	compute the left generalized eigenvectors (returned in
	       VL).

       JOBVR   (input) CHARACTER*1
	       = 'N':  do not compute the right generalized eigenvectors;
	       = 'V':  compute the right generalized eigenvectors (returned in
	       VR).

       N       (input) INTEGER
	       The order of the matrices A, B, VL, and VR.  N >= 0.

       A       (input/output) COMPLEX array, dimension (LDA, N)
	       On entry, the matrix A.	If JOBVL = 'V' or JOBVR = 'V', then on
	       exit A contains the Schur form of A from the generalized	 Schur
	       factorization  of the pair (A,B) after balancing.  If no eigenā€
	       vectors were computed, then only the diagonal elements  of  the
	       Schur form will be correct.  See CGGHRD and CHGEQZ for details.

       LDA     (input) INTEGER
	       The leading dimension of A.  LDA >= max(1,N).

       B       (input/output) COMPLEX array, dimension (LDB, N)
	       On entry, the matrix B.	If JOBVL = 'V' or JOBVR = 'V', then on
	       exit B contains the upper triangular matrix obtained from B  in
	       the  generalized	 Schur	factorization  of the pair (A,B) after
	       balancing.  If no eigenvectors were  computed,  then  only  the
	       diagonal	 elements of B will be correct.	 See CGGHRD and CHGEQZ
	       for details.

       LDB     (input) INTEGER
	       The leading dimension of B.  LDB >= max(1,N).

       ALPHA   (output) COMPLEX array, dimension (N)
	       The complex scalars alpha that define the eigenvalues of GNEP.

       BETA    (output) COMPLEX array, dimension (N)
	       The complex scalars beta that define the eigenvalues  of	 GNEP.
	       Together,  the  quantities  alpha = ALPHA(j) and beta = BETA(j)
	       represent the j-th eigenvalue of the matrix pair (A,B), in  one
	       of  the	forms  lambda  = alpha/beta or mu = beta/alpha.	 Since
	       either lambda or mu may overflow, they should not, in  general,
	       be computed.

       VL      (output) COMPLEX array, dimension (LDVL,N)
	       If  JOBVL  =  'V', the left eigenvectors u(j) are stored in the
	       columns of VL, in the same order as  their  eigenvalues.	  Each
	       eigenvector  is	scaled	so  that  its  largest	component  has
	       abs(real part) + abs(imag. part) = 1, except  for  eigenvectors
	       corresponding to an eigenvalue with alpha = beta = 0, which are
	       set to zero.  Not referenced if JOBVL = 'N'.

       LDVL    (input) INTEGER
	       The leading dimension of the matrix VL. LDVL >= 1, and if JOBVL
	       = 'V', LDVL >= N.

       VR      (output) COMPLEX array, dimension (LDVR,N)
	       If  JOBVR  = 'V', the right eigenvectors x(j) are stored in the
	       columns of VR, in the same order as  their  eigenvalues.	  Each
	       eigenvector  is	scaled	so  that  its  largest	component  has
	       abs(real part) + abs(imag. part) = 1, except  for  eigenvectors
	       corresponding to an eigenvalue with alpha = beta = 0, which are
	       set to zero.  Not referenced if JOBVR = 'N'.

       LDVR    (input) INTEGER
	       The leading dimension of the matrix VR. LDVR >= 1, and if JOBVR
	       = 'V', LDVR >= N.

       WORK    (workspace/output) COMPLEX array, dimension (MAX(1,LWORK))
	       On exit, if INFO = 0, WORK(1) returns the optimal LWORK.

       LWORK   (input) INTEGER
	       The  dimension  of  the	array WORK.  LWORK >= max(1,2*N).  For
	       good performance, LWORK must generally be larger.   To  compute
	       the  optimal value of LWORK, call ILAENV to get blocksizes (for
	       CGEQRF, CUNMQR, and CUNGQR.)  Then compute: NB  -- MAX  of  the
	       blocksizes for CGEQRF, CUNMQR, and CUNGQR; The optimal LWORK is
	       MAX( 2*N, N*(NB+1) ).  If LWORK = -1, then a workspace query is
	       assumed;	 the  routine  only calculates the optimal size of the
	       WORK array, returns this value as the first entry of  the  WORK
	       array,  and  no	error  message	related	 to LWORK is issued by
	       XERBLA.

       RWORK   (workspace/output) REAL array, dimension (8*N)

       INFO    (output) INTEGER
	       = 0:  successful exit
	       < 0:  if INFO = -i, the i-th argument had an illegal value.
	       =1,...,N: The QZ iteration failed.  No eigenvectors  have  been
	       calculated,  but	 ALPHA(j)  and	BETA(j)	 should be correct for
	       j=INFO+1,...,N.	> N:   errors  that  usually  indicate	LAPACK
	       problems:
	       =N+1: error return from CGGBAL
	       =N+2: error return from CGEQRF
	       =N+3: error return from CUNMQR
	       =N+4: error return from CUNGQR
	       =N+5: error return from CGGHRD
	       =N+6:  error  return  from CHGEQZ (other than failed iteration)
	       =N+7: error return from CTGEVC
	       =N+8: error return from CGGBAK (computing VL)
	       =N+9: error return from CGGBAK (computing VR)
	       =N+10: error return from CLASCL (various calls)

FURTHER DETAILS
       Balancing
       ---------
       This driver calls CGGBAL to both permute and scale rows and columns  of
       A  and  B.   The	 permutations PL and PR are chosen so that PL*A*PR and
       PL*B*R  will  be	 upper	triangular  except  for	 the  diagonal	blocks
       A(i:j,i:j)  and B(i:j,i:j), with i and j as close together as possible.
       The diagonal scaling matrices DL and DR are chosen  so  that  the  pair
       DL*PL*A*PR*DR, DL*PL*B*PR*DR have elements close to one (except for the
       elements that start out zero.)
       After the eigenvalues and eigenvectors of the  balanced	matrices  have
       been  computed,	CGGBAK	transforms  the eigenvectors back to what they
       would have been (in perfect arithmetic) if they had not been balanced.
       Contents of A and B on Exit
       -------- -- - --- - -- ----
       If any eigenvectors are computed	 (either  JOBVL='V'  or	 JOBVR='V'  or
       both),  then  on exit the arrays A and B will contain the complex Schur
       form[*] of the "balanced" versions of A and B.  If no eigenvectors  are
       computed,  then only the diagonal blocks will be correct.  [*] In other
       words, upper triangular form.

 LAPACK driver routine (version 3November 2008			      CGEGV(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