zggesx man page on Scientific

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

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

NAME
       ZGGESX  -  computes  for a pair of N-by-N complex nonsymmetric matrices
       (A,B), the generalized eigenvalues, the complex Schur form (S,T),

SYNOPSIS
       SUBROUTINE ZGGESX( JOBVSL, JOBVSR, SORT, SELCTG, SENSE, N, A,  LDA,  B,
			  LDB,	SDIM,  ALPHA,  BETA,  VSL,  LDVSL, VSR, LDVSR,
			  RCONDE, RCONDV, WORK, LWORK, RWORK,  IWORK,  LIWORK,
			  BWORK, INFO )

	   CHARACTER	  JOBVSL, JOBVSR, SENSE, SORT

	   INTEGER	  INFO, LDA, LDB, LDVSL, LDVSR, LIWORK, LWORK, N, SDIM

	   LOGICAL	  BWORK( * )

	   INTEGER	  IWORK( * )

	   DOUBLE	  PRECISION RCONDE( 2 ), RCONDV( 2 ), RWORK( * )

	   COMPLEX*16	  A(  LDA,  *  ),  ALPHA( * ), B( LDB, * ), BETA( * ),
			  VSL( LDVSL, * ), VSR( LDVSR, * ), WORK( * )

	   LOGICAL	  SELCTG

	   EXTERNAL	  SELCTG

PURPOSE
       ZGGESX computes for a pair  of  N-by-N  complex	nonsymmetric  matrices
       (A,B),  the generalized eigenvalues, the complex Schur form (S,T), and,
       optionally, the left and/or right matrices of Schur  vectors  (VSL  and
       VSR).  This gives the generalized Schur factorization
	    (A,B) = ( (VSL) S (VSR)**H, (VSL) T (VSR)**H )
       where (VSR)**H is the conjugate-transpose of VSR.
       Optionally,  it	also orders the eigenvalues so that a selected cluster
       of eigenvalues appears in the leading diagonal blocks of the upper tri‐
       angular matrix S and the upper triangular matrix T; computes a recipro‐
       cal condition number  for  the  average	of  the	 selected  eigenvalues
       (RCONDE);  and computes a reciprocal condition number for the right and
       left deflating subspaces	 corresponding	to  the	 selected  eigenvalues
       (RCONDV).  The  leading columns of VSL and VSR then form an orthonormal
       basis for the corresponding left and right eigenspaces (deflating  sub‐
       spaces).
       A  generalized eigenvalue for a pair of matrices (A,B) is a scalar w or
       a ratio alpha/beta = w, such that  A - w*B is singular.	It is  usually
       represented  as	the pair (alpha,beta), as there is a reasonable inter‐
       pretation for beta=0 or for both being zero.  A pair of matrices	 (S,T)
       is in generalized complex Schur form if T is upper triangular with non-
       negative diagonal and S is upper triangular.

ARGUMENTS
       JOBVSL  (input) CHARACTER*1
	       = 'N':  do not compute the left Schur vectors;
	       = 'V':  compute the left Schur vectors.

       JOBVSR  (input) CHARACTER*1
	       = 'N':  do not compute the right Schur vectors;
	       = 'V':  compute the right Schur vectors.

       SORT    (input) CHARACTER*1
	       Specifies whether or not to order the eigenvalues on the diago‐
	       nal of the generalized Schur form.  = 'N':  Eigenvalues are not
	       ordered;
	       = 'S':  Eigenvalues are ordered (see SELCTG).

       SELCTG  (external procedure) LOGICAL FUNCTION of two  COMPLEX*16	 argu‐
       ments
	       SELCTG must be declared EXTERNAL in the calling subroutine.  If
	       SORT = 'N', SELCTG is not referenced.  If SORT = 'S', SELCTG is
	       used to select eigenvalues to sort to the top left of the Schur
	       form.  Note that a selected complex eigenvalue  may  no	longer
	       satisfy SELCTG(ALPHA(j),BETA(j)) = .TRUE. after ordering, since
	       ordering may change the value  of  complex  eigenvalues	(espe‐
	       cially if the eigenvalue is ill-conditioned), in this case INFO
	       is set to N+3 see INFO below).

       SENSE   (input) CHARACTER*1
	       Determines which reciprocal condition numbers are computed.   =
	       'N' : None are computed;
	       = 'E' : Computed for average of selected eigenvalues only;
	       = 'V' : Computed for selected deflating subspaces only;
	       =  'B'  : Computed for both.  If SENSE = 'E', 'V', or 'B', SORT
	       must equal 'S'.

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

       A       (input/output) COMPLEX*16 array, dimension (LDA, N)
	       On entry, the first of the pair of matrices.  On	 exit,	A  has
	       been overwritten by its generalized Schur form S.

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

       B       (input/output) COMPLEX*16 array, dimension (LDB, N)
	       On  entry,  the second of the pair of matrices.	On exit, B has
	       been overwritten by its generalized Schur form T.

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

       SDIM    (output) INTEGER
	       If SORT = 'N', SDIM = 0.	 If SORT = 'S', SDIM = number  of  ei‐
	       genvalues (after sorting) for which SELCTG is true.

       ALPHA   (output) COMPLEX*16 array, dimension (N)
	       BETA	(output)  COMPLEX*16  array,  dimension	 (N)  On exit,
	       ALPHA(j)/BETA(j), j=1,...,N, will be the generalized  eigenval‐
	       ues.   ALPHA(j) and BETA(j),j=1,...,N  are the diagonals of the
	       complex Schur form (S,T).  BETA(j) will be  non-negative	 real.
	       Note: the quotients ALPHA(j)/BETA(j) may easily over- or under‐
	       flow, and BETA(j) may even be  zero.   Thus,  the  user	should
	       avoid  naively  computing the ratio alpha/beta.	However, ALPHA
	       will be always less than and usually comparable with norm(A) in
	       magnitude,  and	BETA  always  less than and usually comparable
	       with norm(B).

       VSL     (output) COMPLEX*16 array, dimension (LDVSL,N)
	       If JOBVSL = 'V', VSL will contain the left Schur vectors.   Not
	       referenced if JOBVSL = 'N'.

       LDVSL   (input) INTEGER
	       The leading dimension of the matrix VSL. LDVSL >=1, and if JOB‐
	       VSL = 'V', LDVSL >= N.

       VSR     (output) COMPLEX*16 array, dimension (LDVSR,N)
	       If JOBVSR = 'V', VSR will contain the right Schur vectors.  Not
	       referenced if JOBVSR = 'N'.

       LDVSR   (input) INTEGER
	       The  leading  dimension	of  the matrix VSR. LDVSR >= 1, and if
	       JOBVSR = 'V', LDVSR >= N.

       RCONDE  (output) DOUBLE PRECISION array, dimension ( 2 )
	       If SENSE = 'E' or 'B',  RCONDE(1)  and  RCONDE(2)  contain  the
	       reciprocal  condition  numbers  for the average of the selected
	       eigenvalues.  Not referenced if SENSE = 'N' or 'V'.

       RCONDV  (output) DOUBLE PRECISION array, dimension ( 2 )
	       If SENSE = 'V' or 'B',  RCONDV(1)  and  RCONDV(2)  contain  the
	       reciprocal  condition  number  for  the selected deflating sub‐
	       spaces.	Not referenced if SENSE = 'N' or 'E'.

       WORK    (workspace/output) COMPLEX*16 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.	 If N = 0, LWORK >= 1, else if
	       SENSE  = 'E', 'V', or 'B', LWORK >= MAX(1,2*N,2*SDIM*(N-SDIM)),
	       else LWORK >= MAX(1,2*N).  Note that 2*SDIM*(N-SDIM) <=	N*N/2.
	       Note also that an error is only returned if LWORK < MAX(1,2*N),
	       but if SENSE = 'E' or 'V' or 'B' this may not be large  enough.
	       If  LWORK  = -1, then a workspace query is assumed; the routine
	       only calculates the bound on the optimal size of the WORK array
	       and  the	 minimum size of the IWORK array, returns these values
	       as the first entries of the WORK and IWORK arrays, and no error
	       message related to LWORK or LIWORK is issued by XERBLA.

       RWORK   (workspace) DOUBLE PRECISION array, dimension ( 8*N )
	       Real workspace.

       IWORK   (workspace/output) INTEGER array, dimension (MAX(1,LIWORK))
	       On exit, if INFO = 0, IWORK(1) returns the minimum LIWORK.

       LIWORK  (input) INTEGER
	       The  dimension  of  the	array IWORK.  If SENSE = 'N' or N = 0,
	       LIWORK >= 1, otherwise LIWORK >= N+2.  If LIWORK = -1,  then  a
	       workspace  query	 is  assumed;  the routine only calculates the
	       bound on the optimal size of the WORK  array  and  the  minimum
	       size  of	 the  IWORK  array,  returns these values as the first
	       entries of the WORK and IWORK  arrays,  and  no	error  message
	       related to LWORK or LIWORK is issued by XERBLA.

       BWORK   (workspace) LOGICAL array, dimension (N)
	       Not referenced if SORT = '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.	(A,B) are not in Schur
	       form,  but  ALPHA(j)  and  BETA(j)  should   be	 correct   for
	       j=INFO+1,...,N.	 > N:  =N+1: other than QZ iteration failed in
	       ZHGEQZ
	       =N+2: after reordering, roundoff changed values of some complex
	       eigenvalues  so	that  leading  eigenvalues  in the Generalized
	       Schur form no longer satisfy SELCTG=.TRUE.  This could also  be
	       caused due to scaling.  =N+3: reordering failed in ZTGSEN.

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