The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Интерактивная система просмотра системных руководств (man-ов)

 ТемаНаборКатегория 
 
 [Cписок руководств | Печать]

sgegs (3)
  • >> sgegs (3) ( Solaris man: Библиотечные вызовы )
  • 
    NAME
         sgegs - compute for  a  pair  of  N-by-N  real  nonsymmetric
         matrices A, B
    
    SYNOPSIS
         SUBROUTINE SGEGS( JOBVSL, JOBVSR, N, A, LDA, B, LDB, ALPHAR,
                   ALPHAI, BETA, VSL, LDVSL, VSR, LDVSR, WORK, LWORK,
                   INFO )
    
         CHARACTER JOBVSL, JOBVSR
    
         INTEGER INFO, LDA, LDB, LDVSL, LDVSR, LWORK, N
    
         REAL A( LDA, * ), ALPHAI( * ), ALPHAR( * ),  B(  LDB,  *  ),
                   BETA( * ), VSL( LDVSL, * ), VSR( LDVSR, * ), WORK(
                   * )
    
    
    
         #include <sunperf.h>
    
         void sgegs(char jobvsl, char jobvsr, int n, float  *sa,  int
                   lda,  float  *sb,  int  ldb,  float *alphar, float
                   *alphai, float *beta, float *vsl, int ldvsl, float
                   *vsr, int ldvsr, int *info) ;
    
    PURPOSE
         SGEGS computes  for  a  pair  of  N-by-N  real  nonsymmetric
         matrices  A,  B:   the  generalized  eigenvalues (alphar +/-
         alphai*i, beta), the real Schur form (A, B), and  optionally
         left and/or right Schur vectors (VSL and VSR).
    
         (If only the generalized eigenvalues  are  needed,  use  the
         driver SGEGV instead.)
    
         A generalized eigenvalue for a pair of  matrices  (A,B)  is,
         roughly  speaking,  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 interpre-
         tation for beta=0, and even for both  being  zero.   A  good
         beginning  reference  is the book, "Matrix Computations", by
         G. Golub & C. van Loan (Johns Hopkins U. Press)
    
         The (generalized) Schur form of a pair of  matrices  is  the
         result  of  multiplying  both  matrices  on  the left by one
         orthogonal matrix and both on the right by another  orthogo-
         nal matrix, these two orthogonal matrices being chosen so as
         to bring the pair of matrices into (real) Schur form.
    
         A pair of matrices A, B is in generalized real Schur form if
         B  is  upper  triangular with non-negative diagonal and A is
         block upper triangular with 1-by-1 and  2-by-2  blocks.   1-
         by-1  blocks  correspond  to  real  generalized eigenvalues,
         while 2-by-2 blocks of A will be  "standardized"  by  making
         the corresponding elements of B have the form:
                 [  a  0  ]
                 [  0  b  ]
    
         and the pair of corresponding 2-by-2 blocks in A and B  will
         have a complex conjugate pair of generalized eigenvalues.
    
         The left and right Schur vectors are the columns of VSL  and
         VSR,  respectively,  where  VSL  and  VSR are the orthogonal
         matrices which reduce A and B to Schur form:
    
         Schur form of (A,B) = ( (VSL)**T A (VSR), (VSL)**T B (VSR) )
    
    
    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.
    
         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  whose
                   generalized  eigenvalues  and  (optionally)  Schur
                   vectors are to be computed.  On exit, the general-
                   ized  Schur  form  of A.  Note: to avoid overflow,
                   the Frobenius norm of the matrix A should be  less
                   than the overflow threshold.
    
         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 whose
                   generalized  eigenvalues  and  (optionally)  Schur
                   vectors are to be computed.  On exit, the general-
                   ized  Schur  form  of B.  Note: to avoid overflow,
                   the Frobenius norm of the matrix B should be  less
                   than the overflow threshold.
    
         LDB       (input) INTEGER
                   The leading dimension of B.  LDB >= max(1,N).
    
         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  eigenvalues.   ALPHAR(j)  +
                   ALPHAI(j)*i,  j=1,...,N   and    BETA(j),j=1,...,N
                   are  the diagonals of the complex Schur form (A,B)
                   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 positive, then the  j-
                   th  and  (j+1)-st eigenvalues are a complex conju-
                   gate 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
                   alpha/beta.  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) REAL array, dimension (LDVSL,N)
                   If JOBVSL = 'V', VSL will contain the  left  Schur
                   vectors.   (See "Purpose", above.)  Not referenced
                   if JOBVSL = 'N'.
    
         LDVSL     (input) INTEGER
                   The leading dimension of  the  matrix  VSL.  LDVSL
                   >=1, and if JOBVSL = 'V', LDVSL >= N.
    
         VSR       (output) REAL array, dimension (LDVSR,N)
                   If JOBVSR = 'V', VSR will contain the right  Schur
                   vectors.   (See "Purpose", above.)  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) REAL array, dimension (LWORK)
                   On exit, if INFO = 0, WORK(1) returns the  optimal
                   LWORK.
    
         LWORK     (input) INTEGER
                   The  dimension  of  the  array  WORK.   LWORK   >=
                   max(1,4*N).  For good performance, LWORK must gen-
                   erally be larger.  To compute the optimal value of
                   LWORK,  call ILAENV to get blocksizes (for SGEQRF,
                   SORMQR, and SORGQR.)  Then compute:  NB  -- MAX of
                   the  blocksizes for SGEQRF, SORMQR, and SORGQR The
                   optimal LWORK is  2*N + N*(NB+1).
    
         INFO      (output) INTEGER
                   = 0:  successful exit
                   < 0:  if INFO = -i, the i-th argument had an ille-
                   gal 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:  errors that usually indicate LAPACK problems:
                   =N+1: error return from SGGBAL
                   =N+2: error return from SGEQRF
                   =N+3: error return from SORMQR
                   =N+4: error return from SORGQR
                   =N+5: error return from SGGHRD
                   =N+6: error return from SHGEQZ (other than  failed
                   iteration) =N+7: error return from SGGBAK (comput-
                   ing VSL)
                   =N+8: error return from SGGBAK (computing VSR)
                   =N+9: error return from SLASCL (various places)
    
    
    
    


    Поиск по тексту MAN-ов: 




    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру