# Grape xy.m

From Spinach Documentation Wiki

Cost function for optimal control using the GRAPE algorithm.

## Syntax

[fidelity,gradient,hessian]=grape_xy(waveform,spin_system)

## Description

Returns fidelity, gradient and hessian for a given waveform, specified in Cartesian coordinates (x and y channels).

## Arguments

waveform - normalised set of control amplitudes.

## 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):

% Optimisation parameters optim.method='lbfgs'; % Optimisation method optim.extremum='maximum'; % Extremum type % Run the optimization fminnewton(@grape_xy,guess,optim,spin_system);

## 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

grape.m, grape_phase.m, ensemble.m, optimcon.m

*Version 2.0, authors: Ilya Kuprov, David Goodwin*