Menu

Reference.Programs.qm_abncd

Burkhard Schmidt
Attachments
Control.gif (12806 bytes)
There is a newer version of this page. You can find it here.

qm_abncd: Provide input for bilinear control problems

This Matlab function provides the matrices A, B, N and C, D and vectors x0, xe for use in the following bilinear (optimal) control problem, see also qm_control also qm_optimal

\begin{matrix}{\dot x}(t)&=&\left(A+i\sum_{k=1}^mu_k(t)N_k)x(t)+i\sum_{k=1}^mu_k(t)b_kklzzwxh:0006y_j(t)&=&c_j^Tx(t)+c_j^Tx_e,\,j=1,\ldots,p\quad\mathrm{or}klzzwxh:0007y_j(t)&=&x^T(t)D_jx(t)+x_e^TD_jx_e+2\Re(x_e^TD_jx(t)),\,j=1,\ldots,p\end{matrix}

where the evolution of a state vector x(t) is subject to an input defined in terms of control field(s) u(t) and where the output is defined in terms of observable(s) y(t). The state vector has to be understood as x(t) → x(t) − xe where xe stands for equilibrium state with A xe=0 and where we have set bk ≡ Nk xe. In the absence of control fields u(t), the dynamics of x(t) is governed by matrix A the spectrum of which should be in the left half of the complex number plane to ensure stability. The initial value is given by x(t=0)=x0. The linear or quadratic output observables are represented by vectors cj or by (Hermitian!) matrices Dj. For details of the control problem in quantum mechanics, see also the corresponding page in the WavePacket central Wiki .

The function qm_abncd serves as bridge between WavePacket's quantum mechanics functions such as qm_bound and WavePacket's (optimal) control theory functions such as qm_control and qm_optimal and the associated functions for dimension reduction, e.g. qm_balance, qm_truncate and qm_H2model. If the (only!) input parameter eom is set to 'lvne', then we treat the (quantum-mechanical) Liouville-von Neumann equation (LvNE) for an open quantum system (so far, only Lindblad superoperators have been implemented). If the input parameter eom is set to 'tdse', then we treat the (quantum-mechanical) time-dependent Schroedinger equation (TDSE) for a closed quantum system. In both cases the evolution of the unperturbed system is expressed in terms of matrix A. Coupling of electrical control fields through the system's dipole moments is expressed in terms of matrices B, N. The output of the control problem (expectation values of certain quantum observables) is expressed in terms of c (LvNE) or matrices D (TDSE). For details of the control problem in quantum mechanics, see also the corresponding page in the WavePacket central Wiki.

Source code

The MATLAB function qm_abncd.m can be found here

File I/O

As input, this function requires matrix elements of important operators (energy, dipole, system-bath coupling) which are read from input data file named wave_0.mat. Typically, these data are provided by previously running qm_matrix. For electron dynamics in atomic/molecular physics, these data could also come from other programs used for electronic structure calculations.

The resulting matrices A,B,N,C,D along with vectors xi, xe etc are written to output data file ket_0.mat or rho_0.mat for TDSE (state being an object of class 'ket') or LvNE (state being an object of class 'rho') simulations, depending on the input argument for qm_setup run before. Subsequently, these data can be used to numerically solve the bilinear (optimal) control problem by running qm_propa, qm_optimal and/or for dimension reduction by running qm_balance or qm_H2model.

Algorithms

Variables

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

References

  1. B. Schäfer-Bung, C. Hartmann, B. Schmidt, and Ch. Schütte: J. Chem. Phys. 135, 014112 (2011) (dx.doi.org)

MongoDB Logo MongoDB