ensemble.m

From Spinach Documentation Wiki
Revision as of 15:02, 5 April 2026 by Kuprov (talk | contribs) (Sync syntax/arguments/outputs with current Spinach source)
Jump to: navigation, search


A parallel wrapper around GRAPE that enables ensemble optimal control optimisations. This function handles systems with multiple control power levels, multiple resonance offsets, multistate transfers, and ensembles of drift Liouvillians.

Syntax

[traj_data,fidelity,gradient,hessian]=ensemble(waveform,spin_system)

Outputs

traj_data - trajectory data for subsequent diagnostic plotting

  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.
david.goodwin@inano.au.dk
ilya.kuprov@weizmann.ac.il
m.keitel@soton.ac.uk

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

Optimal control module


Version 2.0, authors: Ilya Kuprov, David Goodwin

Parameters

waveform - control coefficients for each control operator, rad/s