1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133
|
<HTML>
<HEAD><TITLE>IB01OD - SLICOT Library Routine Documentation</TITLE>
</HEAD>
<BODY>
<H2><A Name="IB01OD">IB01OD</A></H2>
<H3>
Estimating the system order
</H3>
<A HREF ="#Specification"><B>[Specification]</B></A>
<A HREF ="#Arguments"><B>[Arguments]</B></A>
<A HREF ="#Method"><B>[Method]</B></A>
<A HREF ="#References"><B>[References]</B></A>
<A HREF ="#Comments"><B>[Comments]</B></A>
<A HREF ="#Example"><B>[Example]</B></A>
<P>
<B><FONT SIZE="+1">Purpose</FONT></B>
<PRE>
To estimate the system order, based on the singular values of the
relevant part of the triangular factor of the concatenated block
Hankel matrices.
</PRE>
<A name="Specification"><B><FONT SIZE="+1">Specification</FONT></B></A>
<PRE>
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(*)
</PRE>
<A name="Arguments"><B><FONT SIZE="+1">Arguments</FONT></B></A>
<P>
<B>Mode Parameters</B>
<PRE>
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'.
</PRE>
<B>Input/Output Parameters</B>
<PRE>
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.
</PRE>
<B>Tolerances</B>
<PRE>
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.
</PRE>
<B>Warning Indicator</B>
<PRE>
IWARN INTEGER
= 0: no warning;
= 3: all singular values were exactly zero, hence N = 0.
(Both input and output were identically zero.)
</PRE>
<B>Error Indicator</B>
<PRE>
INFO INTEGER
= 0: successful exit;
< 0: if INFO = -i, the i-th argument had an illegal
value.
</PRE>
<A name="Method"><B><FONT SIZE="+1">Method</FONT></B></A>
<PRE>
The singular values are compared to the given, or default TOL, and
the estimated order n is returned, possibly after user's
confirmation.
</PRE>
<A name="Comments"><B><FONT SIZE="+1">Further Comments</FONT></B></A>
<PRE>
None
</PRE>
<A name="Example"><B><FONT SIZE="+1">Example</FONT></B></A>
<P>
<B>Program Text</B>
<PRE>
None
</PRE>
<B>Program Data</B>
<PRE>
None
</PRE>
<B>Program Results</B>
<PRE>
None
</PRE>
<HR>
<A HREF=support.html><B>Return to Supporting Routines index</B></A></BODY>
</HTML>
|