hess_reorder.m

From Spinach Documentation Wiki
Jump to: navigation, search


A utility to reorder a Hessian for use in GRAPE optimal control problems.

Syntax

    hess_new=hess_reorder(hess,K,N)

Description

Swaps the Hessian ordering between control channel and time step variables being first or second. The Hessian elements correspond to the elements of a control waveform array ordered as:

[math]\begin{bmatrix}X_1 & X_2 & \cdots & X_N\\ Y_1 & Y_2 & \cdots & Y_N\\ Z_1 & Z_2 & \cdots & Z_N\end{bmatrix}[/math]

where X,Y,Z are different control channels and the index enumerates the time discretization points. A re-ordered Hessian will correspond to a waveform ordered as:

[math]\begin{bmatrix}X_1 & Y_1 & Z_1\\ X_2 & Y_2 & Z_2\\ \vdots & \vdots & \vdots\\ X_N & Y_N & Z_N\end{bmatrix}[/math]

Arguments

    hess         - Hessian matrix, 
    
    K            - number of control channels.
    
    N            - number of time steps.
    

Returns

    new_hess     - Re-ordered Hessian, with N first and K second 
                   (a KxK block matrix with blocks of size NxN).
    

See also

grape.m


Version 1.9, authors: David Goodwin