Difference between revisions of "Ensemble.m"

From Spinach Documentation Wiki
Jump to: navigation, search
m (Correct function page syntax from current Spinach source)
m (Update function page arguments and outputs from current Spinach source)
Line 6: Line 6:
  
 
     [traj_data,fidelity,gradient,hessian]=ensemble(waveform,spin_system)
 
     [traj_data,fidelity,gradient,hessian]=ensemble(waveform,spin_system)
 +
 +
 +
==Arguments==
 +
 +
waveform - control coefficients for each control operator, rad/s
  
 
==Parameters==
 
==Parameters==
Line 13: Line 18:
 
==Outputs==
 
==Outputs==
  
−
  fidelity     - figure of merit for the overlap of the current state
+
 
−
                  of the system and the desired state(s). When penalty
+
traj_data - trajectory data for subsequent diagnostic plotting
−
                  methods are specified, fidelity is returned as an ar-
+
 
−
                  ray separating the penalties from the simulation
+
fidelity - figure of merit for the overlap of the current state of the
−
                  fidelity.
+
            system and the desired state(s). When penalty methods are
−
+
            specified, fidelity is returned as an array separating the
−
  gradient     - gradient of the fidelity with respect to the control  
+
            penalties from the simulation fidelity
−
                  sequence. When penalty methods are specified, gradi-
+
 
−
                  ent is returned as an array separating penalty gra-
+
gradient - gradient of the fidelity with respect to the control sequence.
−
                  dients from the fidelity gradient.
+
            When penalty methods are specified, gradient is returned as an
−
+
            array separating penalty gradients from the fidelity gradient
−
  hessian       - Hessian of the fidelity with respect to the control  
+
 
−
                  sequence. When penalty methods are specified, gradi-
+
hessian   - Hessian of the fidelity with respect to the control sequence.
−
                  ent is returned as an array separating penalty Hes-
+
            When penalty methods are specified, hessian is returned as an
−
                  sians from the fidelity Hessian.
+
            array separating penalty Hessians from the fidelity Hessian
  
 
==Notes==
 
==Notes==

Revision as of 15:22, 5 June 2026

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)


Arguments

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

Parameters

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

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 array separating the
           penalties from the simulation fidelity

gradient - gradient of the fidelity with respect to the control sequence.

           When penalty methods are specified, gradient is returned as an
           array separating penalty gradients from the fidelity gradient

hessian - Hessian of the fidelity with respect to the control sequence.

           When penalty methods are specified, hessian is returned as an
           array separating penalty Hessians from the fidelity Hessian

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