Purpose
To estimate the system order, based on the singular values of the relevant part of the triangular factor of the concatenated block Hankel matrices.Specification
      SUBROUTINE IB01OD( CTRL, NOBR, L, SV, N, TOL, IWARN, INFO )
C     .. Scalar Arguments ..
      DOUBLE PRECISION   TOL
      INTEGER            INFO, IWARN, L, N, NOBR
      CHARACTER          CTRL
C     .. Array Arguments ..
      DOUBLE PRECISION   SV(*)
Arguments
Mode Parameters
  CTRL    CHARACTER*1
          Specifies whether or not the user's confirmation of the
          system order estimate is desired, as follows:
          = 'C':  user's confirmation;
          = 'N':  no confirmation.
          If  CTRL = 'C',  a reverse communication routine,  IB01OY,
          is called, and, after inspecting the singular values and
          system order estimate,  n,  the user may accept  n  or set
          a new value.
          IB01OY  is not called by the routine if CTRL = 'N'.
Input/Output Parameters
  NOBR    (input) INTEGER
          The number of block rows,  s,  in the processed input and
          output block Hankel matrices.  NOBR > 0.
  L       (input) INTEGER
          The number of system outputs.  L > 0.
  SV      (input) DOUBLE PRECISION array, dimension ( L*NOBR )
          The singular values of the relevant part of the triangular
          factor from the QR factorization of the concatenated block
          Hankel matrices.
  N       (output) INTEGER
          The estimated order of the system.
Tolerances
  TOL     DOUBLE PRECISION
          Absolute tolerance used for determining an estimate of
          the system order. If  TOL >= 0,  the estimate is
          indicated by the index of the last singular value greater
          than or equal to  TOL.  (Singular values less than  TOL
          are considered as zero.) When  TOL = 0,  an internally
          computed default value,  TOL = NOBR*EPS*SV(1),  is used,
          where  SV(1)  is the maximal singular value, and  EPS  is
          the relative machine precision (see LAPACK Library routine
          DLAMCH). When  TOL < 0,  the estimate is indicated by the
          index of the singular value that has the largest
          logarithmic gap to its successor.
Warning Indicator
  IWARN   INTEGER
          = 0:  no warning;
          = 3:  all singular values were exactly zero, hence  N = 0.
                (Both input and output were identically zero.)
Error Indicator
  INFO    INTEGER
          = 0:  successful exit;
          < 0:  if INFO = -i, the i-th argument had an illegal
                value.
Method
The singular values are compared to the given, or default TOL, and the estimated order n is returned, possibly after user's confirmation.Further Comments
NoneExample
Program Text
NoneProgram Data
NoneProgram Results
None