grape_xy.m
Cost function for optimal control using the GRAPE algorithm. Returns fidelity, gradient and hessian for a given waveform, specified as a list of coefficients in front of the corresponding control operators. All relevant types of control operators are supported: spin, gradients, diffusion, relaxation, etc.
Syntax
[traj_data,fidelity,grad,hess]=grape_xy(waveform,spin_system)
Parameters
waveform - normalised set of control amplitudes.
Outputs
traj_data - trajectory data
fidelity - figure of merit for the overlap of the current state of the
system and the desired state(s). When penalty methods are
specified, fidelity is returned as an array separating the
penalties from the simulation fidelity
gradient - gradient of the fidelity with respect to the control sequence
hessian - Hessian of the fidelity with respect to the control sequence
Returns
fidelity - figure of merit for the overlap of the current state
of the system and the desired state(s). When penalty
methods are specified, fidelity is returned as an ar-
ray separating the penalties from the simulation
fidelity.
gradient - gradient of the fidelity with respect to the control
sequence. When penalty methods are specified, gradi-
ent is returned as an array separating penalty gra-
dients from the fidelity gradient.
hessian - Hessian of the fidelity with respect to the control
sequence. When penalty methods are specified, gradi-
ent is returned as an array separating penalty Hes-
sians from the fidelity Hessian.
Examples
A typical call would be from an optimisation function (see examples/optimal_control):
% Run the optimization
fmaxnewton.m(spin_system,@grape_xy,guess);
Notes
The fidelity, the gradient and the Hessian may be supplied to any optimisation routine, including those in the Optimisation Toolbox of Matlab.
See also
fmaxnewton.m, grape_coop.m, grape_curv.m, grape_hilb.m, grape_liouv.m, grape_phase.m, tgrape.m, Optimal control module
Version 2.2, authors: Ilya Kuprov, David Goodwin