Difference between revisions of "Hess reorder.m"

From Spinach Documentation Wiki
Jump to: navigation, search
Line 1: Line 1:
 
{{DISPLAYTITLE:hess_reorder.m}} __NOTOC__
 
{{DISPLAYTITLE:hess_reorder.m}} __NOTOC__
−
 
+
A utility to reorder a Hessian for use in [[grape.m|GRAPE]] optimal control problems. 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:
−
A utility to reorder a Hessian for use in [[grape.m|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:
 
 
<center>
 
<center>
 
<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>
 
<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>
Line 17: Line 9:
 
</center>
 
</center>
  
−
==Arguments==
+
==Syntax==
 +
 
 +
    hess_new=hess_reorder(hess,K,N)
 +
 
 +
==Parameters==
  
 
     hess        - Hessian matrix,  
 
     hess        - Hessian matrix,  
Line 26: Line 22:
 
      
 
      
  
−
==Returns==
+
==Outputs==
  
 
     new_hess    - Re-ordered Hessian, with N first and K second  
 
     new_hess    - Re-ordered Hessian, with N first and K second  

Revision as of 14:50, 17 May 2025

A utility to reorder a Hessian for use in GRAPE optimal control problems. 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}\)

Syntax

    hess_new=hess_reorder(hess,K,N)

Parameters

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

Outputs

    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