
Chapter 2 Additive Error Reduction
Xmath Model Reduction Module 2-12 ni.com
redschur( )[SysR,HSV,slbig,srbig,VD,VA] = redschur(Sys,{nsr,bound})
The redschur( ) function uses a Schur method (from Safonov and 
Chiang) to calculate a reduced version of a continuous or discrete system 
without balancing.
Algorithm
The objective of redschur( ) is the sa me as tha t of balmoore( ) when 
the latter is being used to reduce a system; this means that if the same Sys 
and nsr are used for both algorithms, the reduced order system should have 
the same transfer function matrix. However, in contrast to balmoore( ), 
redschur( ) do not initially transform Sys to an internally balanced 
realization and then truncate it; nor is SysR in balanced form. The fact that 
there is no balancing offers numerical advantages, especially if Sys is 
nearly nonminimal. 
Sys should be stable, and this is checked by the algorithm. In contrast to 
balmoore( ), minimality of Sys (that is, controllability and 
observability) is not required. 
If the Hankel singular values of Sys are ordered as  , 
then those of SysR in the continuous-time case are  . 
A restriction of the algorithm is that   is required for both 
continuous-time and discrete-time cases. Under this restriction, SysR is 
guaranteed to be stable and minimal. 
The algorithms depend on the same algorithm, apart from the calculation 
of the controllability and observability grammians Wc and Wo of the 
original system. These are obtained as follows:
The maximum order permitted is the number of nonzero eigenvalues of 
WcWo that are larger than ε. 
σ1σ2... σns 0≥≥≥≥
σ1σ2... σnsr 0>≥≥≥
σnsr σnsr 1+
>
(continuous)
(discrete)
WcA′AWc
+BB′–= WoAA′Wo
+C′C=
WcAWcA′–BB′=WoA′WoA–C′C=