grape_hilb.m

From Spinach Documentation Wiki
Revision as of 19:37, 6 June 2026 by Kuprov (talk | contribs) (Update function See also links and function index membership)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Gradient Ascent Pulse Engineering objective function and gradient for Hilbert space. Propagates a system through a shaped pulse from an initial state to a target state and returns fidelity and its gradient.

Syntax

    [traj_data,fidelity,grad,hess]=grape_hilb(spin_system,drifts,controls,...
                                                    waveform,rho_init,rho_targ,...
                                                    fidelity_type)

Parameters

   spin_system         - Spinach data object that has been 
                         through the optimcon.m problem 
                         setup function

   drifts              - the drift Hamiltonians: a cell array 
                         containing one matrix (for time-inde-
                         pendent drift) or multiple matrices 
                         (for time-dependent drift)

   controls            - control operators in Hilbert space 
                         (cell array of matrices)

   waveform            - control coefficients for each control 
                         operator (in rows of a matrix), rad/s

   rho_init            - initial state of the system as a density 
                         matrix in Hilbert space

   rho_targ            - target state of the system as a density 
                         matrix in Hilbert space

   fidelity_type       - 'real'   (real part of the overlap)
                         'imag'   (imaginary part of the overlap)
                         'square' (absolute square of the overlap)

Outputs

fidelity          - fidelity of the control sequence

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

hess              - Hessian of the fidelity with respect to the control
                   sequence

traj_data.forward - forward trajectory from the initial condition, as a
                   stack of state matrices

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

grape_xy.m, grape_phase.m, grape_coop.m, grape_curv.m, grape_liouv.m, tgrape.m, Optimal control module

Version 2.11, authors: Ilya Kuprov, Maxi Keitel