Difference between revisions of "Grape liouv.m"
(Update function See also links and function index membership) |
(sync with Spinach main f053e432: Liouville-space wording, drift per-slice matrices, hess availability caveat, trajectory output description; authors from header) |
||
| Line 1: | Line 1: | ||
{{DISPLAYTITLE:grape_liouv.m}} __NOTOC__ | {{DISPLAYTITLE:grape_liouv.m}} __NOTOC__ | ||
| − | Gradient Ascent Pulse Engineering (GRAPE) objective function, gradient, and Hessian. Propagates the system through a user-supplied shaped pulse from a given initial state and projects the result onto the given final state. The fidelity is returned, along with its gradient and Hessian with respect to amplitudes of all control operators | + | Gradient Ascent Pulse Engineering (GRAPE) objective function, gradient, and Hessian. Propagates the system through a user-supplied shaped pulse from a given initial state and projects the result onto the given final state. The fidelity is returned, along with its gradient and Hessian with respect to amplitudes of all control operators at every time step of the shaped pulse. Uses Liouville-space formalism. |
==Syntax== | ==Syntax== | ||
| − | + | [traj_data,fidelity,... | |
| − | + | grad,hess]=grape_liouv(spin_system,drifts,controls,... | |
| − | + | waveform,rho_init,rho_targ,... | |
| + | fidelity_type) | ||
==Parameters== | ==Parameters== | ||
| Line 13: | Line 14: | ||
the [[optimcon.m]] problem setup function. | the [[optimcon.m]] problem setup function. | ||
| − | drifts - the drift Liouvillians: a cell array | + | drifts - the drift Liouvillians: a cell array con- |
| − | one matrix for time-independent drift | + | taining one matrix (for time-independent |
| − | + | drift) or multiple matrices (one per time | |
| + | slice / point, for time-dependent drift). | ||
controls - control operators in Liouville space (cell | controls - control operators in Liouville space (cell | ||
| − | + | array of matrices). | |
waveform - control coefficients for each control ope- | waveform - control coefficients for each control ope- | ||
| − | rator in | + | rator (in vertical dimension) at each time |
| − | slice | + | slice / point (horizonal dimension), rad/s |
rho_init - initial state of the system as a vector in | rho_init - initial state of the system as a vector in | ||
| Line 42: | Line 44: | ||
the control sequence | the control sequence | ||
| − | hess - Hessian of the fidelity with respect to | + | hess - Hessian of the fidelity with respect to |
| − | control sequence, not available for piecewise-linear | + | the control sequence, not available for |
| − | + | piecewise-linear and stroboscopic stea- | |
| + | dy state optimisations | ||
| − | traj_data.forward - forward trajectory from the initial | + | traj_data.forward - forward trajectory from the initial con- |
| − | or stroboscopic steady state; this is returned | + | dition or stroboscopic steady state (a |
| + | stack of state vectors); this is returned | ||
only when requested by the control settings | only when requested by the control settings | ||
| Line 56: | Line 60: | ||
[[dirdiff.m]], [[step.m]], [[optimcon.m]], [[grape_xy.m]], [[grape_phase.m]], [[penalty.m]], [[grape_coop.m]], [[grape_curv.m]], [[grape_hilb.m]], [[tgrape.m]], [[Optimal_control_module]] | [[dirdiff.m]], [[step.m]], [[optimcon.m]], [[grape_xy.m]], [[grape_phase.m]], [[penalty.m]], [[grape_coop.m]], [[grape_curv.m]], [[grape_hilb.m]], [[tgrape.m]], [[Optimal_control_module]] | ||
| − | ''Version 2.2, authors: [[Ilya Kuprov]], [[David Goodwin]]'' | + | ''Version 2.2, authors: [[Ilya Kuprov]], [[David Goodwin]], [[Uluk Rasulov]], [[Maxi Keitel]]'' |
Revision as of 06:52, 30 August 2026
Gradient Ascent Pulse Engineering (GRAPE) objective function, gradient, and Hessian. Propagates the system through a user-supplied shaped pulse from a given initial state and projects the result onto the given final state. The fidelity is returned, along with its gradient and Hessian with respect to amplitudes of all control operators at every time step of the shaped pulse. Uses Liouville-space formalism.
Syntax
[traj_data,fidelity,...
grad,hess]=grape_liouv(spin_system,drifts,controls,...
waveform,rho_init,rho_targ,...
fidelity_type)
Parameters
spin_system - Spinach data object that has been through
the optimcon.m problem setup function.
drifts - the drift Liouvillians: a cell array con-
taining one matrix (for time-independent
drift) or multiple matrices (one per time
slice / point, for time-dependent drift).
controls - control operators in Liouville space (cell
array of matrices).
waveform - control coefficients for each control ope-
rator (in vertical dimension) at each time
slice / point (horizonal dimension), rad/s
rho_init - initial state of the system as a vector in
Liouville space, ignored in stroboscopic
steady state optimisations.
rho_targ - target state of the system as a vector in
Liouville space.
fidelity_type - 'real' (real part of the overlap)
'imag' (imaginary part of the overlap)
'square' (absolute square of the overlap)
Returns
fidelity - fidelity of the control sequence
grad - gradient of the fidelity with respect to
the control sequence
hess - Hessian of the fidelity with respect to
the control sequence, not available for
piecewise-linear and stroboscopic stea-
dy state optimisations
traj_data.forward - forward trajectory from the initial con-
dition or stroboscopic steady state (a
stack of state vectors); this is returned
only when requested by the control settings
Notes
This is a low level function that is not designed to be called directly. Use grape_xy.m, grape_phase.m, or other wrapper functions instead.
See also
dirdiff.m, step.m, optimcon.m, grape_xy.m, grape_phase.m, penalty.m, grape_coop.m, grape_curv.m, grape_hilb.m, tgrape.m, Optimal_control_module
Version 2.2, authors: Ilya Kuprov, David Goodwin, Uluk Rasulov, Maxi Keitel