ml_ct_ss_tlbt

Time-limited balanced truncation for standard systems.

Contents

Syntax

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

Description

This function computes the time-limited balanced truncation for 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, the two standard Lyapunov equations

   A*P  + P*A' + Bts*Bts' - Bte*Bte' = 0,
   A'*Q + Q*A  + Cts'*Cts - Cte'*Cte = 0,

where Bts, Bte, Cts and Cte are time-dependent matrices, are solved for the time-limited Gramians P and Q. 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. For enforcing stability in the reduced-order model, the modified Gramian approach can be used

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.

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
lyapdlopts
structure, containing the optional parameters for the computation of the generalized continuous-time Lyapunov equations, see ml_lyapdl_sgn_ldl if ModGramian = 0 and ml_lyapdl_sgn_fac if ModGramian = 1
default: struct()
Method
{!}
character array, determining algorithm for the computation of the reduced-order model
  • 'sr' - square-root method
  • 'bfsr' - balancing-free square-root method
default: 'sr'
ModGramian
{0, 1}, used to disable/enable the modified Gramian approach
default: 0
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 rel. tolerance for the hsv
  • 'sum' - using rel. tolerance for sum of hsv
default: 'sum'
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
StoreProjection
{0, 1}, used to disable/enable storing of the computed projection matrices W and T
default: 0
TimeRange
nonnegative vector, time interval such that [min(t), max(t)] is approximated
default: [0, 10]
Tolerance
{!}
nonnegative scalar, tolerance used for the computation of the size of the reduced-order model if 'tolerance' or 'sum' is set for OrderComputation
default: 1.0e-02
UnstabDim
integer, dimension of the deflating anti-stable subspace, negative if unknown
default: -1

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
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
infoLYAPDL
structure, containing information about the continuous-time dual Lyapunov equations solver, see ml_lyapdl_sgn_ldl or 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
T
{!}
projection matrix used as right state-space transformation to obtain the resulting block system, if opts.StoreProjection == 1
W
{!}
projection matrix used as left state-space transformation to obtain the resulting block system, if opts.StoreProjection == 1

Reference

P. Kurschner, Balanced truncation model order reduction in limited time intervals for large systems, e-print 1707.02839v2, arXiv, math.NA (2018). https://arxiv.org/abs/1811.05500

See Also

ml_ct_ss_bt | ml_ct_dss_flbt | ml_morlabopts