dgges man page on Scientific

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

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

NAME
       DGGES - computes for a pair of N-by-N real nonsymmetric matrices (A,B),

SYNOPSIS
       SUBROUTINE DGGES( JOBVSL,  JOBVSR,  SORT,  SELCTG,  N,  A, LDA, B, LDB,
			 SDIM, ALPHAR, ALPHAI, BETA, VSL, LDVSL,  VSR,	LDVSR,
			 WORK, LWORK, BWORK, INFO )

	   CHARACTER	 JOBVSL, JOBVSR, SORT

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

	   LOGICAL	 BWORK( * )

	   DOUBLE	 PRECISION  A(	LDA, * ), ALPHAI( * ), ALPHAR( * ), B(
			 LDB, * ), BETA( * ), VSL( LDVSL, * ), VSR(  LDVSR,  *
			 ), WORK( * )

	   LOGICAL	 SELCTG

	   EXTERNAL	 SELCTG

PURPOSE
       DGGES  computes	for a pair of N-by-N real nonsymmetric matrices (A,B),
       the generalized eigenvalues, the generalized  real  Schur  form	(S,T),
       optionally,  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.The leading
       columns	of  VSL	 and VSR then form an orthonormal basis for the corre‐
       sponding left and right eigenspaces (deflating  subspaces).   (If  only
       the  generalized	 eigenvalues are needed, use the driver DGGEV instead,
       which is faster.)
       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 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 trian‐
       gular  with 1-by-1 and 2-by-2 blocks.  1-by-1 blocks correspond to real
       generalized eigenvalues, while 2-by-2 blocks of S  will	be  "standard‐
       ized" by making the corresponding 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 in the
	       ill-conditioned case, a	selected  complex  eigenvalue  may  no
	       longer  satisfy	SELCTG(ALPHAR(j),ALPHAI(j),  BETA(j)) = .TRUE.
	       after ordering. INFO is to be set to N+2 in this case.

       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.

       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
	       LWORK  >=  8*N+16.  For good performance , LWORK must generally
	       be larger.  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.

       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.

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