dggesx man page on Scientific

Printed from http://www.polarhome.com/service/man/?qf=dggesx&af=0&tf=2&of=Scientific

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

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

SYNOPSIS
       SUBROUTINE DGGESX( JOBVSL, JOBVSR, SORT, SELCTG, SENSE, N, A,  LDA,  B,
			  LDB,	SDIM,  ALPHAR,	ALPHAI, BETA, VSL, LDVSL, VSR,
			  LDVSR, RCONDE, RCONDV, WORK, LWORK,  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  A( LDA, * ), ALPHAI( * ), ALPHAR( * ), B(
			  LDB, * ), BETA( * ), RCONDE( 2 ), RCONDV( 2 ),  VSL(
			  LDVSL, * ), VSR( LDVSR, * ), WORK( * )

	   LOGICAL	  SELCTG

	   EXTERNAL	  SELCTG

PURPOSE
       DGGESX  computes for a pair of N-by-N real nonsymmetric matrices (A,B),
       the generalized eigenvalues, the real Schur form	 (S,T),	 and,  option‐
       ally,  the  left	 and/or right matrices of Schur vectors (VSL and VSR).
       This gives the generalized Schur factorization
	    (A,B) = ( (VSL) S (VSR)**T, (VSL) T (VSR)**T )
       Optionally, it also orders the eigenvalues so that a  selected  cluster
       of  eigenvalues	appears	 in  the  leading diagonal blocks of the upper
       quasi-triangular matrix S and the upper triangular matrix T; computes a
       reciprocal 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 real Schur form if T is upper	triangular  with  non-
       negative	 diagonal  and	S  is  block  upper triangular with 1-by-1 and
       2-by-2 blocks.  1-by-1 blocks correspond to real generalized  eigenval‐
       ues, while 2-by-2 blocks of S will be "standardized" by making the cor‐
       responding elements of T have the form:
	       [  a  0	]
	       [  0  b	]
       and the pair of corresponding 2-by-2 blocks in S and T will have a com‐
       plex conjugate pair of generalized eigenvalues.

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 three DOUBLE PRECISION
       arguments
	       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.   An eigenvalue (ALPHAR(j)+ALPHAI(j))/BETA(j) is selected
	       if SELCTG(ALPHAR(j),ALPHAI(j),BETA(j)) is true; i.e. if	either
	       one  of	a  complex  conjugate pair of eigenvalues is selected,
	       then both  complex  eigenvalues	are  selected.	 Note  that  a
	       selected	   complex    eigenvalue   may	 no   longer   satisfy
	       SELCTG(ALPHAR(j),ALPHAI(j),BETA(j)) =  .TRUE.  after  ordering,
	       since  ordering	may  change  the  value of complex eigenvalues
	       (especially if the eigenvalue is ill-conditioned), in this case
	       INFO is set to N+3.

       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) DOUBLE PRECISION 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) DOUBLE PRECISION 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.   (Complex
	       conjugate  pairs for which SELCTG is true for either eigenvalue
	       count as 2.)

       ALPHAR  (output) DOUBLE PRECISION array, dimension (N)
	       ALPHAI  (output) DOUBLE PRECISION  array,  dimension  (N)  BETA
	       (output)	  DOUBLE  PRECISION  array,  dimension	(N)  On	 exit,
	       (ALPHAR(j) + ALPHAI(j)*i)/BETA(j), j=1,...,N, will be the  gen‐
	       eralized	   eigenvalues.	    ALPHAR(j)	 +   ALPHAI(j)*i   and
	       BETA(j),j=1,...,N  are the diagonals of the complex Schur  form
	       (S,T)  that  would  result if the 2-by-2 diagonal blocks of the
	       real Schur form of (A,B) were  further  reduced	to  triangular
	       form   using   2-by-2   complex	unitary	 transformations.   If
	       ALPHAI(j) is zero, then the j-th eigenvalue is real;  if	 posi‐
	       tive, then the j-th and (j+1)-st eigenvalues are a complex con‐
	       jugate pair, with ALPHAI(j+1) negative.	 Note:	the  quotients
	       ALPHAR(j)/BETA(j)  and  ALPHAI(j)/BETA(j)  may  easily over- or
	       underflow, and BETA(j) may even be zero.	 Thus, the user should
	       avoid  naively computing the ratio.  However, ALPHAR and ALPHAI
	       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) DOUBLE PRECISION 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) DOUBLE PRECISION 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  numbers  for the selected deflating sub‐
	       spaces.	Not referenced if SENSE = 'N' or 'E'.

       WORK	 (workspace/output)   DOUBLE   PRECISION   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( 8*N, 6*N+16, 2*SDIM*(N-
	       SDIM)  ),  else	LWORK  >=  max(	 8*N,  6*N+16  ).   Note  that
	       2*SDIM*(N-SDIM) <= N*N/2.  Note also  that  an  error  is  only
	       returned	 if  LWORK  < max( 8*N, 6*N+16), 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.

       IWORK   (workspace) 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+6.  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 ALPHAR(j), ALPHAI(j), and BETA(j) should  be  correct
	       for j=INFO+1,...,N.  > N:  =N+1: other than QZ iteration failed
	       in DHGEQZ
	       =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 DTGSEN.

FURTHER DETAILS
       An  approximate (asymptotic) bound on the average absolute error of the
       selected eigenvalues is
	    EPS * norm((A, B)) / RCONDE( 1 ).
       An approximate (asymptotic) bound on the maximum angular error  in  the
       computed deflating subspaces is
	    EPS * norm((A, B)) / RCONDV( 2 ).
       See LAPACK User's Guide, section 4.11 for more information.

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