grape_xy.m

From Spinach Documentation Wiki
Jump to: navigation, search

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