ml_ct_ss_lqgbt
LQG balanced truncation for standard systems.
Contents
Syntax
[Ar, Br, Cr, Dr, info] = ml_ct_ss_lqgbt(A, B, C, D) [Ar, Br, Cr, Dr, info] = ml_ct_ss_lqgbt(A, B, C, D, opts)
[rom, info] = ml_ct_ss_lqgbt(sys) [rom, info] = ml_ct_ss_lqgbt(sys, opts)
Description
This function computes the linear-quadratic Gaussian 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)
Therefor, the two algebraic Riccati equations
A*P + P*A' + B*B' - (P*C' + B*D') * inv(Rb) * (P*C' + B*D')' = 0, A'*Q + Q*A + C'*C - (B'*Q + D'*C)' * inv(Rc) * (B'*Q + D'*C) = 0,
are solved for the Gramians P and Q, with
Rb = I + D*D', Rc = I + D'*D.
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 with the (right) coprime factorization G = N*inv(M) and the r-th order transfer function Gr with the (right) coprime factorization Gr = Nr*inv(Mr) it holds
||[N; M] - [Nr; Mr]||_{\infty} <= 2 * (Hsv(r+1)/sqrt(1 + Hsv(r+1)^2) + ... + Hsv(n)/sqrt(1 + Hsv(n)^2)),
with Hsv the vector containing the characteristic LQG singular values of the system.
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 |
Beta | nonnegative scalar, used as shift of the in Bass' algorithm for better conditioning if StabMethod == 'lyap' is chosen only used if RiccatiSolver = 'newton' default: 0.1 |
caredlopts | structure, containing the optional parameters for the Riccati equation sign function solver, only used if RiccatiSolver = 'sign', see ml_caredl_sgn default: struct() |
careopts | structure, containing the optional parameters for the computation of the continuous-time algebraic Riccati equations, only used if RiccatiSolver = 'newton', see ml_care_nwt_fac default: struct() |
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
|
RiccatiSolver | character array, determining the solver for the dual Riccati equations
|
StabMethod | character array, determining the method of stabilization of the system, only used if RiccatiSolver = 'newton'
|
stabmethodopts | structure, containing the optional parameters for the sign function based Lyapunov or Bernoulli equation solver used for the stabilization, only used if RiccatiSolver = 'newton', see ml_abe_sgn or ml_lyap_sgn default: struct() |
stabsignmopts | structure, containing the optional parameters for the matrix sign function used for the decomposition into stable and anti-stable system parts, only used if RiccatiSolver = 'newton', see ml_signm 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 in the control and filter Riccati equations, only used if RiccatiSolver = 'newton', 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 |
AbsErrBound | computed error bound for the absolute error of the (right) coprime factorization in H-infinity norm |
Hsv | a vector, containing the computed characteristic LQG singular values |
infoCARE_C | structure, containing information about the Newton solver for the regulator Riccati equation, see ml_care_nwt_fac |
infoCARE_O | structure, containing information about the Newton solver for the filter Riccati equation, see ml_care_nwt_fac |
infoCAREDL | structure, containing information about the sign function solver for the dual Riccati equations, see ml_caredl_sgn |
infoPARTSTAB_C | structure, containing information about the partial stabilization used for the controllability Riccati equation, see ml_ct_ss_partstab |
infoPARTSTAB_O | structure, containing information about the partial stabilization used for the observability Riccati equation, see ml_ct_ss_partstab |
N | Dimension of the reduced-order model |
Reference
P. Benner, T. Stykel, Model order reduction for differential-algebraic equations: A survey, in: A. Ilchmann, T. Reis (Eds.), Surveys in Differential-Algebraic Equations IV, Differential-Algebraic Equations Forum, Springer International Publishing, Cham, 2017, pp. 107--160. https://doi.org/10.1007/978-3-319-46618-7_3
See Also