Difference between revisions of "Hess reorder.m"
| 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. | ||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | 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> | ||
| − | == | + | ==Syntax== |
| + | |||
| + | hess_new=hess_reorder(hess,K,N) | ||
| + | |||
| + | ==Parameters== | ||
hess - Hessian matrix, | hess - Hessian matrix, | ||
| Line 26: | Line 22: | ||
| − | == | + | ==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
Version 1.9, authors: David Goodwin