This global, structured(!) variable contains all information about control targets and related issues. Mainly used in qm_propa and/or qm_optimal, partly also in qm_matrix, qm_abncd.
control.observe | Observables to be defined in qm_matrix (≥ V 5.3.0) |
---|---|
types | 'amo' - additional multiplicative operators 'prj' - Populations from (mean values of) projectors onto eigenstates 'ovl' - Populations from (absolute squares of) overlaps with eigenstates (TDSE only!) |
choices | cell vector of integer vectors selecting (one or several) of the 'amo' or 'prj' or 'ovl' type observables |
labels | cell vector containing labels for the selected observables (can be empty for 'amo') |
targets | integer vector selecting observables to serve as targets in (optimal) control Used in qm_abncd |
control.plot | plot settings used for qm_propa and qm_optimal (≥ V 5.3.0) | default |
---|---|---|
uxy | Plot evolution of variables u(t), x(t), y(t) as figure 7 | true |
j12 | Plot functionals j1, j2, jtotal as figure 8 | true |
psd | Plot power spectal density (PSD) and frequency resolved optical gating (FROG) as figure 9 | true |
mov | Create animation (movie) of variables u(t), x(t), y(t) | false |
control.optimal | Specific information for optimal control used in qm_optimal | default |
---|---|---|
terminal | Which of the observables to be optimized (≥ V 5.3.0) Currently restricted to a single target; multi-target optimal control not yet implemented. Evaluated at terminal time; "running" targets (averages over time) not yet implemented |
2 |
tolerance | Terminate iterations in OCT scheme when increment falls below this threshold | 1e-3 |
max_iter | Maximum number of iterations in OCT scheme; default value is zero. Note that for max_iter=0 our function qm_optimal does essentially the same as qm_control, except for the difference of constant versus adaptive time-stepping | 0 |
alpha | Penalty factor α to keep the laser fluence bounded Higher values of α favor minimization of the cost functional (laser fluence) Lower values of α favor maximization of the target functional See Fig 1d in work by Werschnik/Gross (2007) |
1 |
eta | mixing coefficient η for optimal field in backward propagation | 1 |
zeta | mixing coefficient ζ for optimal field in forward propagation | 1 |
order | error order for calculations of optimal fields | 1 |
prefactor | How to calculate the prefactor ⟨x(t),z(t)⟩ for fields when optimizing ⟨c,x(t)⟩² rather than ℜ⟨c,x(t)⟩ Either one of 'initial', 'current', or 'final' Option 'current' is most efficient, even though only 'final' is formally correct |
'current' |
fb_test | If set to true, testing only whether backward- and forward-propagation do really cancel each other for identical control field(s) u(t). Note that this is (numerically!) not trivial for LvNE with dissipation | false |
control.lvne | Specific information for Liouville-von Neumann equation used in qm_abncd |
---|---|
order | tetradic ordering of vectorized density matrices (LvNE only). If not specified, columnwise ordering is used (which is MATLAB's default). If set to 'df', then diagonals first, followed by off-diagonals |
temperature | temperature used for thermal equilibrium density matrix (LvNE only) |
control.relax | Lindblad operators for relaxation used in qm_abncd (≥ V 5.3.0) |
---|---|
model | population relaxation model; one of 'fermi', 'einstein', 'constant', 'datafile', or 'none' where the latter one is the default. For model 'datafile', the rates are read from file 'relax.mat' |
rate | specify one population relaxation rate (for models 'fermi', 'einstein', or 'constant') |
upper | specify upper state pertaining to that rate (for model 'fermi' or 'einstein') |
lower | specify lower state pertaining to that rate (for model 'fermi' or 'einstein') |
control.depha | Lindblad operators for pure dephasing used in qm_abncd (≥ V 5.3.0) |
---|---|
model | pure dephasing model; one of 'gauss', 'constant', 'datafile', or 'none' where the latter one is the default. For model 'datafile', the rates are read from file 'depha.mat'. |
rate | specify one pure dephasing rate (for models 'gauss' or 'constant') |
upper | specify upper state pertaining to that rate (for model 'gauss') |
lower | specify lower state pertaining to that rate (for model 'gauss') |
Used in qm_propa and qm_optimal, mainly to log the time-depence of u, x, y. They will be saved to unformatted data files named ..._control.mat..._optimal.mat, respectively.
control.t | time discretization |
---|---|
n | number of time steps |
delta | step size |
steps | discretization points |
Note that the discretization stored in control.t is essentially the same as that in time.main or time.sub when running qm_propa or qm_optimal, respectively.
control.u | (time-dependent!) control field(s) |
---|---|
dim | number of control fields |
forward | control field(s) during forward propagation |
backward | control field(s) during backward propagation |
legends | legends for curve plots |
shaping | prescribed pulse envelope/shape |
previous | control field(s) from previous iteration step |
control.x | (time-dependent!) state vectors |
---|---|
dim | number of state vector components |
initial | state vector: initial value |
equilib | state vector: equilibrium value |
forward | state vector: during forward propagation |
backward | state vector: during backward propagation |
legends | legends for curve plots |
previous | state vector from previous iteration step |
control.y | (time-dependent!) observable(s) |
---|---|
dim | number of observables |
equilib | observable(s): equilibrium value |
forward | observable(s): during forward propagation |
backward | observable(s): during backward propagation |
legends | legends for curve plots |
control.d | time derivative(s) of control field(s) (qm_optimal only) |
---|---|
forward | during forward propagation |
backward | during backward propagation |
control.j | control functionals (qm_optimal only) |
---|---|
target | target of control (to be maximized) |
cost | cost/energy of control (to be minimized) |
total | total functional, obtained as the difference f the two above |
addup | total functional, obtained by adding up the increments (ideally equal to the above) |
control.f | power spectral density: frequencies of control field(s) (qm_optimal only) |
---|---|
forward | during forward propagation |
control.p | power spectral density: power of control field(s) (qm_optimal only) |
---|---|
forward | during forward propagation |
control.g | frequency-resolved optical gating (FROG), aka GRENOUILLE: power of control field(s) (qm_optimal only) |
---|---|
forward | during forward propagation |
Wiki: Reference.Programs.qm_abncd
Wiki: Reference.Programs.qm_matrix
Wiki: Reference.Programs.qm_optimal
Wiki: Reference.Programs.qm_propa
Wiki: Reference.Variables.Main
Wiki: Reference.Variables.time.steps
Wiki: Reference.Variables.time