## 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