AB09JX

Check stability/antistability of finite eigenvalues

[Specification] [Arguments] [Method] [References] [Comments] [Example]

Purpose

  To check stability/antistability of finite eigenvalues with
  respect to a given stability domain.

Specification
      SUBROUTINE AB09JX( DICO, STDOM, EVTYPE, N, ALPHA, ER, EI, ED,
     $                   TOLINF, INFO )
C     .. Scalar Arguments ..
      CHARACTER        DICO, EVTYPE, STDOM
      INTEGER          INFO, N
      DOUBLE PRECISION ALPHA, TOLINF
C     .. Array Arguments ..
      DOUBLE PRECISION ED(*), EI(*), ER(*)

Arguments

Mode Parameters

  DICO    CHARACTER*1
          Specifies the type of the stability domain as follows:
          = 'C':  for a continuous-time system;
          = 'D':  for a discrete-time system.

  STDOM   CHARACTER*1
          Specifies whether the domain of interest is of stability
          type (left part of complex plane or inside of a circle)
          or of instability type (right part of complex plane or
          outside of a circle) as follows:
          = 'S':  stability type domain;
          = 'U':  instability type domain.

  EVTYPE  CHARACTER*1
          Specifies whether the eigenvalues arise from a standard
          or a generalized eigenvalue problem as follows:
          = 'S':  standard eigenvalue problem;
          = 'G':  generalized eigenvalue problem;
          = 'R':  reciprocal generalized eigenvalue problem.

Input/Output Parameters
  N       (input) INTEGER
          The dimension of vectors ER, EI and ED.  N >= 0.

  ALPHA   (input) DOUBLE PRECISION
          Specifies the boundary of the domain of interest for the
          eigenvalues. For a continuous-time system
          (DICO = 'C'), ALPHA is the boundary value for the real
          parts of eigenvalues, while for a discrete-time system
          (DICO = 'D'), ALPHA >= 0 represents the boundary value for
          the moduli of eigenvalues.

  ER, EI, (input) DOUBLE PRECISION arrays, dimension (N)
  ED      If EVTYPE = 'S', ER(j) + EI(j)*i, j = 1,...,N, are
          the eigenvalues of a real matrix.
          ED is not referenced and is implicitly considered as
          a vector having all elements equal to one.
          If EVTYPE = 'G' or EVTYPE = 'R', (ER(j) + EI(j)*i)/ED(j),
          j = 1,...,N, are the generalized eigenvalues of a pair of
          real matrices. If ED(j) is zero, then the j-th generalized
          eigenvalue is infinite.
          Complex conjugate pairs of eigenvalues must appear
          consecutively.

Tolerances
  TOLINF  DOUBLE PRECISION
          If EVTYPE = 'G' or 'R', TOLINF contains the tolerance for
          detecting infinite generalized eigenvalues.
          0 <= TOLINF < 1.

Error Indicator
  INFO    INTEGER
          =  0:  successful exit, i.e., all eigenvalues lie within
                 the domain of interest defined by DICO, STDOM
                 and ALPHA;
          <  0:  if INFO = -i, the i-th argument had an illegal
                 value;
          =  1:  some eigenvalues lie outside the domain of interest
                 defined by DICO, STDOM and ALPHA.
Method
  The domain of interest for an eigenvalue lambda is defined by the
  parameters ALPHA, DICO and STDOM as follows:
     - for a continuous-time system (DICO = 'C'):
            Real(lambda) < ALPHA if STDOM = 'S';
            Real(lambda) > ALPHA if STDOM = 'U';
     - for a discrete-time system (DICO = 'D'):
            Abs(lambda) < ALPHA if STDOM = 'S';
            Abs(lambda) > ALPHA if STDOM = 'U'.
  If EVTYPE = 'R', the same conditions apply for 1/lambda.

Further Comments
  None
Example

Program Text

  None
Program Data
  None
Program Results
  None

Return to Supporting Routines index