grape_hilb.m
Gradient Ascent Pulse Engineering objective function and gradient for Hilbert space. Propagates a system through a shaped pulse from an initial state to a target state and returns fidelity and its gradient.
Syntax
[traj_data,fidelity,grad,hess]=grape_hilb(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 Hamiltonians: a cell array
containing one matrix (for time-inde-
pendent drift) or multiple matrices
(for time-dependent drift)
controls - control operators in Hilbert space
(cell array of matrices)
waveform - control coefficients for each control
operator (in rows of a matrix), rad/s
rho_init - initial state of the system as a density
matrix in Hilbert space
rho_targ - target state of the system as a density
matrix in Hilbert space
fidelity_type - 'real' (real part of the overlap)
'imag' (imaginary part of the overlap)
'square' (absolute square of the overlap)
Outputs
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
traj_data.forward - forward trajectory from the initial condition, as a
stack of state matrices
Notes
This is a low level function that is not designed to be called directly. Use grape_xy.m and grape_phase.m instead.
See also
grape_xy.m, grape_phase.m, grape_coop.m, grape_curv.m, grape_liouv.m, tgrape.m, Optimal control module
Version 2.11, authors: Ilya Kuprov, Maxi Keitel