Single spin exact gradients for the optimization of complex pulses and pulse sequences
Stella Slad, Burkhard Luy

TL;DR
This paper introduces a faster method to calculate exact gradients for optimizing magnetic resonance pulses, significantly speeding up the process.
Contribution
The novel contribution is the derivation of highly efficient analytical gradient solutions for single spin systems with various controls.
Findings
Analytical gradients are calculated two orders of magnitude faster than previous methods.
The method is applied to broadband pulses for biomolecular applications involving 15N, 13C, and 19F.
The approach includes pseudo controls with holonomic constraints using a continuous hyperbolic tangent function.
Abstract
The efficient computer optimization of magnetic resonance pulses and pulse sequences involves the calculation of a problem-adapted cost function as well as its gradients with respect to all controls applied. The gradients generally can be calculated as a finite difference approximation, as a GRAPE approximation, or as an exact function, e.g. by the use of the augmented matrix exponentiation, where the exact gradient should lead to best optimization convergence. The calculation of the exact gradient, on the other hand, is computationally demanding and is one of the determining factors for the overall time needed for optimization. Its improved calculation, e.g. by faster analytical solutions, is therefore highly desired. The majority of pulse optimizations involve a single spin 1/2, for which propagation is either represented by 3D-rotations or quaternions. Here, highly efficient…
Genes, proteins, chemicals, diseases, species, mutations and cell lines named across the full text — each resolved to its canonical identifier and authoritative record.
Click any figure to enlarge with its caption.
Figure 1
Figure 2
Figure 3
Figure 4
Figure 5- —Karlsruher Institut für Technologie (KIT) (4220)
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsAdvanced NMR Techniques and Applications · Protein Structure and Dynamics · NMR spectroscopy and applications
Introduction
Biomolecular NMR spectroscopy depends strongly on a large number of highly optimized shaped pulses, typically for selective or broadband excitation, inversion, and refocusing. Particularly ultra high field NMR spectroscopy poses requirements on shaped pulses that can only be fulfilled using the latest state-of-the-art optimization procedures, which themselves rely on efficient mathematical algorithms for convergence. A central and time-determining calculation in all modern optimization tools is the gradient of a given constant element of a shaped pulse with respect to the applicable controls, for example the x- and y-components of the pulse. Here, in this article, analytical solutions are introduced that can calculate such gradients for a single spin 1/2 and various types of controls with utmost efficiency and may thereby improve overall optimization times of applicable problems irrespective of a specific program used.
Due to spectroscopic requirements, computer optimization of pulses and pulse sequence building blocks has a long standing history in the NMR community. Starting out with composite pulses (Levitt and Freeman 1979; Levitt 1986; Lurie 1986; Tycko et al. 1985), shaped pulses (Emsley and Bodenhausen 1990, 1992; Ewing et al. 1990; Garwood and Ke 1991; Kupce and Freeman 1993, 1994; Smith et al. 2001; Tannús and Garwood 1997; Zax et al. 1988), heteronuclear decoupling (Levitt et al. 1982; Shaka et al. 1983) and Hartmann-Hahn-transfer building blocks (Kadkhodaie et al. 1991; Shaka et al. 1988), the success of todays liquid state NMR spectroscopy is largely built on these elements. With the advent of optimal control based algorithms (Conolly et al. 1986; Mao et al. 1986; Rosenfeld and Zur 1996) and in particular with the GRAPE algorithm (de Fouquieres et al. 2011; Khaneja et al. 2005; Skinner et al. 2003), possibilities in pulse design increased dramatically in the past two decades and examples in pulse shape design (Ehni and Luy 2013; Ehni et al. 2022; Ehni and Luy 2014, 2012; Gershenzon et al. 2008, 2007; Haller et al. 2022; Kobzar et al. 2005; Koos et al. 2015, 2017; Martikyan et al. 2021; Slad et al. 2022; Spindler et al. 2012, 2017; Odedra and Wimperis 2012; Spindler et al. 2013; Joseph and Griesinger 2023; Buchanan et al. 2025; He et al. 2024) show utmost performance close to the physical limits (Kobzar et al. 2004, 2008, 2012; Lapert et al. 2012). However, even larger bandwidths and/or lower rf-energies will have to be explored as well as extremely complex optimizations like whole heternuclear decoupling periods (Neves et al. 2009; Schilling et al. 2014), that easily lead to very long optimization times lasting weeks to months on highly parallelized supercomputers. It is therefore worth looking into the basic mathematics to look for analytical solutions of spin system treatment wherever possible to significantly speed up corresponding calculations.
The majority of current pulse and pulse sequence optimizations are performed using a single spin in Liouville superoperator (Hogben et al. 2011) or Bloch space (Bonnard et al. 2012; Skinner et al. 2004). This description is perfectly suited for optimizing the transfer from an intial to a final state, as e.g. the case for so-called point-to-point pulses (Kobzar et al. 2004; Skinner et al. 2003; Kobzar et al. 2008). Other optimizations, like having a defined propagator in universal rotation pulses (Khaneja et al. 2005; Kobzar et al. 2012) as a target, are better described using either Cayley-Klein parameters (Cayley 1997) or the related quaternion formalism (Hamilton 1843; Rodrigues 1840). In each type of optimization, a Hamiltonian needs to be diagonalized, which can be done by numerical exponentiation using for example the Padé algorithm, or by analytical formulae, which are particularly straightforward in the case of a single spin in Bloch space, where this is resembled by well-studied three dimensional Cartesian rotation matrices. In addition, partial derivatives to all controls need to be calculated in gradient and hessian based optimization algorithms. This can be achieved by a linear approximation as in the original GRAPE formalism (Khaneja et al. 2005; Skinner et al. 2003), but exact gradients are more efficient for the convergence of optimizations (de Fouquieres et al. 2011; Kuprov 2023). Such exact gradients can be calculated using a general approach described by Aizu (1963); Levante et al. (1996), or by a recent development in algebra based on the matrix exponentiation of co-propagators (Goodwin and Kuprov 2015, 2016). For a single spin, however, analytical solutions with respect to conventional controls were recently introduced with the ESCALADE approach (Foroozandeh and Singh 2021) and it was shown that very fast optimizations are possible based on a mixture of exact analytical gradients and numerical hessian calculations (Goodwin and Vinding 2023).
The goal of computational optimization in NMR spectroscopy must be to be able to address more and more complex problems. In this publication we focus on the improvement of extremely complex optimizations that can be performed with single spin calculations. One goal is, for example, to achieve broadband pulses that can cover bandwidths 20 to 100 times the applied maximum rf-amplitude to address the full chemical shift bandwidths of nuclei relevant for biological and pharmaceutical problems like \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$^{15}$$\end{document} N, \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$^{19}$$\end{document} F, \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$^{31}$$\end{document} P, as well as other nuclei of broader chemical interest like \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$^{119}$$\end{document} Sn, or \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$^{195}$$\end{document} Pt. In such cases, computational demands rise non-linearly and while short pulse shapes can be optimized in a matter of seconds to minutes on a conventional PC, the desired demanding pulses may take months on high level supercomputers or are not at all feasible with current technology due to limitations in memory. This memory issue is particularly pressing in the case of hessian-based optimization algorithms. If, for example, a 10 ms pulse with 0.1 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\mu$$\end{document} s digitization is considered, 100.000 digits result in 200.000 controls (x and y component), which in turn lead to a 200.000 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\times$$\end{document} 200.000 hessian matrix with double precision numbers, which corresponds to 320 GB memory for the calculation of a single condition hessian in an optimization. As our aim is at this type of optimization complexity, we do not consider second derivative hessian matrices in the following and reduce our view to exact gradients only, which can be calculated much more memory efficient and are readily combined with e.g. the Limited-memory Broyden–Fletcher–Goldfarb–Shanno (LBFGS) optimization algorithm. In this context, we here derive analytical derivatives in the Bloch picture based on rotational matrices, as well as for four-dimensional quaternions for propagator-based optimizations in a tabular form. It is thereby closely related to the ESCALADE approach, for which a very nice abstract way of gradient and hessian calculations based on the Rodrigues expansion has been developed (Foroozandeh and Singh 2021). In the present approach, however, we use a much simpler method in which the quaternions and the Rodrigues formula for rotations are directly used to derive gradients simply from individual matrix components. We therefore can extent the ESCALADE approach to more individualized optimization concepts: next to the conventional case with x and y-controls, we also consider several special cases, like the formulation in Cartesian coordinates for x,y pulses including z-controls, or the equivalent description using polar amplitude, phase and z-controls for pulse shapes. Also direct derivatives for holonomic constraints using \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\tanh$$\end{document} based pseudo-parameters for amplitude, power, and energy-limited pulse optimizations are derived.
Theory
GRAPE algorithm formulation for a single spin 1/2
Optimization of point-to-point pulses
A shaped pulse can be seen as a sequence of N short pulses of length \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\Delta t$$\end{document} with piecewise constant rf-amplitudes, where the \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$j^{\textrm{th}}$$\end{document} pulse normally consists of two controls \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\omega _{\textrm{x}}(j)$$\end{document} and \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\omega _{\textrm{y}}(j)$$\end{document} that represent the x and y-components of the shaped pulse. While the offset frequency \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\omega _{\textrm{off}}$$\end{document} at a certain position in the spectrum relative to the irradiation frequency constitutes the free evolution or drift Hamiltonian
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\begin{aligned} {\mathcal {H}}_0 = \omega _{\textrm{off}} \ I_z = 2 \pi \ \nu _{\textrm{off}} \ I_z, \end{aligned}$$\end{document}the pulses constitute the control Hamiltonian at the \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$j^{\textrm{th}}$$\end{document} pulse
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\begin{aligned}& {\mathcal {H}}_{\textrm{1}}(j) = \omega _{\textrm{x}}(j) \ I_x + \omega _{\textrm{y}}(j) \ I_y \\ & \quad \qquad= 2 \pi \ \nu _{\textrm{rf}}(j) \{ \cos \alpha (j) \ I_x + \sin \alpha (j) \ I_y \}. \end{aligned}$$\end{document}For a given sequence of N pulses with duration \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\Delta t$$\end{document} at a specific offset \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\nu _{\textrm{off}}$$\end{document} the propagator is given by
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\begin{aligned} U_j = \exp \{ - i \{ {\mathcal {H}}_0 + {\mathcal {H}}_{\textrm{1}}(j) \} \Delta t \} \end{aligned}$$\end{document}and the propagation of an initial spin density operator \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\rho _0$$\end{document} can be written as
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\begin{aligned} \rho _N = U_N \cdots U_j \cdots U_1 \ \rho _0 \ U^{\dagger }_1 \cdots U^{\dagger }_j \cdots U^{\dagger }_N . \end{aligned}$$\end{document}The goal of a point-to-point optimization is to find values of the controls that minimize the differences between the desired final state of the spin ( \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\mathrm {\lambda }_{\textrm{F}}$$\end{document} ) and the obtained final density operator with the current control amplitudes ( \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\mathrm {\rho }_N$$\end{document} ), which is identical to maximizing their overlap according to (Khaneja et al. 2005)
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\begin{aligned} \Phi _{\textrm{PP}}= Re \left\langle {\lambda _{\textrm{F}}}\left| \right. {\rho _{{N}}}\right\rangle \end{aligned}$$\end{document}In order to maximize the cost function \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\Phi _{\textrm{PP}}$$\end{document} , we have to minimize its gradient with respect to every control at every timestep, which for the \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$j^{th}$$\end{document} time point is resulting in
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\begin{aligned} & \Gamma _{\textrm{PP}}(j)=\begin{pmatrix}\dfrac{\partial \Phi _{\textrm{PP}}}{\partial \omega _x(j)} \\ \dfrac{\partial \Phi _{\textrm{PP}}}{\partial \omega _y(j)} \end{pmatrix} \nonumber \\ & \quad = \begin{pmatrix} \left\langle {\lambda _j}\bigg |{ \dfrac{\partial U_j}{\partial \omega _x(j)} \rho _{j-1} U^{\dagger }_j}\right\rangle + \left\langle {\lambda _j}\bigg |{ U_j \rho _{j-1} \dfrac{\partial U^{\dagger }_j}{\partial \omega _x(j)}}\right\rangle \\ \left\langle {\lambda _j}\bigg |{ \dfrac{\partial U_j}{\partial \omega _y(j)} \rho _{j-1} U^{\dagger }_j}\right\rangle + \left\langle {\lambda _j}\bigg |{ U_j \rho _{j-1} \dfrac{\partial U^{\dagger }_j}{\partial \omega _y(j)}}\right\rangle \end{pmatrix}\nonumber \\ & \quad \approx \begin{pmatrix}\left\langle {\lambda _j}\left| \right. { - i \Delta t [{\mathcal {H}}_{1_x}(j), \rho _j]}\right\rangle \\ \left\langle {\lambda _j}\left| \right. { - i \Delta t [{\mathcal {H}}_{1_y}(j), \rho _j]}\right\rangle \end{pmatrix} \end{aligned}$$\end{document}with \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\lambda _j = U^{\dagger }_{j+1} \cdots U^{\dagger }_{N} \ \lambda _{\textrm{F}} U_N \cdots U_{j+1}$$\end{document} , \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\rho _j = U_j \cdots U_1 \ \rho _0 \ U^{\dagger }_1 \cdots U^{\dagger }_j$$\end{document} and \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$${\mathcal {H}}_{1_x}(j)$$\end{document} and \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$${\mathcal {H}}_{1_y}(j)$$\end{document} being the x and y components of the control Hamiltonian. Thus, for each iteration i of the optimization, the controls \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\omega ^{\textrm{}}_{{k}}(j)$$\end{document} , \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$k\in \{x,y\}$$\end{document} , are guaranteed to increase the cost function \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\Phi _{\textrm{PP}}$$\end{document} for an infinitesimal \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\epsilon$$\end{document} according to
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\begin{aligned} \omega _{{k}}^{(i+1)}(j) \rightarrow \omega _{{k}}^{(i)}(j)+\epsilon \frac{\partial \Phi _{\textrm{PP}}}{\partial \omega _{{k}}(j)}, \end{aligned}$$\end{document}until convergence to a (local) optimum is reached. Please note that the partial derivatives may also be calculated using the rotation angles
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\begin{aligned} \theta _x(j) = \omega _x(j) \, \Delta t \, \, ; \, \, \theta _y(j) = \omega _y(j) \, \Delta t. \end{aligned}$$\end{document}In this case, the update can be rewritten into
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\begin{aligned} \theta _{{k}}^{(i+1)}(j) \rightarrow \theta _{{k}}^{(i)}(j)+\epsilon \frac{\partial \Phi _{\textrm{PP}}}{\partial \theta _{{k}}(j)}, \end{aligned}$$\end{document}using the relation \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$d\omega / d\theta = 1/\Delta t$$\end{document} . Instead of the GRAPE-approximation given at the end of Eq. 6, it is advantageous to use the computationally more costly exact gradients for the pulse sequence update (de Fouquieres et al. 2011). The critical point in these exact gradients is the calculation of \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\partial U_j / \partial \omega _x(j)$$\end{document} or \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\partial U_j / \partial \theta _x(j)$$\end{document} , respectively, and its complex conjugate, for which several solutions have been proposed (Goodwin and Kuprov 2015; Levante et al. 1996), but elegant analytical solutions might be of particular interest for specific problems. For a single spin we will derive such very compact analytical forms for various optimization types in the following.
In order to design broadband PP pulses with \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$B_1$$\end{document} inhomogeneity compensation, it is further necessary to calculate the cost function and the gradient for \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$n_{\textrm{off}}$$\end{document} offsets linearly distributed over the desired bandwdith \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\Delta \nu$$\end{document} and \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$n_{\textrm{rf}}$$\end{document} different rf-amplitudes \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\nu _{\textrm{rf}}$$\end{document} covering the desired \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$B_1$$\end{document} -compensated range. The global quality factor and the global gradient can be calculated as averages according to
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\begin{aligned} \overline{\Phi _{\textrm{PP}}}=\frac{1}{n_{\textrm{off}}n_{\textrm{rf}}}\displaystyle \sum _{i=1}^{n_{\textrm{off}}}\sum _{l=1}^{n_{\textrm{rf}}} \Phi _{\textrm{PP}}(\nu ^i_{\textrm{off}},\nu ^l_{\textrm{rf}}) \end{aligned}$$\end{document}and
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\begin{aligned} \overline{\Gamma _{\textrm{PP}}(j)}=\frac{1}{n_{\textrm{off}}n_{\textrm{rf}}}\sum _{i=1}^{n_{\textrm{off}}}\sum _{l=1}^{n_{\textrm{rf}}} \Gamma _{\textrm{PP}}(j,\nu ^i_{\textrm{off}},\nu ^l_{\textrm{rf}}) . \end{aligned}$$\end{document}Optimization of universal rotation pulses
If not the transformation of a given state to a final state, but rather the rotation in Hilbert space itself is the target, the propagator itself can be optimized (de Fouquieres et al. 2011; Khaneja et al. 2005; Kobzar et al. 2012; Luy et al. 2005; Skinner et al. 2012). Considering the total propagator U(T) at time point \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$T = N \Delta t$$\end{document} given by
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\begin{aligned} U(T) = U_N \cdots U_j \cdots U_1, \end{aligned}$$\end{document}a cost function with respect to the desired propagator \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$U_{\textrm{F}}$$\end{document} can be formulated as
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\begin{aligned} \Phi _{\textrm{UR}} = Re\left\langle {U_{\textrm{F}}}\left| \right. {U(T)}\right\rangle , \end{aligned}$$\end{document}and the corresponding gradients to the \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$j^{th}$$\end{document} time step for x and y components of the pulse train s are approximated by (Khaneja et al. 2005)
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\begin{aligned} & \Gamma _{\textrm{UR}}(j)=\begin{pmatrix}\dfrac{\partial \Phi _{\textrm{UR}}}{\partial \theta _x(j)} \\ \dfrac{\partial \Phi _{\textrm{UR}}}{\partial \theta _y(j)} \end{pmatrix} = \begin{pmatrix}Re \left\langle {P_j}\left| \right. {\dfrac{\partial U_j}{\partial \theta _x(j)} X_{j-1}}\right\rangle \\ Re \left\langle {P_j}\left| \right. {\dfrac{\partial U_j}{\partial \theta _y(j)} X_{j-1}}\right\rangle \end{pmatrix}\nonumber \\ & \quad \approx \begin{pmatrix}Re \left\langle {P_j}\left| \right. { - i \Delta t \, {\mathcal {H}}_{1_x}(j) \, X_j}\right\rangle \\ Re \left\langle {P_j}\left| \right. { - i \Delta t \, {{\mathcal {H}}_{1_y}(j)} \, X_j}\right\rangle \end{pmatrix} \end{aligned}$$\end{document}with \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$P_j = U^{\dagger }_{j+1} \cdots U^{\dagger }_{N} \ U_{\textrm{F}}$$\end{document} , \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$X_j = U_j \cdots U_1$$\end{document} and previously used notations for the control Hamiltonian components \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$${\mathcal {H}}_{1_x}(j)$$\end{document} and \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$${\mathcal {H}}_{1_y}(j)$$\end{document} .
Analytical exact point-to-point gradients using x, y, and optional z controls
The usual equations for evolution of a spin density matrix have been used in the previous section. However, it might be advantageous to use the Liouville superoperator formalism for a single spin \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\frac{1}{2}$$\end{document} in Cartesian coordinate representation. The spin density operator can then be represented by a four vector \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\rho = (\rho _{ \textbf{1}}, \rho _x, \rho _y, \rho _z)^T$$\end{document} , where the contribution of the identity matrix may be neglected. If furthermore relaxation is neglected, the spin density at time point j is fully represented by the vector
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\begin{aligned} \rho _{\textrm{j}}= \begin{pmatrix} \rho _{\textrm{x}} \\ \rho _{\textrm{y}} \\ \rho _{\textrm{z}} \end{pmatrix} \end{aligned}$$\end{document}and propagation is achieved by the Liouville superoperators \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$R_j$$\end{document} in the reduced Cartesian representation
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\begin{aligned} \rho _{\textrm{j}}=R_{\textrm{j}}...R_{\textrm{1}}\rho _0 \end{aligned}$$\end{document}and the co-state is represented accordingly by
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\begin{aligned} \lambda _j=R_{\textrm{j}}^{-1}...R_{\textrm{N}}^{-1}\lambda _{\textrm{F}}. \end{aligned}$$\end{document}Please note, that the spin density as well as the co-state vector only have to be multiplied single-sided by the corresponding Liouville superoperators. Since we are in the Cartesian component basis set, we furthermore see that the superoperator is represented by a simple rotation matrix, which can be written as
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\begin{aligned} R_{\textrm{j}}= \begin{pmatrix} \cos (\theta )+n_x^2(1-\cos (\theta )) & -n_z\sin (\theta )+n_xn_y(1-\cos (\theta )) & n_y\sin (\theta )+n_xn_z(1-\cos (\theta )) \\ n_z\sin (\theta )+n_xn_y(1-\cos (\theta )) & \cos (\theta )+n_y^2(1-\cos (\theta )) & -n_x\sin (\theta )+n_yn_z(1-\cos (\theta )) \\ -n_y\sin (\theta )+n_xn_z(1-\cos (\theta )) & n_x\sin (\theta )+n_yn_z(1-\cos (\theta )) & \cos (\theta )+n_z^2(1-\cos (\theta )), \end{pmatrix} \end{aligned}$$\end{document}with the overall rotation angle \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\theta$$\end{document} and the normalized components \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$n_x$$\end{document} , \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$n_y$$\end{document} and \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$n_z$$\end{document} of the rotation axis of timestep j. It can also be noted more compact using the Rodrigues formula using its individual elements \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$R_{hk}$$\end{document} :
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\begin{aligned} R_{hk}={\left\{ \begin{array}{ll} \cos ^{2}\bigg (\dfrac{\theta }{2}\bigg )+(2n_h^2-1)\sin ^{2}\bigg (\dfrac{\theta }{2}\bigg ) & \text {f}\ddot{\textrm{u}}\text {r}~h=k \\ 2n_hn_k\sin ^{2}\bigg (\dfrac{\theta }{2}\bigg )-\epsilon _{hkl}~n_l\sin (\theta ) & \text {f}\ddot{\textrm{u}}\text {r}~h\ne k, \end{array}\right. } \end{aligned}$$\end{document}where \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\epsilon _{hkl}$$\end{document} is the Levi-Civita symbol.
In each step j, \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\theta$$\end{document} , \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$n_x$$\end{document} , \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$n_y$$\end{document} and \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$n_z$$\end{document} can be calculated from the control values \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\omega _x$$\end{document} , \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\omega _y$$\end{document} and \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\omega _z$$\end{document} as follows:
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\begin{aligned} \theta&=\Delta t\sqrt{\omega _x^2+\omega _y^2+(\omega _z+\omega _{\textrm{off}})^2} = \sqrt{\theta _x^2+\theta _y^2+\theta _z^2}\end{aligned}$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\begin{aligned} n_x&=\dfrac{\omega _x}{\sqrt{\omega _x^2+\omega _y^2+(\omega _z+\omega _{\textrm{off}})^2}}=\dfrac{\theta _x}{\sqrt{\theta _x^2+\theta _y^2+\theta _z^2}} = \dfrac{\theta _x}{\theta }\end{aligned}$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\begin{aligned} n_y&= \dfrac{\omega _y}{\sqrt{\omega _x^2+\omega _y^2+(\omega _z+\omega _{\textrm{off}})^2}} =\dfrac{\theta _y}{\sqrt{\theta _x^2+\theta _y^2+\theta _z^2}} = \dfrac{\theta _y}{\theta } \end{aligned}$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\begin{aligned} n_z&= \dfrac{\omega _z+\omega _{\textrm{off}}}{\sqrt{\omega _x^2+\omega _y^2+(\omega _z+\omega _{\textrm{off}})^2}} =\dfrac{\theta _z+\theta _{\textrm{off}}}{\sqrt{\theta _x^2+\theta _y^2+\theta _z^2}} = \dfrac{\theta _z}{\theta }. \end{aligned}$$\end{document}with the effective flip angles around the Cartesian axes \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\theta _x = \omega _x \Delta t$$\end{document} , \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\theta _y = \omega _y \Delta t$$\end{document} , \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\theta _z = (\omega _z + \omega _{\textrm{off}}) \Delta t$$\end{document} , where the rotation around the z-axis now consists of the offset term introduced above and the introduction of a potential z-control that cannot be applied directly on a spectrometer, but that can be used to allow direct implementation of pulse sequence bound offset changes in optimizations (Stockmann and Wald 2018; Vinding et al. 2017, 2021). With these equations in hand, it is straightforward to reformulate the cost function for point-to-point pulses in Cartesian Liouvielle representation as
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\begin{aligned} & \Phi _{\textrm{PP}}=\left\langle {\lambda _{\textrm{F}}}\left| \right. {\rho _{\textrm{N}}}\right\rangle =\left\langle {\lambda _{\textrm{F}}}\left| \right. {R_{\textrm{N}}...R_{\textrm{1}}\rho _0}\right\rangle =\Big \langle R_{\mathrm {j+1}}^{-1}...R_{\textrm{n}}^{-1}\lambda _{\textrm{n}}\Big | R_{\textrm{j}}...R_{\textrm{1}}\rho _0\Big \rangle \nonumber \\ & \quad =\Big \langle \underbrace{R_{\mathrm {j+1}}^{T}...R_{\textrm{n}}^{T}\lambda _{\textrm{n}}}_{\textstyle \lambda _{\textrm{j}}}\Big | \underbrace{R_{\textrm{j}}...R_{\textrm{1}}\rho _0}_{\textstyle \rho _{\textrm{j}}}\Big \rangle . \end{aligned}$$\end{document}Accordingly, the gradients for \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$j^{th}$$\end{document} time point for the single spin is
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\begin{aligned} \Gamma _{\textrm{PP}}(j)=\begin{pmatrix}\dfrac{\partial \Phi _{\textrm{PP}}}{\partial \theta _x(j)} \\ \dfrac{\partial \Phi _{\textrm{PP}}}{\partial \theta _y(j)} \\ \dfrac{\partial \Phi _{\textrm{PP}}}{\partial \theta _z(j)} \end{pmatrix} = \begin{pmatrix}\left\langle {\lambda _j}\left| \right. { \dfrac{\partial R_j}{\partial \theta _x(j)} \rho _{j-1}}\right\rangle \\ \left\langle {\lambda _j}\left| \right. { \dfrac{\partial R_j}{\partial \theta _y(j)} \rho _{j-1}}\right\rangle \\ \left\langle {\lambda _j}\left| \right. { \dfrac{\partial R_j}{\partial \theta _z(j)} \rho _{j-1}}\right\rangle \end{pmatrix}, \end{aligned}$$\end{document}which leaves an analytical derivation of the derivative of the rotation matrix with respect to the Cartesian controls to obtain an overall exact gradient. With the formulae given in this section, the derivatives of the individual matrix components can be straightforwardly achieved and corresponding results are shown in Table 1 for the x andy derivatives and in Table 2 for the z-control.Table 1. Derivatives of rotation matrix components with respect to \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\theta _{x}$$\end{document} and \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\theta _{y}$$\end{document} for point-to-point optimizations \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\dfrac{\partial R_{xx}}{\partial \theta _x} = (n_x^3 - n_x)\Bigg ( \sin (\theta ) + \dfrac{2 \ (\cos (\theta )-1)}{\theta } \Bigg )$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\dfrac{\partial R_{xy}}{\partial \theta _x} =\dfrac{n_y-2 n_x^2n_y}{\theta } + \Bigg ( \dfrac{2 n_x^2n_y-n_y}{\theta } - n_xn_z \Bigg ) \cos (\theta ) + \Bigg ( n_x^2n_y +\dfrac{n_xn_z}{\theta } \Bigg ) \sin (\theta )$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\dfrac{\partial R_{xz}}{\partial \theta _x} =\dfrac{n_z-2 n_x^2n_z}{\theta } + \Bigg ( \dfrac{2 n_x^2n_z-n_z}{\theta } + n_xn_y \Bigg ) \cos (\theta ) + \Bigg ( n_x^2n_z -\dfrac{n_xn_y}{\theta } \Bigg ) \sin (\theta )$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\dfrac{\partial R_{yx}}{\partial \theta _x} =\dfrac{n_y-2 n_x^2n_y}{\theta } + \Bigg ( \dfrac{2 n_x^2n_y - n_y}{\theta } + n_xn_z \Bigg ) \cos (\theta ) + \Bigg ( n_x^2n_y -\dfrac{n_xn_z}{\theta } \Bigg ) \sin (\theta )$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\dfrac{\partial R_{yy}}{\partial \theta _x} =(n_xn_y^2-n_x)\sin (\theta )+n_xn_y^2 \ \Bigg (\dfrac{2 \ \left( \cos (\theta )-1\right) }{\theta }\Bigg )$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\dfrac{\partial R_{yz}}{\partial \theta _x} =- \dfrac{2 n_x n_y n_z}{\theta } + \Bigg ( \dfrac{2 n_xn_yn_z}{\theta } - n_x^2 \Bigg ) \cos (\theta ) + \Bigg ( n_xn_yn_z -\dfrac{(n_y^2+n_z^2)}{\theta } \Bigg ) \sin (\theta )$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\dfrac{\partial R_{zx}}{\partial \theta _x} =\dfrac{n_z-2 n_x^2n_z}{\theta } + \Bigg ( \dfrac{2 n_x^2n_z-n_z}{\theta } - n_xn_y \Bigg ) \cos (\theta ) + \Bigg ( n_x^2n_z +\dfrac{n_xn_y}{\theta } \Bigg ) \sin (\theta )$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\dfrac{\partial R_{zy}}{\partial \theta _x} =- \dfrac{2 n_x n_y n_z}{\theta } + \Bigg ( \dfrac{2 n_xn_yn_z}{\theta } + n_x^2 \Bigg ) \cos (\theta ) + \Bigg ( n_xn_yn_z +\dfrac{(n_y^2+n_z^2)}{\theta } \Bigg ) \sin (\theta )$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\dfrac{\partial R_{zz}}{\partial \theta _x} =(n_xn_z^2-n_x)\sin (\theta )+n_xn_z^2 \ \Bigg (\dfrac{2 \ \left( \cos (\theta )-1\right) }{\theta }\Bigg )$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\dfrac{\partial R_{xx}}{\partial \theta _y} =(n_yn_x^2-n_y)\sin (\theta )+n_yn_x^2 \ \Bigg (\dfrac{2 \ \left( \cos (\theta )-1\right) }{\theta }\Bigg )$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\dfrac{\partial R_{xy}}{\partial \theta _y} =\dfrac{n_x-2 n_y^2n_x}{\theta } + \Bigg ( \dfrac{2 n_y^2n_x-n_x}{\theta } - n_yn_z \Bigg ) \cos (\theta ) + \Bigg ( n_y^2n_x +\dfrac{n_yn_z}{\theta } \Bigg ) \sin (\theta )$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\dfrac{\partial R_{xz}}{\partial \theta _y} =- \dfrac{2 n_x n_y n_z}{\theta } + \Bigg ( \dfrac{2 n_xn_yn_z}{\theta } + n_y^2 \Bigg ) \cos (\theta ) + \Bigg ( n_xn_yn_z +\dfrac{(n_x^2+n_z^2)}{\theta } \Bigg ) \sin (\theta )$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\dfrac{\partial R_{yx}}{\partial \theta _y} =\dfrac{n_x-2 n_y^2n_x}{\theta } + \Bigg ( \dfrac{2 n_y^2n_x-n_x}{\theta } + n_yn_z \Bigg ) \cos (\theta ) + \Bigg ( n_y^2n_x -\dfrac{n_yn_z}{\theta } \Bigg ) \sin (\theta )$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\dfrac{\partial R_{yy}}{\partial \theta _y} = (n_y^3 - n_y)\Bigg ( \sin (\theta ) + \dfrac{2 \ (\cos (\theta )-1)}{\theta } \Bigg )$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\dfrac{\partial R_{yz}}{\partial \theta _y} =\dfrac{n_z-2 n_y^2n_z}{\theta } + \Bigg ( \dfrac{2 n_y^2n_z-n_z}{\theta } - n_xn_y \Bigg ) \cos (\theta ) + \Bigg ( n_y^2n_z +\dfrac{n_xn_y}{\theta } \Bigg ) \sin (\theta )$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\dfrac{\partial R_{zx}}{\partial \theta _y} =- \dfrac{2 n_x n_y n_z}{\theta } + \Bigg ( \dfrac{2 n_xn_yn_z}{\theta } - n_y^2 \Bigg ) \cos (\theta ) + \Bigg ( n_xn_yn_z -\dfrac{(n_x^2+n_z^2)}{\theta } \Bigg ) \sin (\theta )$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\dfrac{\partial R_{zy}}{\partial \theta _y} =\dfrac{n_z-2 n_y^2n_z}{\theta } + \Bigg ( \dfrac{2 n_y^2n_z-n_z}{\theta } + n_xn_y \Bigg ) \cos (\theta ) + \Bigg ( n_y^2n_z -\dfrac{n_xn_y}{\theta } \Bigg ) \sin (\theta )$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\dfrac{\partial R_{zz}}{\partial \theta _y} =(n_yn_z^2-n_y)\sin (\theta )+n_yn_z^2 \ \Bigg (\dfrac{2 \ \left( \cos (\theta )-1\right) }{\theta }\Bigg )$$\end{document} Table 2. Derivatives of rotation matrix components with respect to \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\theta _{z}$$\end{document} for point-to-point optimizations \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\dfrac{\partial R_{xx}}{\partial \theta _z} =(n_zn_x^2-n_z)\sin (\theta )+n_zn_x^2 \ \Bigg (\dfrac{2 \ \left( \cos (\theta )-1\right) }{\theta }\Bigg )$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\dfrac{\partial R_{xy}}{\partial \theta _z} =- \dfrac{2 n_x n_y n_z}{\theta } + \Bigg ( \dfrac{2 n_xn_yn_z}{\theta } - n_z^2 \Bigg ) \cos (\theta ) + \Bigg ( n_xn_yn_z -\dfrac{(n_y^2+n_x^2)}{\theta } \Bigg ) \sin (\theta )$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\dfrac{\partial R_{xz}}{\partial \theta _z} =\dfrac{n_x-2 n_z^2n_x}{\theta } + \Bigg ( \dfrac{2 n_z^2n_x-n_x}{\theta } + n_zn_y \Bigg ) \cos (\theta ) + \Bigg ( n_z^2n_x -\dfrac{n_zn_y}{\theta } \Bigg ) \sin (\theta )$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\dfrac{\partial R_{yx}}{\partial \theta _z} =- \dfrac{2 n_x n_y n_z}{\theta } + \Bigg ( \dfrac{2 n_xn_yn_z}{\theta } + n_z^2 \Bigg ) \cos (\theta ) + \Bigg ( n_xn_yn_z +\dfrac{(n_y^2+n_x^2)}{\theta } \Bigg ) \sin (\theta )$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\dfrac{\partial R_{yy}}{\partial \theta _z} =(n_zn_y^2-n_z)\sin (\theta )+n_zn_y^2 \ \Bigg (\dfrac{2 \ \left( \cos (\theta )-1\right) }{\theta }\Bigg )$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\dfrac{\partial R_{yz}}{\partial \theta _z} =\dfrac{n_y-2 n_z^2n_y}{\theta } + \Bigg ( \dfrac{2 n_z^2n_y - n_y}{\theta } - n_xn_z \Bigg ) \cos (\theta ) + \Bigg ( n_z^2n_y +\dfrac{n_xn_z}{\theta } \Bigg ) \sin (\theta )$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\dfrac{\partial R_{zx}}{\partial \theta _z} =\dfrac{n_x-2 n_z^2n_x}{\theta } + \Bigg ( \dfrac{2 n_z^2n_x-n_x}{\theta } - n_zn_y \Bigg ) \cos (\theta ) + \Bigg ( n_z^2n_x +\dfrac{n_zn_y}{\theta } \Bigg ) \sin (\theta )$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\dfrac{\partial R_{zy}}{\partial \theta _z} =\dfrac{n_y-2 n_z^2n_y}{\theta } + \Bigg ( \dfrac{2 n_z^2n_y - n_y}{\theta } + n_xn_z \Bigg ) \cos (\theta ) + \Bigg ( n_z^2n_y -\dfrac{n_xn_z}{\theta } \Bigg ) \sin (\theta )$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\dfrac{\partial R_{zz}}{\partial \theta _z} = (n_z^3 - n_z)\Bigg ( \sin (\theta ) + \dfrac{2 \ (\cos (\theta )-1)}{\theta } \Bigg )$$\end{document}
Analytical exact point-to-point gradients using amplitude, phase, and optional z controls
The normalized components of the rotation axes \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$n_x$$\end{document} , \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$n_y$$\end{document} and \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$n_z$$\end{document} can also be written in polar coordinates, resulting in the pulse phase \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\alpha$$\end{document} and rf-amplitude \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\omega _{\textrm{rf}}$$\end{document} as the input parameters for pulse shapes. The corresponding notation is
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\begin{aligned} n_x= & \dfrac{\cos (\alpha )\theta _{xy}}{\theta }=\dfrac{\cos (\alpha )\omega _{\textrm{rf}}\Delta t}{\sqrt{(\Delta t^2\omega _{\textrm{rf}})^2+\theta _z^2}}, ~n_y =\dfrac{\sin (\alpha )\theta _{xy}}{\theta }\nonumber \\ & =\dfrac{\sin (\alpha )\omega _{\textrm{rf}}\Delta t}{\sqrt{(\Delta t^2\omega _{\textrm{rf}})^2+\theta _z^2}}, ~n_z =\dfrac{\theta _z}{\theta }=\dfrac{\theta _z}{\sqrt{(\Delta t^2\omega _{\textrm{rf}})^2+\theta _z^2}} \end{aligned}$$\end{document}with
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\begin{aligned} \theta _{xy}&=\omega _{\textrm{rf}}\Delta t \nonumber \\ \theta _z&=(\omega _z+\omega _{\textrm{off}})\Delta t \nonumber \\ \theta&=\sqrt{\theta _{xy}^2 + \theta _z^2} \end{aligned}$$\end{document}The derivatives for the rotational matrix components with respect to \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\alpha$$\end{document} , \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\omega _{\textrm{rf}}$$\end{document} and \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\omega _z$$\end{document} can then be derived the same way as in the previous section. The gradients for the \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$j^{th}$$\end{document} time point for the single spin are
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\begin{aligned} \Gamma _{\textrm{PP}}(j)=\begin{pmatrix}\dfrac{\partial \Phi _{\textrm{PP}}}{\partial \alpha (j)} \\ \dfrac{\partial \Phi _{\textrm{PP}}}{\partial \theta _{\textrm{xy}}(j)} \\ \dfrac{\partial \Phi _{\textrm{PP}}}{\partial \theta _z(j)} \end{pmatrix} = \begin{pmatrix}\left\langle {\lambda _j}\left| \right. { \dfrac{\partial R_j}{\partial \alpha (j)} \rho _{j-1}}\right\rangle \\ \left\langle {\lambda _j}\left| \right. { \dfrac{\partial R_j}{\partial \theta _{\textrm{xy}}(j)} \rho _{j-1}}\right\rangle \\ \left\langle {\lambda _j}\left| \right. { \dfrac{\partial R_j}{\partial \theta _z(j)} \rho _{j-1}}\right\rangle \end{pmatrix}, \end{aligned}$$\end{document}which again leaves an analytical derivation of the derivative of the rotation matrix with respect to the Cartesian controls to obtain an overall exact gradient. The calculation can be done by hand or a symbolic mathematics program and the result for the rotation matrix components are listed in Tables 3 and 4, respectively. The amplitude and phase representation is particularly useful in cases of restricted rf-amplitudes or even constant rf-amplitudes (Skinner et al. 2006), where in the latter case only derivatives to the phase \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\alpha$$\end{document} need to be considered for a minimum set of parameters.Table 3. Derivatives of rotation matrix components with respect to phase \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\alpha$$\end{document} and rf-amplitude \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\theta _{xy}$$\end{document} for point-to-point optimizations \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\dfrac{\partial R_{xx}}{\partial \alpha }=-2n_xn_y(1 - \cos (\theta ))$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\dfrac{\partial R_{xy}}{\partial \alpha }=(n_x^2 - n_y^2)(1 - \cos (\theta ))$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\dfrac{\partial R_{xz}}{\partial \alpha }=-n_yn_z(1 - \cos (\theta )) + n_x\sin (\theta )$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\dfrac{\partial R_{yx}}{\partial \alpha }=(n_x^2 - n_y^2)(1 - \cos (\theta ))$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\dfrac{\partial R_{yy}}{\partial \alpha }=2n_xn_y(1 - \cos (\theta ))$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\dfrac{\partial R_{yz}}{\partial \alpha }=n_xn_z(1 - \cos (\theta )) + n_y\sin (\theta )$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\dfrac{\partial R_{zx}}{\partial \alpha }=-n_yn_z(1 - \cos (\theta )) - n_x\sin (\theta )$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\dfrac{\partial R_{zy}}{\partial \alpha }=n_xn_z(1 - \cos (\theta )) - n_y\sin (\theta )$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\dfrac{\partial R_{zz}}{\partial \alpha }=0$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\dfrac{\partial R_{xx}}{\partial \theta _{xy}}=-\dfrac{\theta _{xy}(n_y^2+n_z^2)}{\theta }\sin (\theta )+\dfrac{2n_x^2n_z^2}{\theta _{xy}}(1-\cos (\theta ))$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\dfrac{\partial R_{xy}}{\partial \theta _{xy}}=-n_{xy} n_{z}\left( \cos (\theta ) - \dfrac{\sin (\theta )}{\theta }\right) + n_{x} n_{y} n_{xy} \sin (\theta ) + 2 \left( \dfrac{n_{x} n_{y}}{\theta _{xy}} - \dfrac{n_{x} n_{y} n_{xy}}{\theta }\right) (1 - \cos (\theta ))$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\dfrac{\partial R_{xz}}{\partial \theta _{xy}}=\left( \dfrac{n_{y}}{\theta _{xy}} - \dfrac{n_{y} n_{xy}}{\theta } + n_{x} n_{z} n_{xy}\right) \sin (\theta ) + n_{y} n_{xy} \cos (\theta ) + \left( \dfrac{n_{x} n_{z}}{\theta _{xy}} - \dfrac{2 n_{x} n_{z} n_{xy}}{\theta }\right) (1 - \cos (\theta ))$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\dfrac{\partial R_{yx}}{\partial \theta _{xy}}=n_{xy} n_{z}\left( \cos (\theta ) - \dfrac{\sin (\theta )}{\theta }\right) + n_{x} n_{y} n_{xy} \sin (\theta ) + 2 \left( \dfrac{n_{x} n_{y}}{t_{xy}} - \dfrac{n_{x} n_{y} n_{xy}}{\theta }\right) (1 - \cos (\theta ))$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\dfrac{\partial R_{yy}}{\partial \theta _{xy}}=-\dfrac{\theta _{xy}(n_x^2+n_z^2)}{\theta }\sin (\theta )+\dfrac{2n_y^2n_z^2}{\theta _{xy}}(1-\cos (\theta ))$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\dfrac{\partial R_{yz}}{\partial \theta _{xy}}=\left( -\dfrac{n_{x}}{\theta _{xy}} + \dfrac{n_{x} n_{xy}}{\theta } + n_{y} n_{z} n_{xy}\right) \sin (\theta ) - n_{x} n_{xy} \cos (\theta ) + \left( \dfrac{n_{y} n_{z}}{\theta _{xy}} - \dfrac{2 n_{y} n_{z} n_{xy}}{\theta }\right) (1 - \cos (\theta ))$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\dfrac{\partial R_{zx}}{\partial \theta _{xy}}=\left( -\dfrac{n_{y}}{\theta _{xy}} + \dfrac{n_{y} n_{xy}}{\theta } + n_{x} n_{z} n_{xy}\right) \sin (\theta ) - n_{y} n_{xy} \cos (\theta ) + \left( \dfrac{n_{x} n_{z}}{\theta _{xy}} - \dfrac{2 n_{x} n_{z} n_{xy}}{\theta }\right) (1 - \cos (\theta ))$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\dfrac{\partial R_{zy}}{\partial \theta _{xy}}=\left( \dfrac{n_{x}}{\theta _{xy}} - \dfrac{n_{x} n_{xy}}{\theta } + n_{y} n_{z} n_{xy}\right) \sin (\theta ) + n_{x} n_{xy} \cos (\theta ) + \left( \dfrac{n_{y} n_{z}}{\theta _{xy}} - \dfrac{2 n_{y} n_{z} n_{xy}}{\theta }\right) (1 - \cos (\theta ))$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\dfrac{\partial R_{zz}}{\partial \theta _{xy}}=-2n_{xy}n_{z}^2\dfrac{(1-\cos (\theta ))}{\theta }-n_{xy}^3(n_{xy}^2+n_{z}^2) \sin (\theta )$$\end{document} Table 4. Derivatives of rotation matrix components with respect to z rotations in polar coordinates of the xy-plane for point-to-point optimizations \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\dfrac{\partial R_{xx}}{\partial \theta _{z}}=(n_x^2 n_z - n_z)\sin (\theta ) - \dfrac{2 n_x^2 n_z}{\theta }(1-\cos (\theta ))$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\dfrac{\partial R_{xy}}{\partial \theta _{z}}= \Bigg (n_x n_y n_z - \dfrac{\theta _{xy}^2}{\theta ^3}\Bigg ) \sin (\theta ) + \dfrac{2 n_x n_y n_z}{\theta }(\cos (\theta )-1) - n_z^2 \cos (\theta )$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\dfrac{\partial R_{xz}}{\partial \theta _{z}}= \Bigg (n_x n_z^2 - \dfrac{n_y n_z}{\theta } \Bigg ) \sin (\theta ) + \dfrac{(2 n_x n_z^2 - n_x)}{\theta } (\cos (\theta )-1) + n_y n_z \cos (\theta )$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\dfrac{\partial R_{yx}}{\partial \theta _{z}}= \Bigg (n_x n_y n_z + \dfrac{\theta _{xy}^2}{\theta ^3} \Bigg ) \sin (\theta ) + \dfrac{2 n_x n_y n_z}{\theta }(\cos (\theta )-1) + n_z^2 \cos (\theta )$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\dfrac{\partial R_{yy}}{\partial \theta _{z}}=(n_y^2 n_z - n_z)\sin (\theta ) - \dfrac{2 n_y^2 n_z}{\theta }(1-\cos (\theta ))$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\dfrac{\partial R_{yz}}{\partial \theta _{z}}= \Bigg (n_y n_z^2 + \dfrac{n_x n_z}{\theta } \Bigg )\sin (\theta ) + \dfrac{(2 n_y n_z^2 - n_y)}{\theta } (\cos (\theta )-1) - n_x n_z \cos (\theta )$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\dfrac{\partial R_{zx}}{\partial \theta _{z}}= \Bigg (n_x n_z^2 + \dfrac{n_y n_z}{\theta } \Bigg )\sin (\theta ) + \dfrac{(2 n_x n_z^2 - n_x)}{\theta } (\cos (\theta )-1) - n_y n_z \cos (\theta )$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\dfrac{\partial R_{zy}}{\partial \theta _{z}}= \Bigg (n_y n_z^2 - \dfrac{n_x n_z}{\theta } \Bigg )\sin (\theta ) + \dfrac{(2 n_y n_z^2 - n_y)}{\theta } (\cos (\theta )-1) + n_x n_z \cos (\theta )$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\dfrac{\partial R_{zz}}{\partial \theta _{z}}=(n_z^3 - n_z)\sin (\theta ) + \dfrac{2(n_z - n_z^3 )}{\theta }(1-\cos (\theta ))$$\end{document}
Analytical exact universal rotation gradients
We have seen that propagation can be expressed in terms of simple rotations in the case of a single spin \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\frac{1}{2}$$\end{document} . If effective rotations themselves need to be optimized, it is best to express them with minimum storage and computation time. As such, Cayley (1997) or, equivalently, quaternions (Emsley and Bodenhausen 1990; Hamilton 1843; Rodrigues 1840; Slad et al. 2022) can be used to express rotations. Although the minimum set of numbers to represent a rotation is the vector spanned by \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$(\theta _x, \theta _y, \theta _z)$$\end{document} , it is better to use a four-dimensional vector
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\begin{aligned} Q_j = \begin{pmatrix} A_j \\ B_j\\ C_j \\ D_j \end{pmatrix} \end{aligned}$$\end{document}for the rotation at time step j, where the four components are defined by
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\begin{aligned} A_{{j}}&= n_x(j) \ \sin (\frac{\theta (j)}{2}),\end{aligned}$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\begin{aligned} B_{{j}}&= n_y(j) \ \sin (\frac{\theta (j)}{2}),\end{aligned}$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\begin{aligned} C_{{j}}&= n_z(j) \ \sin (\frac{\theta (j)}{2}),\end{aligned}$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\begin{aligned} D_{{j}}&= \cos (\frac{\theta (j)}{2}) \end{aligned}$$\end{document}using the definitions of Eqs. (20)-(22). Quaternions have the advantage that a series of rotations can be directly evaluated via the product
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\begin{aligned} {Q_2} \cdot {Q}_{1}= \begin{pmatrix} +{D_2} & -{C_2} & +{B_2} & +A_2 \\ +{C_2} & +{B_2} & -A_2 & +{B_2} \\ -{B_2} & +A_2 & +{D_2} & +{C_2} \\ -A_2 & -{B_2} & -{C_2} & +{D_2} \end{pmatrix}\begin{pmatrix} {A}_{1} \\ {B}_{1} \\ {C}_{1} \\ {D}_{1} \end{pmatrix} \end{aligned}$$\end{document}which, with its 16 simple multiplications and sums, is computationally more efficient than the construction of a rotation matrix involving at least one sine/cosine calculation.
Using the formalism for universal rotation pulses, the cost function can be written directly as
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\begin{aligned} \Phi _{\textrm{UR}}=Re\left\langle {U_{\textrm{F}}}\left| \right. {U_N}\right\rangle =Re\left\langle {Q_{\textrm{F}}}\left| \right. {Q_N \cdots Q_j \cdots Q_1}\right\rangle \end{aligned}$$\end{document}and the gradients are derived as
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\begin{aligned} \Gamma _{\textrm{UR}}(j)=\begin{pmatrix}\dfrac{\partial \Phi _{\textrm{UR}}}{\partial \theta _x(j)} \\ \dfrac{\partial \Phi _{\textrm{UR}}}{\partial \theta _y(j)} \\ \dfrac{\partial \Phi _{\textrm{UR}}}{\partial \theta _z(j)} \end{pmatrix} = \begin{pmatrix}Re \left\langle {Q_{\textrm{F}}}\left| \right. {Q_N \cdots Q_{j+1} \cdot \dfrac{\partial Q_j}{\partial \theta _x(j)} \cdot Q_{j-1} \cdots Q_1 }\right\rangle \\ Re \left\langle {Q_{\textrm{F}}}\left| \right. {Q_N \cdots Q_{j+1} \cdot \dfrac{\partial Q_j}{\partial \theta _y(j)} \cdot Q_{j-1} \cdots Q_1 }\right\rangle \\ Re \left\langle {Q_{\textrm{F}}}\left| \right. {Q_N \cdots Q_{j+1} \cdot \dfrac{\partial Q_j}{\partial \theta _z(j)} \cdot Q_{j-1} \cdots Q_1 }\right\rangle \end{pmatrix}, \end{aligned}$$\end{document}where again the overall gradient calculation is reduced to simple quaternion propagation plus the calculation of the rotation derivative - this time in quaternion notation. With Eqs. (30)-(33) the involved partial derivatives of the individual quaternion components can be calculated and corresponding results are summarized in Table 5. Obviously, the components of interest can also be derived with respect to polar coordinates \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\alpha$$\end{document} and \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\theta _{xy}$$\end{document} in the xy-plane, for which the terms are given in the right column of the same Table. It should be noted that the derivatives with respect to \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\alpha$$\end{document} are particularly simple, which guarantees fastest gradient calculation times for the case of constant amplitude pulses.Table 5. Exact gradients of the quaternion elements A, B, C, D with respect to cartesian coordinates ( \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\theta _x$$\end{document} , \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\theta _y$$\end{document} and \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\theta _z$$\end{document} ) and polar coordinates ( \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\alpha$$\end{document} , \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\theta _{xy}$$\end{document} and \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\theta _z$$\end{document} ). Auxiliary variable is \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$n_{xy} = \frac{\theta {xy}}{\theta }$$\end{document} , other variables as defined in the main textCartesianPolar \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\dfrac{\partial A}{\partial \theta _x}=$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$(1-n_{x}^2) \ \dfrac{\sin (\theta /2)}{\theta }+n_{x}^2 \ \dfrac{\cos (\theta /2)}{2}$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\dfrac{\partial A}{\partial \alpha }=$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$- \theta _{xy}\sin (\alpha ) \ \dfrac{\sin (\theta /2)}{\theta }$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\dfrac{\partial B}{\partial \theta _x}=$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$n_{x}n_y\bigg (\dfrac{\cos (\theta /2)}{2}-\dfrac{\sin (\theta /2)}{\theta }\bigg )$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\dfrac{\partial B}{\partial \alpha }=$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\ \ \theta _{xy}\cos (\alpha ) \ \dfrac{\sin (\theta /2)}{\theta }$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\dfrac{\partial C}{\partial \theta _x}=$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$n_{x}n_z\bigg (\dfrac{\cos (\theta /2)}{2}-\dfrac{\sin (\theta /2)}{\theta }\bigg )$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\dfrac{\partial C}{\partial \alpha }=$$\end{document} 0 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\dfrac{\partial D}{\partial \theta _x}=$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$-n_{x} \ \dfrac{\sin (\theta /2)}{2}$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\dfrac{\partial D}{\partial \alpha }=$$\end{document} 0 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\dfrac{\partial A}{\partial \theta _y}=$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$n_{x}n_y\bigg (\dfrac{\cos (\theta /2)}{2}-\dfrac{\sin (\theta /2)}{\theta }\bigg )$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\dfrac{\partial A}{\partial \theta _{xy}}=$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\cos (\alpha )\bigg ( (1-n_{xy}^2) \ \dfrac{\sin (\theta /2)}{\theta }+n_{xy}^2 \ \dfrac{\cos (\theta /2)}{2}\bigg )$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\dfrac{\partial B}{\partial \theta _y}=$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$(1-n_{y}^2) \ \dfrac{\sin (\theta /2)}{\theta }+n_{y}^2 \ \dfrac{\cos (\theta /2)}{2}$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\dfrac{\partial B}{\partial \theta _{xy}}=$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\sin (\alpha )\bigg ( (1-n_{xy}^2) \ \dfrac{\sin (\theta /2)}{\theta }+n_{xy}^2 \ \dfrac{\cos (\theta /2)}{2}\bigg )$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\dfrac{\partial C}{\partial \theta _y}=$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$n_{y}n_z\bigg (\dfrac{\cos (\theta /2)}{2}-\dfrac{\sin (\theta /2)}{\theta }\bigg )$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\dfrac{\partial C}{\partial \theta _{xy}}=$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$n_{xy}n_z\bigg (\dfrac{\cos (\theta /2)}{2}-\dfrac{\sin (\theta /2)}{\theta }\bigg )$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\dfrac{\partial D}{\partial \theta _y}=$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$-n_{y} \ \dfrac{\sin (\theta /2)}{2}$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\dfrac{\partial D}{\partial \theta _{xy}}=$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$-n_{xy} \ \dfrac{\sin (\theta /2)}{2}$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\dfrac{\partial A}{\partial \theta _z}=$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$n_{x}n_z\bigg (\dfrac{\cos (\theta /2)}{2}-\dfrac{\sin (\theta /2)}{\theta }\bigg )$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\dfrac{\partial A}{\partial \theta _{z}}=$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$n_{xy}n_z\cos (\alpha )\bigg (\dfrac{\cos (\theta /2)}{2}-\dfrac{\sin (\theta /2)}{\theta }\bigg )$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\dfrac{\partial B}{\partial \theta _z}=$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$n_{y}n_z\bigg (\dfrac{\cos (\theta /2)}{2}-\dfrac{\sin (\theta /2)}{\theta }\bigg )$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\dfrac{\partial B}{\partial \theta _{z}}=$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$n_{xy}n_z\sin (\alpha )\bigg (\dfrac{\cos (\theta /2)}{2}-\dfrac{\sin (\theta /2)}{\theta }\bigg )$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\dfrac{\partial C}{\partial \theta _z}=$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$(1-n_z^2) \ \dfrac{\sin (\theta /2)}{\theta }+n_z^2 \ \dfrac{\cos (\theta /2)}{2}$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\dfrac{\partial C}{\partial \theta _{z}}=$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$(1-n_z^2) \ \dfrac{\sin (\theta /2)}{\theta }+n_z^2 \ \dfrac{\cos (\theta /2)}{2}$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\dfrac{\partial D}{\partial \theta _z}=$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$-n_z \ \dfrac{\sin (\theta /2)}{2}$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\dfrac{\partial D}{\partial \theta _{z}}=$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$-n_z \ \dfrac{\sin (\theta /2)}{2}$$\end{document}
Limited rf-amplitudes as holonomic constraints
Optimizing efficient pulses in magnetic resonance usually implies optimizations with boundary conditions. One of the fundamental boundaries concern large rf-amplitudes that can cause experimental problems in the form of arching, violated duty cycles, and exceedance of allowed energy depositions. As such, they pose clear restrictions to applicable rf-amplitudes, rf-power, or rf-energy, respectively. Simple implementations with hard cut-off limits have been proposed early on in optimal control optimizations (Gershenzon et al. 2008, 2007; Kobzar et al. 2004, 2008; Skinner et al. 2004). However, mathematically more sound are so-called holonomic constraints that can be included in optimizations as Lagrange multipliers. Holonomic constraints essentially require continuously differentiable functions for restrictions and are usually implemented by auxiliary variables. A multitude of periodic functions have been proposed as auxiliary functions (Goodwin 2017), but we will concentrate here on a widely used trigonometric function, the hyperbolic tangent \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\tanh$$\end{document} , which can be incorporated as a reduced rf-amplitude in polar coordinate systems according to
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\begin{aligned} \theta _{xy}^{\textrm{red}}(j) = \theta ^{\textrm{max}}(j) \ \cdot \ \tanh \left( \frac{\theta _{xy}(j)}{\theta ^{\textrm{max}}(j)} \right) \end{aligned}$$\end{document}where the reduced amplitude \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\theta _{xy}^{\textrm{red}}(j)$$\end{document} of the \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$j^{th}$$\end{document} digit continuously converges only to the maximum value \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\theta ^{\textrm{max}}(j)$$\end{document} . In an optimization, \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\theta _{xy}(j)$$\end{document} instead can now be changed as an auxiliary variable without any restriction, while \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\theta _{xy}^{\textrm{red}}(j)$$\end{document} will be used for the actual values of rf-amplitudes in the pulse shape.
For a simple amplitude restriction to a j-dependent maximum value,
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\begin{aligned} \theta ^{\textrm{max}}(j) = \textrm{const} (j) = 2 \pi \ \Delta t (j) \ \nu _{\textrm{rf}}^{\textrm{max}}(j) \end{aligned}$$\end{document}with maximum rf-amplitude \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\nu _{\textrm{rf}}^{\textrm{max}}(j)$$\end{document} can be imposed. Usually a constant restriction for all time steps is chosen, but in special cases, physics may imply a j-dependent upper limit function (Skinner et al. 2012). In an actual optimization, we restrict ourselves to the polar case where the rf-amplitude is inherently included in the variable \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\theta _{xy}$$\end{document} . However, using the auxiliary approach, the variables \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$n_x$$\end{document} , \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$n_y$$\end{document} , \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$n_z$$\end{document} , \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\theta _{xy}$$\end{document} , and \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\theta$$\end{document} from equations (18,19,26,27,29 - 33) used in the rotation matrices as well as in the quaternion formalism, have to be replaced by their reduced variants according to
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\begin{aligned} \theta _{xy}^{\textrm{red}}(j)= & \theta ^{\textrm{max}}(j) \ \cdot \ \tanh \left( \frac{\theta _{xy}(j)}{\theta ^{\textrm{max}}(j)} \right) \end{aligned}$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\begin{aligned} \theta ^{\textrm{red}}(j)= & \sqrt{(\theta _{xy}^{\textrm{red}}(j))^2 + \theta _z(j)^2} \end{aligned}$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\begin{aligned} n_x^{\textrm{red}}(j)= & \frac{\cos (\alpha ) \cdot \theta _{xy}^{\textrm{red}}(j)}{\theta ^{\textrm{red}}(j)} \end{aligned}$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\begin{aligned} n_y^{\textrm{red}}(j)= & \frac{\sin (\alpha ) \cdot \theta _{xy}^{\textrm{red}}(j)}{\theta ^{\textrm{red}}(j)} \end{aligned}$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\begin{aligned} n_x^{\textrm{red}}(j)= & \frac{\theta _{z}(j)}{\theta ^{\textrm{red}}(j)} \end{aligned}$$\end{document}The resulting gradients \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\Gamma _{\textrm{PP}}$$\end{document} and \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\Gamma _{\textrm{UR}}$$\end{document} are then essentially of the same form as derived above. Only for the derivation to the auxiliary variable itself the \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\tanh$$\end{document} is not a constant and care has to be taken. Taking the derivation of the \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$j^{th}$$\end{document} element of an UR optimization as an example, we can derive
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\begin{aligned} \frac{\partial \Phi _{\textrm{UR}}}{\partial \theta _{xy} (j)} = \underbrace{ \frac{\partial \Phi _{\textrm{UR}}}{\partial \theta _{xy}^{\textrm{red}} (j)}}_{\text {control}} \, \cdot \, \underbrace{ \frac{d \theta _{xy}^{\textrm{red}} (j)}{d \theta _{xy} (j)}}_{\text {auxiliary}} \end{aligned}$$\end{document}With the auxiliary derivative term the actual control \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\theta _{xy}^{\textrm{red}} (j)$$\end{document} (i.e. the rf-amplitudes of the shaped pulse) can be used, for the optimization, instead, the variable \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\theta _{xy}$$\end{document} has to be used, making it necessary to include the terms
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\begin{aligned} \frac{d \theta _{xy}^{\textrm{red}} (j)}{d \theta _{xy} (j)} = \text {sech}^2 \left( \frac{\theta _{xy}(j)}{\theta ^{\textrm{max}}(j)} \right) = 1 - \tanh ^2 \left( \frac{\theta _{xy}(j)}{\theta ^{\textrm{max}}(j)} \right) \end{aligned}$$\end{document}into the equations of the gradient in question. Please note that the second solution is derived from the general relation \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\text {sech}^2(x) + \tanh ^2(x) = 1$$\end{document} and results in a computationally friendly term, as \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\tanh \left( \frac{\theta _{xy}(j)}{\theta ^{\textrm{max}}(j)} \right)$$\end{document} has to be calculated anyway.
If overall rf-power restrictions have to be imposed, the maximum rotation angle can also be defined via the reduced angle at time point j according to
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\begin{aligned} \theta _{xy}^{\textrm{red}}(j) = \theta _{xy}(j) \ \cdot \ \sqrt{\frac{\overline{P^{\textrm{max}}}}{\overline{P}}} \ \cdot \ \tanh \left( \sqrt{\frac{\overline{P}}{\overline{P^{\textrm{max}}}}} \right) \end{aligned}$$\end{document}with the squareroots of the maximum allowed average rf-power \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\overline{P^{\textrm{max}}}$$\end{document} and actual average rf-power expressed by
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\begin{aligned} \overline{P} = \sum _{j = 1}^N \frac{(\theta _{xy}(j))^2}{N} \end{aligned}$$\end{document}where piecewise constant rf-amplitudes and uniform time steps \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\Delta t$$\end{document} have been assumed. Again, the derivative of the reduced rotation angle has to be calculated for the gradient, but this time the reduction involves rotation angles at all time steps and the derivative in e.g. an UR optimization with rf-power restriction will involve
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\begin{aligned} \frac{\partial \Phi _{\textrm{UR}}}{\partial \theta _{xy} (j)} = \sum _{k = 1}^N \ \frac{\partial \Phi _{\textrm{UR}}}{\partial \theta _{xy}^{\textrm{red}} (k)} \, \cdot \, \frac{\partial \theta _{xy}^{\textrm{red}} (k)}{\partial \theta _{xy} (j)} \end{aligned}$$\end{document}with the reduced rotation angle derivatives defined by
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\begin{aligned} \frac{\partial \theta _{xy}^{\textrm{red}}(j)}{\partial \theta _{xy} (j)}= & \left( 1 - \frac{(\theta _{xy}(j))^2}{\sum _{i = 1}^N (\theta _{xy}(j))^2} \right) \cdot \sqrt{\frac{\overline{P^{\textrm{max}}}}{\overline{P}}} \tanh \left( \sqrt{\frac{\overline{P}}{\overline{P^{\textrm{max}}}}} \right) \nonumber \\ & + \frac{(\theta _{xy}(j))^2}{\sum _{i = 1}^N (\theta _{xy}(j))^2} \left( 1 - \tanh ^2 \left( \sqrt{\frac{\overline{P}}{\overline{P^{\textrm{max}}}}} \right) \right) \ \ \ \ \forall \ \ \ k=j \;\end{aligned}$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\begin{aligned} \frac{\partial \theta _{xy}^{\textrm{red}}(k)}{\partial \theta _{xy} (j)}= & \frac{(\theta _{xy}(j))^2}{\sum _{i = 1}^N (\theta _{xy}(j))^2} \cdot \sqrt{\frac{\overline{P^{\textrm{max}}}}{\overline{P}}} \tanh \left( \sqrt{\frac{\overline{P}}{\overline{P^{\textrm{max}}}}} \right) \nonumber \\ & + \frac{(\theta _{xy}(j))^2}{\sum _{i = 1}^N (\theta _{xy}(j))^2} \left( 1 - \tanh ^2 \left( \sqrt{\frac{\overline{P}}{\overline{P^{\textrm{max}}}}} \right) \right) \ \ \ \ \forall \ \ \ k \ne j \ . \end{aligned}$$\end{document}Finally, also the overall rf-energy of a pulse can be restricted, using, for example, the energy defined in Hz
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\begin{aligned} \frac{E}{h} = \overline{P} \, t_p, \end{aligned}$$\end{document}or the more convenient expression in terms of rotation angles
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\begin{aligned} E_{\theta } = \sum _{i = 1}^N (\theta _{xy}(i))^2 = (2 \pi )^2 \ \Delta t \ \frac{E}{h} \end{aligned}$$\end{document}when equations (46 - 50) are used with substituting \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\overline{P^{\textrm{max}}}$$\end{document} with the maximum allowed energy \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$E_{\theta }^{\textrm{max}} = (2 \pi )^2 \Delta t E^{\textrm{max}} / h$$\end{document} and \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\overline{P}$$\end{document} by \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$E_{\theta }$$\end{document} .
Results and Discussion
Runtime comparisons
All analytical solutions for the different gradients have been derived to significantly enhance computational performance. As the runtime performance of already existing optimization programs depends on a large number of different parameters which do not allow a fair comparison. Furthermore, some programs are limited to certain types of pulse shapes (SEEDLESS, for example, is fast, but also limited to constant amplitude pulses with exclusive optimization of pulse phases and does not include other options). All of the existing programs may, nevertheless, benefit from the analytical solutions derived here. We therefore implemented the analytical solutions in Julia, a modern compiling programming language with a comfortable interface similar to Python or Matlab. The implementation of linear algebra routines in Julia is furthermore based on efficient BLAS routines, that still represent today’s standard. We compared the analytical solutions derived in the various Tables with the exact solution provided by the augmented matrix exponential (Floether et al. 2012; Goodwin and Kuprov 2015; Van Loan 1978) approach and, in addition, to a finite difference approximation. All calculations were performed with double precision (Float64) accuracy.
For the Cartesian point-to-point case, the augmented matrix exponential approach for a specific Cartesian control can be implemented in a 6-dimensional matrix that consists of two identical rotation matrices along the diagonal, and the generator of corresponding the x, y, or z-control in the right upper corner. Solving the equation
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\begin{aligned} & \begin{pmatrix} R_j & \frac{\partial R_j}{\partial \theta _{\alpha }(j)} \\ 0 & R_j \end{pmatrix} = \exp \begin{pmatrix} -i L \theta (j) & -i G_{\alpha } \Delta t \\ 0 & -i L \theta (j) \end{pmatrix}\nonumber \\ & \quad \ \ \ \textrm{with} \ \ \ L \theta (j) = (G_x \theta _x(j) + G_y \theta _y(j) +G_z \theta _z(j)) \ \ \ , \ \ \ \alpha \in \{x, y, z\} \end{aligned}$$\end{document}and
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\begin{aligned} G_x = \begin{pmatrix} 0 & 0 & 0 \\ 0 & 0 & 1 \\ 0 & 1 & 0 \end{pmatrix} \ \ \ , \ \ \ G_y = \begin{pmatrix} 0 & 0 & 1 \\ 0 & 0 & 0 \\ 1 & 0 & 0 \end{pmatrix} \ \ \ , \ \ \ G_z = \begin{pmatrix} 0 & 1 & 0 \\ 1 & 0 & 0 \\ 0 & 0 & 0 \end{pmatrix} \end{aligned}$$\end{document}gives the desired result for the first derivative \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\partial R_j / \partial \theta _{\alpha }$$\end{document} in place of the control. It should be noted, that the augmented matrix exponential approach cannot directly be applied to polar coordinates, as no generator is available for a change of the phase-angle \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\alpha$$\end{document} or the overall rotation angle \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\theta _{{xy}}$$\end{document} . This would imply the calculation of an x- and y-control and then combine the two results for obtaining phase and amplitude. We did not attempt this, as this clearly would result in doubling of calculation time and an even larger gap in performance of this approach. Correspondingly, the auxiliary \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\tanh$$\end{document} approach was not attempted, as it only makes sense in polar coordinates.
Equivalent to rotational matrices, the augmented matrix exponential approach can be applied using a single spin propagator defined via the Pauli matrices. The corresponding equation involves \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$4 \times 4$$\end{document} matrices according to
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\begin{aligned} & \begin{pmatrix} U_j & \frac{\partial U_j}{\partial \theta _{\alpha }(j)} \\ 0 & U_j \end{pmatrix} = \exp \begin{pmatrix} -i H \theta (j) & -i \sigma _{\alpha } \Delta t \\ 0 & -i H \theta (j) \end{pmatrix} \nonumber \\ & \quad \ \ \ \textrm{with} \ \ \ \sigma \theta (j) = (\sigma _x \theta _x(j) + \sigma _y \theta _y(j) +\sigma _z \theta _z(j)) \ \ \ , \ \ \ \alpha \in \{x, y, z\} \end{aligned}$$\end{document}and
\documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\begin{aligned} \sigma _x = \begin{pmatrix} 0 & \frac{1}{2} \\ \frac{1}{2} & 0 \end{pmatrix} \ \ \ , \ \ \ \sigma _y = \begin{pmatrix} 0 & -\frac{i}{2} \\ \frac{i}{2} & 0 \end{pmatrix} \ \ \ , \ \ \ \sigma _z = \begin{pmatrix} \frac{1}{2} & 0 \\ 0 & -\frac{1}{2} \end{pmatrix}. \end{aligned}$$\end{document}Finite difference approximations were performed using 3D rotation matrices and quaternions in the PP and UR cases, respectively. They essentially consist of two rotations and the corresponding calculations are mainly determined by the computation of trigonometric terms. Averaged computation times were calculated using the Julia package BenchmarkTools. The resulting times averaged over 1000 derivative calculations are summarized in Table 6. In all cases the analytical derivative solutions introduced here outperforms the other approaches. Compared to the other exact calculations based on the augmented matrix exponential approach, improvements of factors 100–150 are observed. The finite differences approach, on the other hand, is quite fast with factors of approximately 1–3 for the different types of optimization. The gain of the analytical solution compared in this case is not so much in the speed, but, of course, in the higher accuracy of the gradient and therefore a faster overall convergence of the gradient-based optimizations.Table 6. Benchmark runtimes of 1000 exact gradient calculations using the different formulae from Tables 1-7PP (Cartesian)Laptop \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$^a$$\end{document} Workstation \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$^b$$\end{document} UR (Cartesian)Laptop \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$^a$$\end{document} Workstation \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$^b$$\end{document} AnalyticalAnalytical \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\partial R / \partial \theta _x$$\end{document} 325.9 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\mu$$\end{document} s368.0 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\mu$$\end{document} s \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\partial Q / \partial \theta _x$$\end{document} 271.4 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\mu$$\end{document} s331.3 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\mu$$\end{document} s \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\partial R / \partial \theta _y$$\end{document} 298.2 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\mu$$\end{document} s361.7 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\mu$$\end{document} s \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\partial Q / \partial \theta _y$$\end{document} 278.4 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\mu$$\end{document} s329.7 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\mu$$\end{document} s \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\partial R / \partial \theta _z$$\end{document} 326.0 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\mu$$\end{document} s362.6 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\mu$$\end{document} s \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\partial Q / \partial \theta _z$$\end{document} 288.7 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\mu$$\end{document} s333.4 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\mu$$\end{document} sExponentialExponential \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\partial R / \partial \theta _x$$\end{document} 45788.0 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\mu$$\end{document} s33467.0 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\mu$$\end{document} s \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\partial Q / \partial \theta _x$$\end{document} 43774.0 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\mu$$\end{document} s32058.0 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\mu$$\end{document} s \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\partial R / \partial \theta _y$$\end{document} 49442.0 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\mu$$\end{document} s33990.0 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\mu$$\end{document} s \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\partial Q / \partial \theta _y$$\end{document} 49276.0 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\mu$$\end{document} s32492.0 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\mu$$\end{document} s \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\partial R / \partial \theta _z$$\end{document} 51196.0 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\mu$$\end{document} s33152.0 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\mu$$\end{document} s \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\partial Q / \partial \theta _z$$\end{document} 48715.0 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\mu$$\end{document} s32651.0 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\mu$$\end{document} sFinite differencesFinite differences \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\partial R / \partial \theta _x$$\end{document} 490.8 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\mu$$\end{document} s915.5 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\mu$$\end{document} s \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\partial Q / \partial \theta _x$$\end{document} 311.3 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\mu$$\end{document} s328.9 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\mu$$\end{document} s \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\partial R / \partial \theta _y$$\end{document} 505.4 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\mu$$\end{document} s907.5 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\mu$$\end{document} s \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\partial Q / \partial \theta _y$$\end{document} 302.7 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\mu$$\end{document} s325.3 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\mu$$\end{document} s \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\partial R / \partial \theta _z$$\end{document} 501.5 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\mu$$\end{document} s908.0 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\mu$$\end{document} s \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\partial Q / \partial \theta _z$$\end{document} 307.3 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\mu$$\end{document} s325.3 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\mu$$\end{document} sPP (polar)UR (polar)analyticalanalytical \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\partial R / \partial \alpha$$\end{document} 286.6 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\mu$$\end{document} s337.4 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\mu$$\end{document} s \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\partial R / \partial \alpha$$\end{document} 287.4 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\mu$$\end{document} s330.2 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\mu$$\end{document} s \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\partial R / \partial \theta _{xy}$$\end{document} 293.5 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\mu$$\end{document} s349.2 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\mu$$\end{document} s \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\partial R / \partial \theta _{xy}$$\end{document} 281.9 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\mu$$\end{document} s354.0 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\mu$$\end{document} s \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\partial R / \partial \theta _z$$\end{document} 276.1 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\mu$$\end{document} s335.5 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\mu$$\end{document} s \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\partial R / \partial \theta _{z}$$\end{document} 277.0 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\mu$$\end{document} s332.5 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\mu$$\end{document} sFinite differencesFinite differences \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\partial R / \partial \alpha$$\end{document} 453.1 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\mu$$\end{document} s435.8 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\mu$$\end{document} s \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\partial R / \partial \alpha$$\end{document} 342.3 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\mu$$\end{document} s407.3 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\mu$$\end{document} s \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\partial R / \partial \theta _{xy}$$\end{document} 451.6 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\mu$$\end{document} s433.9 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\mu$$\end{document} s \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\partial R / \partial \theta _{xy}$$\end{document} 410.9 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\mu$$\end{document} s412.9 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\mu$$\end{document} s \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\partial R / \partial \theta _z$$\end{document} 457.3 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\mu$$\end{document} s443.6 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\mu$$\end{document} s \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\partial R / \partial \theta _{z}$$\end{document} 412.7 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\mu$$\end{document} s416.0 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\mu$$\end{document} s \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$^a$$\end{document} Lenovo Thinkpad X1 (2023) 12th Gen Intel Core i7-1260P 2.10 GHz; \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$^b$$\end{document} AMD Ryzen 9 5900X 12-Core Processor 3.70 GHz
Example optimizations
To test the performance of the analytical exact gradients, we also looked into three different optimization scenarios. The first one concerns with a relatively simple, but nevertheless important application: the development of \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$^{15}$$\end{document} N pulses that cover the full 50 ppm amide bandwidth on a 1.2 GHz spectrometer with a maximum rf-amplitude that corresponds to a rectangular 90 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$^{\circ }$$\end{document} pulse of 50 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\mu$$\end{document} s. The aim was not to produce the best pulse possible, but to monitor and compare how well the analytical solutions were able to produce a good pulse and what the average duration per iteration as a measure of computation speed was. The results are summarized in Table 7 for excitation (so-called BEBOP pulses (Skinner et al. 2003, 2005; Kobzar et al. 2012)) and inversion (so-called BIBOP pulses (Ehni and Luy 2013; Kobzar et al. 2004, 2012; Nimbalkar et al. 2013)) pulse optimizations.
For parameters we decided to focus on amplitude-restricted pulses with a maximum rf-amplitude of 5 kHz and ±10% B \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$_1$$\end{document} -compensation. The bandwidth is 6000 kHz, which is only slightly larger than the rf-amplitude of the pulse. Pulse shapes fulfilling this condition have been optimized already as early as 2004 (Kobzar et al. 2004), although not with exactly the same parameters. For the optimization we used the Optim.jl Julia package (https://julianlsolvers.github.io/Optim.jl/stable/), with its BFGS implementation. We ran all optimizations on the very same laptop with which we compared the runtime performance in Table 6. Independent of the parameters used for optimization, the resulting pulses generally gave high quality factors larger than 0.99. Three different digitizations were used in the optimizations, where durations of the digits of 1, 10, and 50 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\mu$$\end{document} s led to 500, 50, and 10 piecewise constant pulse elements, respectively. It is no surprise that the latter led to fastest overall optimization times in the sub-second range, as well as the shortest computation times per iteration and also on average less iterations for convergence. Interestingly, the resulting quality factors for the short optimizations are overall in the same range as for the other optimizations. Particularly for initial screens it might therefore be of use to start a large number of fast optimizations with long \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\Delta t$$\end{document} elements, which then form a good basis to choose optimization parameters for a more detailed search. However, it should be noted, that there are profound differences between pulses with quality factors on the order of 0.992 and ones with quality factors of 0.999. This can nicely be seen in Fig. 1, where corresponding excitation and inversion pulses are compared in their performance. Clearly the higher quality factors correspond to significantly better performing pulse shapes.Fig. 1. Offset profiles for excitation (A, B) and inversion (C, D) pulses optimized for amide nitrogen excitation of proteins on a 1.2 GHz spectrometer. The quality factors of the corresponding pulse shapes are written in italics in Table 7. For both types, worst (A, C) and best (B, D) pulses were simulated and differences are clearly visible
Comparing the different controls, it is no surprise that constant amplitude optimizations that only control the pulse phase \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\alpha$$\end{document} , resulted in shortest calculation times. This approach simply has the least amount of controls and also the smallest parameter space in the optimizations. More unexpectedly, the second fastest overall optimization times were reached by the reduced amplitude parameters \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\theta _{xy}^{\textrm{red}}$$\end{document} using the tanh-based restriction of equation (46). Although the additional computation of the tanh terms is computationally costly, it seems to clearly outperform the Lagrange multiplier type amplitude restriction used in the other cases. It seems therefore worth following the pseudo parameter approach when dealing with such type of restrictions.
For the more conventional approaches using either x, y or \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\theta _{xy}$$\end{document} , \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\alpha$$\end{document} controls, no real difference in performance can be seen. Also the addition of z-controls did not really change the convergence characteristic. However, we experienced that z-controls lead to many optimizations that stop at a very early stage of an optimization. Apparently, the unrestricted z-controls lead sometimes to erratic behaviour with large frequency jumps between neighbouring digits. In principle, z-control should allow better convergence and a larger parameter space when rough digitizations are used in pulse optimization. The situation might change, when additional constraints like smoothness restrictions are applied to z-controls.
The second studied scenario concerns pulses with a bandwidth of 40 kHz, which corresponds to a 266 ppm carbon chemical shift range on a 600 MHz spectrometer, and to 160 ppm on a 1.0 GHz spectrometer. Several pulse shapes are available covering the desired bandwidth, although usually with longer pulse shapes than needed (Kobzar et al. 2004, 2008, 2012). We optimized here a basic set of excitation, inversion and different universal rotation pulses fulfilling roughly the physical minimu durations with either constant amplitude of 10 kHz, or with a combined Lagrange multiplier type rf-amplitude (20 kHz) and rf-power ( \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\sqrt{\overline{P^{\textrm{max}}}}$$\end{document} ) restrictions. Corresponding pulse shapes generally resulted in very good performance pulses, as can also be seen in Figs. 2, 3, 4 for the different pulse types. In all cases the amplitude and power-restricted pulse shapes perform better than the constant amplitude pulses with identical overall rf-power, which could be expected from the results of previous systematic studies of BEBOP/BIBOP (Kobzar et al. 2004) and power-BEBOP/power-BIBOP (Kobzar et al. 2008) pulses.Fig. 2. Offset profiles for two excitation pulses with identical overall rf-power (A,B) and optimization parameters given in Table 8. The best obtained BEBOP pulse shape with constant amplitude and overall quality factor 0.99715 has significantly lower performance (A’) than the power-BEBOP with quality factor 0.99982 (B’), corroborating well-known results regarding physical limits studies (Kobzar et al. 2008)Fig. 3. Offset profiles for two inversion pulses with identical overall rf-power (A, B) and optimization parameters given in Table 8. The best obtained BIBOP pulse shape with constant amplitude and overall quality factor 0.99744 has significantly lower performance (A’) than the power-BIBOP with quality factor 0.99983 (B’), corroborating well-known results regarding physical limits studies (Kobzar et al. 2008)
Finally, we optimized a set of pulses for \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$^{19}$$\end{document} F spectroscopy on a 600 MHz spectrometer, where previously two universal rotation pulses were optimized for screening experiments with essentially identical parameters (Lingel et al. 2020). The rational behind the optimizations is, that for other screening experiments, as well as biomolecular NMR on fluorinated samples, particularly short excitation and inversion pulses might be beneficial. The large bandwidth and considerable B \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$_1$$\end{document} -compensation for most pulses is challenging, but resulting pulse shapes lead to remarkable results, which is nicely documented in Fig. 5.
A first pulse is a saturation pulse bringing z magnetization efficiently into the x,y plane. As has been previously experienced (Enders et al. 2014; Luy et al. 2009; Woordes et al. 2025), the wide offset range can be covered with a very short pulse shape. It should also be noted that the overall optimization time of this difficult pulse on a single processor core required only 1.6 seconds with a close to perfect performance. Although no B \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$_1$$\end{document} -compensation was applied, the pulse will be very well applicable, as can be seen in Fig. 5B. Surprisingly good are also the excitation and inversion pulses with their overall rf-power restricted to the equivalent to a 10 kHz constant amplitude pulse. The restriction in this case has been applied via the tanh-type pseudo controls with inherent power-based scaling. Both pulse shapes with a high number of offset checks, 700 piecewise constant pulse digits, and detailed B \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$_1$$\end{document} -compensation were the most complex optimizations attempted here. Correspondingly, optimization times comprise half a day to a day on a single core. The bandwidth-over-B \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$_1$$\end{document} -ratio in this case is 12, which is much larger than for most previously optimized excitation and inversion pulses, and demonstrates to some extent the increase in complexity and optimization duration with more demanding pulse shapes. Both optimizations did not fully converge, but stopped after the maximum number of iterations specified (5000 iterations). It can be expected that optimizations that run until convergence is reached will lead to better pulse shapes, but most likely with only slight improvements. Finally, constant amplitude pulse shapes with a bandwidth-over-B \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$_1$$\end{document} -ratio of 6 were optimized for excitation, inversion, and universal rotation 90 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$^{\circ }$$\end{document} and 180 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$^{\circ }$$\end{document} pulses. All of the pulses are rather short for their performance and should be readily suited for corresponding \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$^{19}$$\end{document} F-based applications.Fig. 4. Offset profiles for a universal rotation power-BURBOP-90 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$^{\circ }$$\end{document} (A) and a universal rotation power-BURBOP-180 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$^{\circ }$$\end{document} (B) pulse with identical overall rf-power and optimization parameters given in Table 8. Both pulses show exceptional performanceFig. 5Summary of pulse shapes optimized for fluorine excitation. (A, B) extremely short saturation pulse of 120 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\mu$$\end{document} s covering the full bandwidth of 120 kHz. Although the pulse was optimized without B \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$_1$$\end{document} -compensation, considerable compensation is achieved in the ±10% range. (C, D) power-BEBOP excitation and power-BIBOP inversion pulses with the squareroot of the average rf-power of only 10 kHz and 1.4 ms duration. (E,F) corresponding BEBOP excitation and BIBOP inversion pulses with constant rf-amplitude of 20 kHz and durations of 350 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\mu$$\end{document} s and below. (G,H) Universal rotation BURBOP-90 and BURBOP-180 pulses of 600 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\mu$$\end{document} s and 700 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\mu$$\end{document} s duration equivalent to previously published pulse shapes (Lingel et al. 2020). The Offset/B \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$_1$$\end{document} region used for most pulse optimizations is highlighted by the yellow dashed boxes
Conclusion
Cost functions and corresponding exact gradients for point-to-point and universal rotation type single spin optimizations have been derived analytically. Their implementation into the self-written program PulseOptimizer (will be published somewhere else) resulted into improvements in computation times compared to other analytical gradient calculations like the augmented matrix exponentiation approach by roughly two orders of magnitude. Correspondingly, very different types of conventional pulse shapes could be optimized in a matter of seconds to few hours using a single processor core on a laptop. With this increase in optimization speed an important step towards the optimization of pulse shapes with very large bandwidth-over-B \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$_1$$\end{document} -ratios is done. However, already some of the example pulses have shown that further technical improvements in optimization software will be necessary to tackle pulses with bandwidths that are 100 times larger than the corresponding B \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$_1$$\end{document} field strenghts. As such, massive parallelization and eventually efficient implementation in GPU architectures either on a quality factor level and/or on an optimizer level seem to be appropriate additional future steps.Table 7. Summary of individual optimizations performed using the different formulae from Tables 1-3. In all cases, pulses of 500 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\mu$$\end{document} s duration, maximum rf-amplitude of 5 kHz with ±10% B \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$_1$$\end{document} -compensation (3 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$B_1$$\end{document} points), and a bandwidth of 6000 kHz (11 offset points, covering 50 ppm in \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$^{15}$$\end{document} N at a 1.2 GHz spectrometer) were optimized using a BFGS optimization algorithm on a single core of a laptopControls \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\Delta$$\end{document} tIterationsOptimizationTime perQuality[ \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\mu$$\end{document} s]#time [s]iter. [ \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\mu$$\end{document} s]factorExcitation \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\theta _x$$\end{document} , \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\theta _y$$\end{document} 1/10/504944/424/148665,4/7,4/0,598134,5/17,4/4,00,9987/0,9960/0,9973 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\theta _x$$\end{document} , \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\theta _y$$\end{document} , \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\theta _z$$\end{document} 1/10/501294/152/98306,2/7,2/0,277236,6/47,3/2,80,9990/0,9938/0,9955 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\theta _{xy}$$\end{document} , \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\alpha$$\end{document} 1/10/50777/134/119383,9/7,6/0,608494,0/56,7/5,10,9962/0,9949/0,9923 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\theta _{xy}$$\end{document} , \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\alpha$$\end{document} , \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\theta _z$$\end{document} 1/10/501083/198/65991,3/12,8/0,428915,3/64,6/6,50,9978/0,9981/0,9968 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\theta _{xy}^{\textrm{red}}$$\end{document} , \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\alpha$$\end{document} 1/10/50147/146/10517,7/2,8/0,407120,4/19,1/3,80,9966/0,9991/0,9985 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\theta _{xy}^{\textrm{red}}$$\end{document} , \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\alpha$$\end{document} , \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\theta _z$$\end{document} 1/10/50765/247/8582,7/5,5/0,421108,1/22,2/4,90,9989/0,9989/0,9968 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\alpha$$\end{document} 1/10/50847/1018/8253,7/8,1/0,12663,4/7,9/1,50,9981/0,9995/0,9963Inversion \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\theta _x$$\end{document} , \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\theta _y$$\end{document} 1/10/504805/231/87727.4/5.4/0.277151.3/23.3/3.10.9978/0.9947/0.9926 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\theta _x$$\end{document} , \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\theta _y$$\end{document} , \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\theta _z$$\end{document} 1/10/501427/185/70316.7/6.8/0.418221.9/36.7/5.90.9972/0.9971/0.9946 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\theta _{xy}$$\end{document} , \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\alpha$$\end{document} 1/10/50809/1192/78488.6/21/0.318603.9/17.6/4.00.9926/0.9996/0.9972 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\theta _{xy}$$\end{document} , \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\alpha$$\end{document} , \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\theta _z$$\end{document} 1/10/50819/173/132632.9/11.3/0.74772.7/65.3/5.60.9950/0.9961/0.9987 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\theta _{xy}^{\textrm{red}}$$\end{document} , \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\alpha$$\end{document} 1/10/50331/302/9546.2/3.5/0.376139.5/11.5/3.90.9972/0.9995/0.9973 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\theta _{xy}^{\textrm{red}}$$\end{document} , \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\alpha$$\end{document} , \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\theta _z$$\end{document} 1/10/50260/121/5440.8/2.5/0.228156.9/20.6/4.20.9965/0.9995/0.9926 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\alpha$$\end{document} 1/10/50573/753/8839.2/4.4/0.21568.4/5.8/2.40.9997/0.9981/0.9932Table 8Different pulse types optimized for a typical \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$^{13}$$\end{document} C scenario, where 250 ppm on a 600 MHz spectrometer or 160 ppm on a 1.0 GHz spectrometer have to be covered. Pulses were optimized using an L-BFGS optimization algorithm on a single core of a laptopPulsetypeControlsOffsetBWB \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$_1$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\pm \vartheta$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\Delta$$\end{document} t \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$t_p$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\sqrt{\overline{P}^{\textrm{max}}}$$\end{document} /iter.opt.Quality#[kHz]#[%][ \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\mu$$\end{document} s][ \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\mu$$\end{document} s] \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\theta _{xy}^{\textrm{max}}$$\end{document} [kHz]#time [s]factorexcitation \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\theta _x$$\end{document} , \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\theta _y$$\end{document} 314035150010/2039561664.00.99982excitation \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\theta _x$$\end{document} , \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\theta _y$$\end{document} , \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\theta _z$$\end{document} 3140351050010/20906.40.99914excitation \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\alpha$$\end{document} 3140351500-/101248293.00.99715inversion \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\theta _x$$\end{document} , \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\theta _y$$\end{document} 314035150010/201966690.00.99983inversion \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\theta _x$$\end{document} , \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\theta _y$$\end{document} , \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\theta _z$$\end{document} 3140351050010/201047.50.99839inversion \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\alpha$$\end{document} 3140351500-/101473344.00.99744UR-90 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$^{\circ }$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\theta _x$$\end{document} , \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\theta _y$$\end{document} 6140351100010/205000 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$^*$$\end{document} 3170.00.99996UR-180 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$^{\circ }$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\theta _x$$\end{document} , \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\theta _y$$\end{document} 6140351100010/2028543353.60.99998 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$^*$$\end{document} optimization stopped after reaching maximum number of iterationsTable 9Different pulse types optimized for a typical \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$^{19}$$\end{document} F scenario, where 200 ppm need to be covered on a 600 MHz spectrometer. Pulses were optimized using an L-BFGS optimization algorithm on a single core of a laptopPulse typeControlsOffsetBWB \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$_1$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\pm \vartheta$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\Delta$$\end{document} t \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$t_p$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\sqrt{\overline{P}^{\textrm{max}}}$$\end{document} /iter.Opt.Quality#[kHz]#[%][ \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\mu$$\end{document} s][ \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\mu$$\end{document} s] \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\theta _{xy}^{\textrm{max}}$$\end{document} [kHz]#time [s]Factorsaturation \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\alpha$$\end{document} 311201-2120-/102441.60.99999excitation \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\theta _{xy}^{\textrm{red}}$$\end{document} , \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\alpha$$\end{document} 3011205102140010/-5000 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$^*$$\end{document} 945700.99627excitation \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\alpha$$\end{document} 1211205101350-/20894904.40.99419inversion \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\theta _{xy}^{\textrm{red}}$$\end{document} , \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\alpha$$\end{document} 3011205102140010/-5000 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$^*$$\end{document} 428640.99989inversion \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\alpha$$\end{document} 1211205101300-/20567757.10.99885UR-90 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$^{\circ }$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\alpha$$\end{document} 1211205101600-/2025872833.20.99915UR-180 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$^{\circ }$$\end{document} \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$\alpha$$\end{document} 1211205101700-/2010000 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$^*$$\end{document} 15411.00.99951 \documentclass[12pt]{minimal} \usepackage{amsmath} \usepackage{wasysym} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsbsy} \usepackage{mathrsfs} \usepackage{upgreek} \setlength{\oddsidemargin}{-69pt} \begin{document}$$^*$$\end{document} optimization stopped after reaching maximum number of iterations
Supplementary Information
Below is the link to the electronic supplementary material.Supplementary file 1 (zip 804 KB)
The reference list from the paper itself. Each links out to its DOI / PubMed record.
