ml_ct_dss_hna

Hankel-norm approximation for descriptor systems.

Contents

Syntax

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

Description

This function computes the generalized Hankel-norm approximation of a descriptor system

   E*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 generalized balanced truncation square-root method with an appropriate tolerance for the minimal realization of the given system. Then the strictly proper part of the system is transformed using the formulas for all-pass systems. As result, a reduced-order system of the form

   Er*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 the reduced-order transfer function Gr with an r-th order strictly proper part it holds

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

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

Note: For unstable systems, an additional 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
E
matrix from (1) with dimensions n x n

Parameter
Meaning
DecompEig
positive scalar, overestimation of the absolute value of the largest finite eigenvalue of s*E - A, if set, replaces the computation with DecompTol
default: []
DecompTol
nonnegative scalar, tolerance multiplied with the largest singular value of E to determine the smallest non-quasi-zero singular value of E
default: log(n)*eps
gdlyapdlopts
structure, containing the optional parameters for the computation of the generalized discrete-time Lyapunov equations, see ml_gdlyapdl_smith_fac
default: struct()
hankeldecopts
structure, containing the optional parameters for the disk function used for the decomposition after the transformation to an all-pass system see ml_disk and ml_getqz
default: struct()
ImproperTrunc
{!}
nonnegative scalar, tolerance multiplied with the largest proper Hankel singular value of the system to truncate the improper part, if 0 no improper balanced truncation is performed
default: log(n)*eps
Index
nonnegative integer, index of the descriptor system used to set an upper bound on the size of the reduced improper part, Inf if unknown
default: Inf
infdecopts
structure, containing the optional parameters for the decomposition of the finite and infinite parts of the system using the disk function and subspace extraction method, see ml_disk and ml_getqz
default: struct()
lyapdlopts
structure, containing the optional parameters for the computation of the generalized 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(Hsvp)) + Nu + Ni
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'
stabdecopts
structure, containing the optional parameters for the decomposition of the stable and unstable parts of the system using the sign function and subspace extraction method, see ml_signm and ml_getqz
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

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
E
matrix from (3) with dimensions r x r

Entry
Meaning
AbsErrBound
{!}
computed error bound for the absolute error of the reduced-order model in H-infinity norm
Hsvi
a vector, containing the computed Hankel singular values of the improper part of the system
Hsvp
a vector, containing the computed Hankel singular values of the proper part of the system
infoADTF
structure, containing information about the additive decomposition of the system into its infinite, finite stable and finite anti-stable parts, see ml_ct_dss_adtf
infoGDLYAPDL
structure, containing information about the generalized discrete-time Lyapunov equation solver for the improper Gramians, see ml_gdlyapdl_smith_fac
infoHAADTF
structure, containing information about the disk function method, see ml_ct_dss_adtf
infoLYAPDL
structure, containing information about the continuous-time dual Lyapunov equations solver, see ml_lyapdl_sgn_fac
Ni
{!}
Dimension of the improper part in the reduced- order model
Np
{!}
Dimension of the proper part in the reduced-order model
Nu
Dimension of the unstable part in the reduced- order model
Sigma
{!}
Chosen proper Hankel singular value, exact approximation error in the Hankel-norm

Reference

S. Werner, Hankel-norm approximation of descriptor systems, Master's thesis, Otto von Guericke University, Magdeburg, Germany (2016). http://nbn-resolving.de/urn:nbn:de:gbv:ma9:1-8845

See Also

ml_ct_ss_hna | ml_morlabopts