Difference between revisions of "Hess reorder.m"

From Spinach Documentation Wiki
Jump to: navigation, search
m (→‎See also)
Line 1: Line 1:
−
{{DISPLAYTITLE:hess_reorder.m}}
+
{{DISPLAYTITLE:hess_reorder.m}} __NOTOC__
  
 
A utility to reorder a Hessian for use in [[grape.m|GRAPE]] optimal control problems.
 
A utility to reorder a Hessian for use in [[grape.m|GRAPE]] optimal control problems.
Line 33: Line 33:
  
 
==See also==
 
==See also==
−
[[grape.m]]
+
[[Optimal control module]]
  
  
 
''Version 1.9, authors: [[David Goodwin]]''
 
''Version 1.9, authors: [[David Goodwin]]''

Revision as of 14:49, 17 May 2025


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:

\(\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}\)

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:

\(\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}\)

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

Optimal control module


Version 1.9, authors: David Goodwin