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