NAME
     shsein - use  inverse  iteration  to  find  specified  right
     and/or left eigenvectors of a real upper Hessenberg matrix H
SYNOPSIS
     SUBROUTINE SHSEIN( SIDE, EIGSRC, INITV, SELECT, N,  H,  LDH,
               WR,  WI,  VL, LDVL, VR, LDVR, MM, M, WORK, IFAILL,
               IFAILR, INFO )
     CHARACTER EIGSRC, INITV, SIDE
     INTEGER INFO, LDH, LDVL, LDVR, M, MM, N
     LOGICAL SELECT( * )
     INTEGER IFAILL( * ), IFAILR( * )
     REAL H( LDH, * ), VL( LDVL, * ), VR( LDVR, *  ),  WI(  *  ),
               WORK( * ), WR( * )
     #include <sunperf.h>
     void shsein(char side, char eigsrc, char initv, int *select,
               int  n,  float  *h, int ldh, float *wr, float *wi,
               float * vl, int ldvl, float *vr, int ldvr, int mm,
               int *m, int *ifaill, int *ifailr, int *info);
PURPOSE
     SHSEIN uses inverse iteration to find specified right and/or
     left eigenvectors of a real upper Hessenberg matrix H.
     The right eigenvector x and the left eigenvector  y  of  the
     matrix H corresponding to an eigenvalue w are defined by:
                  H * x = w * x,     y**h * H = w * y**h
     where y**h denotes the conjugate transpose of the vector y.
ARGUMENTS
     SIDE      (input) CHARACTER*1
               = 'R': compute right eigenvectors only;
               = 'L': compute left eigenvectors only;
               = 'B': compute both right and left eigenvectors.
     EIGSRC    (input) CHARACTER*1
               Specifies the source of  eigenvalues  supplied  in
               (WR,WI):
               = 'Q': the eigenvalues were  found  using  SHSEQR;
               thus,  if  H has zero subdiagonal elements, and so
               is block-triangular, then the j-th eigenvalue  can
               be  assumed  to be an eigenvalue of the block con-
               taining the j-th row/column.  This property allows
               SHSEIN  to  perform  inverse iteration on just one
               diagonal block.  = 'N': no assumptions are made on
               the  correspondence between eigenvalues and diago-
               nal blocks.  In this case, SHSEIN must always per-
               form inverse iteration using the whole matrix H.
     INITV     (input) CHARACTER*1
               = 'N': no initial vectors are supplied;
               = 'U': user-supplied initial vectors are stored in
               the arrays VL and/or VR.
     SELECT    (input/output) LOGICAL array, dimension (N)
               Specifies the  eigenvectors  to  be  computed.  To
               select  the  real  eigenvector  corresponding to a
               real eigenvalue WR(j), SELECT(j) must  be  set  to
               .TRUE..   To   select   the   complex  eigenvector
               corresponding    to    a    complex     eigenvalue
               (WR(j),WI(j)),      with     complex     conjugate
               (WR(j+1),WI(j+1)), either SELECT(j) or SELECT(j+1)
               or both must be set to
     Each eigenvector is normalized so that the element of  larg-
     est  magnitude has magnitude 1; here the magnitude of a com-
     plex number (x,y) is taken to be |x|+|y|.
| Закладки на сайте Проследить за страницей | Created 1996-2025 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |