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