sggesx man page on Scientific

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

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

NAME
       SGGESX  -  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 SGGESX( 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( * )

	   REAL		  A(  LDA, * ), ALPHAI( * ), ALPHAR( * ), B( LDB, * ),
			  BETA( * ), RCONDE( 2 ), RCONDV( 2 ), VSL(  LDVSL,  *
			  ), VSR( LDVSR, * ), WORK( * )

	   LOGICAL	  SELCTG

	   EXTERNAL	  SELCTG

PURPOSE
       SGGESX  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 REAL 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) REAL 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) REAL 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) REAL array, dimension (N)
	       ALPHAI	(output)  REAL	array,	dimension (N) BETA    (output)
	       REAL   array,   dimension   (N)	 On   exit,    (ALPHAR(j)    +
	       ALPHAI(j)*i)/BETA(j), j=1,...,N, will be the generalized eigen‐
	       values.	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 eigenval‐
	       ue is real; if positive, then the j-th and (j+1)-st eigenvalues
	       are a complex conjugate pair, with ALPHAI(j+1) negative.	 Note:
	       the  quotients ALPHAR(j)/BETA(j) and ALPHAI(j)/BETA(j) may eas‐
	       ily 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 compara‐
	       ble  with  norm(A)  in magnitude, and BETA always less than and
	       usually comparable with norm(B).

       VSL     (output) REAL 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) REAL 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) REAL 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) REAL 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) REAL 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 SHGEQZ
	       =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 STGSEN.

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			     SGGESX(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