ml_ct_ss_bst
Balanced stochastic truncation for standard systems.
Contents
Syntax
[Ar, Br, Cr, Dr, info] = ml_ct_ss_bst(A, B, C, D) [Ar, Br, Cr, Dr, info] = ml_ct_ss_bst(A, B, C, D, opts)
[rom, info] = ml_ct_ss_bst(sys) [rom, info] = ml_ct_ss_bst(sys, opts)
Description
This function computes the balanced stochastic 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, first the Lyapunov equation
A*P + P*A' + B*B' = 0,
is solved for the controllability Gramian P and then, the corresponding Riccati equation
A'*Q + Q*A + (C - Bw' * Q)' * inv(D*D') * (C - Bw' * Q) = 0
is solved for the Gramian Q, with
Bw = B*D' + P*C'.
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||_{\infty} / ||G||_{\infty} <= ((1 + Hsv(r+1))/(1 - Hsv(r+1)) * ... * (1 + Hsv(n))/(1 - Hsv(n))) + 1,
with Hsv, a vector containing the characteristic stochastic singular values of the system. If the transfer function is invertible it holds
||inv(G)*(G - Gr)||_{\infty} <= ((1 + Hsv(r+1))/(1 - Hsv(r+1)) * ... * (1 + Hsv(n))/(1 - Hsv(n))) + 1.
Notes: 1) The equations above are defined for the case of p < m. Otherwise the system is transposed, then reduced and back transposed. 2) In case of a rank-deficient D term, an epsilon regularization is performed, which replaces the D during the computations with an identity matrix scaled by a given epsilon. 3) 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
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 sys - structure or state-space object, containing the standard system's matrices:
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 |
opts - structure, containing the following optional entries:
Parameter | Meaning |
Epsilon | positive scalar, used in the case of a non-full-rank D term for epsilon regularization by multiplying with an identity matrix of appropriate size default: 1.0e-03 |
lyapopts | structure, containing the optional parameters for the computation of the continuous-time algebraic Lyapunov equation, see ml_lyap_sgn_fac |
Method | character array, determining algorithm for the computation of the reduced-order model
|
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
|
pcareopts | structure, containing the optional parameters for the computation of the continuous-time algebraic positive Riccati equation, see ml_pcare_nwt_fac default: struct() |
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 relative 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 |
Output
Ar - matrix of (3) with dimensions r x r Br - matrix of (3) with dimensions r x m Cr - matrix of (4) with dimensions p x r Dr - matrix of (4) with dimensions p x m rom - structure or state-space object, with the following entries:
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 |
info - structure, containing the following information:
Entry | Meaning |
Hsv | a vector, containing the computed characteristic stochastic 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 |
infoLYAP | structure, containing information about the continuous-time Lyapunov equation sovler for the controllability Gramian, see ml_lyap_sgn_fac |
infoPCARE | structure, containing information about the continuous-time algebraic positive Riccati equation for the observability Gramian, see ml_pcare_nwt_fac |
Ns | Dimension of the stable part of the reduced-order model |
Nu | Dimension of the anti-stable part of the reduced- order model |
RelErrBound | computed error bound for the relative error of the of the reduced-order model in H-infinity norm |
Reference
P. Benner, E. S. Quintana-Orti, G. Quintana-Orti, Efficient numerical algorithms for balanced stochastic truncation, Int. J. Appl. Math. Comput. Sci. 11 (5) (2001) 1123--1150.
See Also