ml_ct_ss_hna

Hankel-norm approximation for standard systems.

Contents

Syntax

[Ar, Br, Cr, Dr, info] = ml_ct_ss_hna(A, B, C, D)
[Ar, Br, Cr, Dr, info] = ml_ct_ss_hna(A, B, C, D, opts)
[rom, info] = ml_ct_ss_hna(sys)
[rom, info] = ml_ct_ss_hna(sys, opts)

Description

This function computes the Hankel-norm approximation of a standard system of the form

   x'(t) = A*x(t) + B*u(t),                                        (1)
    y(t) = C*x(t) + D*u(t).                                        (2)

Therefore, first a balanced realization is computed by using the balanced truncation square-root method with an appropriate tolerance for the minimal realization of the given system. Then the system is transformed using the formulas given in the reference below. As result, a reduced-order system of the form

   x'(t) = Ar*x(t) + Br*u(t),                                      (3)
    y(t) = Cr*x(t) + Dr*u(t)                                       (4)

is computed, such that for the original transfer function G and and the r-th order transfer function Gr it holds

   ||G - Gr||_{H}       = Hsv(r+1),
   ||G - Gr||_{\infty} <= 2 * (Hsv(r+1) + ... + Hsv(n)),

with Hsv, a vector containing the Hankel singular values of the system.

Note: For unstable systems, first an additive decomposition into the stable and anti-stable parts is performed and then only the stable part will be reduced. That does not change the error formulas.

Input

Entry
Meaning
A
matrix from (1) with dimensions n x n
B
matrix from (1) with dimensions n x m
C
matrix from (2) with dimensions p x n
D
matrix from (2) with dimensions p x m

Parameter
Meaning
hankelsignmopts
structure, containing the optional parameters for the matrix sign function used for the decomposition after the transformation of an all-pass system, see ml_signm
default: struct()
hankelsylvopts
structure, containing the optional parameters for the Sylvester equation solver used for the decomposition after the transformation of an all-pass system, see ml_sylv_sgn
default: struct()
lyapdlopts
structure, containing the optional parameters for the computation of the continuous-time Lyapunov equations, see ml_lyapdl_sgn_fac
default: struct()
MinRelTol
{!}
nonnegative scalar, tolerance multiplied with the largest characteristic value to determine a minimal realization
default: log(n)*eps
Order
{!}
positive integer, order of the resulting reduced-order model chosen by the user if 'order' is set for OrderComputation
default: min(10,length(Hsv)) + Nu
OrderComputation
{!}
character array, determining the method for the computation of the size of the reduced-order model
  • 'order' - take explicit order
  • 'tolerance' - using absolute error bound
default: 'tolerance'
stabsignmopts
structure, containing the optional parameters for the matrix sign function used for the decomposition into stable and anti-stable system parts, see ml_signm
default: struct()
stabsylvopts
structure, containing the optional parameters for the Sylvester equation solver used for the decomposition into stable and anti-stable system parts, see ml_sylv_sgn
default: struct()
Tolerance
{!}
nonnegative scalar, tolerance used for the computation of the size of the reduced-order model by an absolute error bound if 'tolerance' is set for OrderComputation
default: 1.0e-02
UnstabDim
integer, dimension of the deflating anti-stable subspace, negative if unknown
default: -1

Note: Parameters marked with {!} may also be a cell array containing multiple arguments. In this case an cell array of the same size is returned with one entry computed for each input argument and the marked fields of the info struct are cells as well. When multiple arguments are given as cells, they are expected to have the same length.

Output

Entry
Meaning
A
matrix from (3) with dimensions r x r
B
matrix from (3) with dimensions r x m
C
matrix from (4) with dimensions p x r
D
matrix from (4) with dimensions p x m

Entry
Meaning
AbsErrBound
{!}
computed error bound for the absolute error of the reduced-order model in H-infinity norm
Hsv
a vector, containing the computed Hankel singular values
infoADTF
structure, containing information about the additive decomposition of the system into its stable and anti-stable parts, see ml_ct_ss_adtf
infoHAADTF
structure, containing information about the additive decomposition of the Hankel-norm transformed system, see ml_ct_ss_adtf
infoLYAPDL
structure, containing information about the continuous-time dual Lyapunov equations solver, see ml_lyapdl_sgn_fac
Ns
{!}
Dimension of the stable part of the reduced-order model
Nu
Dimension of the anti-stable part of the reduced- order model
Sigma
{!}
Chosen Hankel singular value, exact approximation error in the Hankel-norm

Reference

P. Benner, E. S. Quintana-Orti, G. Quintana-Orti, Computing optimal Hankel norm approximations of large-scale systems, in: Proc. 43rd IEEE Conf. Decision Contr., Omnipress, Madison, WI, 2004, pp. 3078--3083.

See Also

ml_ct_dss_hna | ml_morlabopts