Menu

Reference.Programs.qm_H2model

Burkhard Schmidt

qm_H2model: ℋ2-Optimal Model Reduction

This approach to dimension reduction of linear/bilinear control systems is based on the idea of finding an optimal (low-dimensional) system that approximates as closely as possible the transfer function/matrix of the original (high-dimensional) system. As explained in detail in [1], the method builds on solving a generalized Sylvester equation by the Bilinear Iterative Rational Krylov Algorithm (BIRKA). It aims at the construction of bilinear reduced-order models that are (locally) optimal with respect to the bilinear H2-norm. Based on the idea of iterative correction, the algorithm can be seen as a suitable extension of its linear analogue (IRKA). Locally ℋ2-optimal reduced-order models fulfill an abstract Hermite-type interpolation condition for the Volterra series of the bilinear control system. Similar as in the linear case, these optimality conditions can also be stated in terms of (generalized) linear matrix equations. This in turn allows to construct the required projection subspaces as solutions to certain generalized Sylvester equations.

Source code

The MATLAB function qm_H2model.m can be found here

Note that qm_H2model.m works only with objects of the main classes given in the following table:

class name description
ket state vecors, in eigen/energy representation
rho density matrices, in eigen/energy representation

Input parameters

The following input parameter is required when calling the function qm_H2model.m

parameter description
dim dimensionality of reduced model equations

File I/O

As input this function requires matrices A,B,N,C,D along with vectors xi, xe etc which are typically generated using our function qm_abncd for the LvNE setting. These data are read from input data file ket_0.mat or rho_0.mat for TDSE or LvNE simulations, respectively.

As output this function produces reduced matrices A,B,N,C,D along with vectors xi, xe etc which are written to output data file ket_hn_0.mat or rho_hn_0.mat where n indicates the size after reduction. This can subsequently be used as input for the bilinear control problem in reduced dimensionality by running qm_propa or its optimal control variant implemented in qm_optimal.

Algorithms

For more details on this dimension reduction, see this page of our WavePacket central wiki.

Variables

Note that function qm_init should be run previously in order to initialize all variables in use. Of particular interest are the following structures:

References

  1. Benner, Peter; Breiten, Tobias: SIAM Journal on Matrix Analysis and Applications, Vol. 33, No. 3, 859-885; 2012

Related

Wiki: Reference.Classes.Main
Wiki: Reference.Classes.ket_rho
Wiki: Reference.Files.Main
Wiki: Reference.Programs.Main
Wiki: Reference.Programs.qm_abncd
Wiki: Reference.Programs.qm_init
Wiki: Reference.Programs.qm_optimal
Wiki: Reference.Programs.qm_propa
Wiki: Reference.Variables.reduce
Wiki: Users.Matlab.Main

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.