Articles | Volume 4, issue 1
Research article
11 Apr 2023
Research article |  | 11 Apr 2023

Simulation of NMR spectra at zero and ultralow fields from A to Z – a tribute to Prof. Konstantin L'vovich Ivanov

Quentin Stern and Kirill Sheberstov

Simulating NMR experiments may appear mysterious and even daunting for those who are new to the field. Yet, broken down into pieces, the process may turn out to be easier than expected. Quite the opposite, it is in fact a powerful and playful means to get insights into the spin dynamics of NMR experiments. In this tutorial paper, we show step by step how some NMR experiments can be simulated, assuming as little prior knowledge from the reader as possible. We focus on the case of NMR at zero and ultralow fields, an emerging modality of NMR in which the spin dynamics are dominated by spin–spin interactions rather than spin–field interactions, as is usually the case with conventional high-field NMR. We first show how to simulate spectra numerically. In a second step, we detail an approach to construct an eigenbasis for systems of spin-1/2 nuclei at zero field. We then use it to interpret the numerical simulations.


In this attempt to make NMR simulation approachable, the authors wish to pay tribute to Prof. Konstantin L'vovich Ivanov, a great scientist and pedagogue who passed away on 5 March 2021.

1 Introduction

NMR spectroscopists know well the advantages of performing experiments at the highest possible magnetic field. Increasing magnetic field strength boosts the sensitivity thanks to higher Boltzmann nuclear polarization and higher Larmor frequency (provided the signal linewidth is maintained constant). In addition to this already convincing advantage, higher magnetic fields also imply a larger frequency shift dispersion and therefore easier resolution of individual resonances in crowded spectra. This has motivated the use of ever-increasing magnetic fields (Thayer and Pines, 1987; Schwalbe, 2017; Wikus et al., 2022). The past year has witnessed the implementation of the first spectrometers operating at no less than 28 T, corresponding to a 1H Larmor frequency of 1.2 GHz. (Wikus et al., 2022) There is no doubt that these new instruments will allow for unprecedented applications.

On the fringe of these great achievements, there is growing interest in the opposite strategy, namely, zero- to ultralow-field (ZULF) NMR, a modality of NMR experiments where the dominant interactions are spin–spin interactions rather than spin–field interactions (Thayer and Pines, 1987; Weitekamp et al., 1983; Blanchard and Budker, 2016; Blanchard et al., 2021; Tayler et al., 2017; Jiang et al., 2021). To realize such conditions, ZULF experiments are not performed in magnets but rather in mumetal magnetic shields that screen magnetic fields originating from the Earth and other surrounding sources, bringing the residual field down to nanotesla (nT) values. In this paper, “zero field” (ZF) designates the regime where heteronuclear spin–spin interactions dominate over spin–field interactions (Zeeman interactions), and the residual spin–field interactions are small enough for the Larmor period to be much longer than the coherence time (Blanchard and Budker, 2016). When this condition is met, decreasing the residual field to even lower values leaves the NMR spectrum unchanged. “Ultralow field” (ULF) designates the regime where the spin–field interactions can be treated as a perturbation to the heteronuclear spin–spin interactions. This typically corresponds to fields on the order of tens to hundreds of nanotesla (Ledbetter et al., 2011). Liquid-state ZULF experiments result in J spectra which do not feature any chemical shift information (Ledbetter et al., 2009). The regime where the intensity of heteronuclear spin–spin interactions is on the order of that of the spin–field interactions occurs typically in the range of microtesla (µT) to tens of microtesla and is referred to as Earth-field NMR (EF-NMR) (Callaghan and Le Gros, 1982; Appelt et al., 2006).

In the simplest form of ZULF experiments, the sample is thermally prepolarized in a permanent magnet (typically 2 T) (Tayler et al., 2017) and subsequently shuttled into the magnetic shields for detection at ZF or ULF. Alternatively, ZULF experiments may be coupled with hyperpolarization techniques (Theis et al., 2012; Butler et al., 2013b; Barskiy et al., 2019; Picazo-Frutos et al., 2023). In particular, parahydrogen-induced polarization (PHIP) has become common as a method for enhancing ZULF signals (Theis et al., 2011, 2012; Butler et al., 2013b). Once the sample is prepolarized (or hyperpolarized), coherences are excited using constant magnetic field pulses rather than radiofrequency (RF) pulses and are usually detected using optically pumped magnetometers (OPMs) rather than inductive coils (Ledbetter et al., 2009). Contrary to high-field instruments, ZULF spectrometers have the advantage of being cheap and relatively easy to assemble (Tayler et al., 2017). They are small enough to sit on a bench and do not require the use of cryogenics (at least if OPMs are used for detection).

Most people who have been introduced to the theory of high-field NMR have first encountered the vector model. The representation of a single-spin system as a vector in 3D space is a powerful tool to build intuition on what happens during an NMR experiment. Then, in a second step, the product operator formalism is necessary to understand the outcome of experiments involving interacting spins. At ZULF, couplings between spins need to be taken into account even to describe the simplest experiment, which consists of detecting the coherence between the singlet S0 and triplet T0 states of a pair of J-coupled heteronuclei, e.g., 1H and 13C (Blanchard and Budker, 2016). Polarization oscillates back and forth from one heteronucleus to the other, producing an observable oscillating signal whose frequency is given by the J coupling between the two spins. The outcome of the experiment is simple – a single line at the J-coupling frequency – although it cannot be predicted by the vector model of high-field NMR and Bloch equations. Nonetheless, it is possible to build intuition regarding ZULF experiments in several ways. First, when dealing with two-spin systems, one can define spin operators at ZF in analogy to that at high field so as to translate some of the intuitions from high field to ZULF (Blanchard and Budker, 2016; Butler et al., 2013b). Second, there is a strong analogy between the energy states of electronic spins in atoms and coupled nuclei at ZF (Butler et al., 2013a; Theis et al., 2013). The formalism of addition of angular momenta (widely used in atomic physics and rotational spectroscopy but less frequently in liquid-state NMR) can therefore be used to describe ZULF experiments. Finally, ZULF experiments can be numerically simulated easily, and – as is the case for high-field NMR – simulation provides a playful means to understand NMR experiments (Blanchard et al., 2020; Put et al., 2021). This tutorial paper is focused on the last two approaches.

We present a step-by-step procedure to numerically simulate ZULF spectra in some simple cases. The process is broken down into the following steps:

  1. define the experimental sequence,

  2. define the spin system,

  3. compute the spin Hamiltonian,

  4. define the initial state – compute the initial density matrix,

  5. propagate the density matrix under the Hamiltonians,

  6. extract expectation values from the propagation,

  7. Fourier transform the expectation values to obtain a spectrum.

We assume that the reader is familiar with general concepts of NMR and that they are not necessarily used to performing spin dynamics simulations. We take particular care to detail the technical “tricks” which are generally omitted in research papers but are nonetheless essential to performing successful simulations. We present simulated spectra for XAn spin systems with n between 1 and 5 with several excitation schemes. The spectra are simulated using MATLAB live scripts, which are available in the Supplement (see also Stern and Sheberstov, 2023). The code is abundantly commented and is constructed so as to follow precisely the recipe presented in this paper. Each object and operation presented in this paper can thus be related to lines in the MATLAB code, and vice versa. PDF versions of the live scripts are available. We strongly advise the reader to read the code in parallel to the paper. In a second step, we interpret the simulated results by performing an analytical analysis of the XAn system using a theoretical framework coming from atomic physics. We show how to construct an eigenbasis and find the selection rules for the allowed transitions. This section is also supported with a code written in Wolfram Mathematica and with a step-by-step link between the text and lines in the code supporting the derived equations (Stern and Sheberstov, 2023).

The reader might wonder whether it makes sense to go through all the details of simulating NMR experiments from scratch while there are powerful simulation packages which are freely available. SpinDynamica (Bengs and Levitt, 2018) and Spinach (Hogben et al., 2011), which run on Mathematica and MATLAB, respectively, are probably the most appropriate tools for simulations at ZULF. The people who have programmed these have already gone through the hurdles of making them efficient and versatile for us, and they even provide code examples for the simulation of NMR spectra at ZULF.1 However, it is the authors' opinion that performing simple simulations from scratch is the best way to get familiar with the quantum mechanical objects of NMR theory. Once one is confident with these objects and their language, one will make the best use of powerful packages such as SpinDynamica and Spinach. We note that several PhD theses from Pines' group at University of California, Berkeley, present simulations of NMR spectra at ZULF (Theis, 2012; Blanchard, 2014; Sjolander, 2017). These theses contain code examples and are a useful resource for the beginner.

In writing this paper, the authors wish to pay tribute to their regretted lecturer and mentor Prof. Konstantin L'vovich Ivanov, known as Kostya by many, who was taken by COVID-19 on 5 March 2021 (Yurkovskaya and Bodenhausen, 2021). Kirill Sheberstov had Konstantin Ivanov as a PhD co-supervisor, performing research on long-lived states, parahydrogen-induced polarization, and chemically induced dynamic nuclear polarization (CIDNP). Konstantin Ivanov's deep understanding of the underlying physics allowed his group to work in very different directions, e.g., to combine CIDNP and ZULF NMR. During his PhD in Sami Jannin's team in Lyon, France, Quentin Stern collaborated with Konstantin Ivanov on a research project. In the course of their collaboration, Konstantin Ivanov gave Quentin Stern guidance on how to simulate experiments at ZF. A few pieces of advice turned into precious teachings for Quentin Stern. Sadly, these teachings were brutally interrupted by Konstantin Ivanov's death. Konstantin Ivanov's kindness and availability to give help and advice will forever remain an example for Quentin Stern and Kirill Sheberstov.

2 Theory – numerical simulation of spin dynamics

2.1 Define the experimental sequence

Most 1D NMR experiments can be broken down into three steps:


During the preparation, some nuclear polarization is acquired by letting the sample rest in a strong magnetic field (in most conventional experiments). Mixing consists of bringing the system to a non-stationary state whose oscillations are recorded during detection. In common high-field NMR experiments, all the steps are performed in a strong magnet with a nearly constant magnetic field. Nuclear polarization is spontaneously acquired due to the high magnetic field, and both the mixing and detection are performed through the same RF coil using Faraday induction. At ZULF, there is no nuclear polarization, so the preparation has to be performed in different conditions. A common method is to shuttle the sample between a region of high field and a region of ZULF.

Figure 1 shows a typical experimental setup. A permanent magnet is used to prepolarize the sample, which is connected with the magnetic shields by a guiding solenoid coil. This coil ensures that the sample experiences a magnetic field with constant direction and sufficient strength during the transfer from the region of high field to inside the magnetic shields (i.e., the coil ensures an adiabatic transfer). Once the sample arrives in the magnetic shields at the location of detection, the Helmholtz coil continues to produce a magnetic field in the same direction as the solenoid, and the spin system is still distributed into Zeeman populations (Blanchard and Budker, 2016; Tayler et al., 2017). All the steps detailed until here are part of the preparation. In practice, the guiding solenoid and the Helmholtz coil produce a magnetic field which is much weaker than the prepolarizing magnet. However, this will not be taken into account in the simulation: we consider that the sample spends enough time in the prepolarizing magnet to reach Boltzmann equilibrium and that the transfer is sufficiently fast for us to neglect the change in polarization during the transfer.

A further step can optionally be added to the preparation, which consists of ramping down the magnetic field produced by the Helmholtz coil to bring the spins adiabatically to ZF. We will refer to experiments which include or do not include this step as the adiabatic field drop and sudden field drop experiments, respectively. In the case of sudden field drop experiments, the mixing step simply consists of switching off the magnetic field non-adiabatically (that is, fast enough to be considered instantaneous with respect to the evolution of the spin system). In the case of adiabatic field drop experiments, the sample is already at ZF at the end of preparation, so populations have to be mixed by applying a magnetic field pulse before any signal can be detected. This is analogous to high-field pulses except that it uses constant magnetic field rather than RF pulses. After the mixing, the oscillating magnetic field generated by the sample is detected by an optical magnetometer. In Fig. 1, the magnetometer is represented below the sample, that is, aligned along the z axis with respect to the sample. We assume that the OPM is configured so as to be sensitive to magnetic field along the z axis and that the spins are initially prepolarized along the same axis. Defining this axis as z is a natural choice for high-field NMR spectroscopists, but note that other conventions exist (see, for example, Ledbetter et al., 2011). During detection, a weak magnetic field may be applied, either along the z axis or along an orthogonal axis. In the latter case, the experiment is said to be performed under the ULF regime. In the absence of applied magnetic field (and provided the residual magnetic field is properly zeroed at the location of the sample), the experiment is said to be performed under the ZF regime.

Figure 1(a) Typical experimental setup for ZULF experiments. Note that the sample is represented in two places in the same drawing even if there is a single sample. (b) Schemes of the experimental sequences for measurements at ZF using a sudden field drop or an adiabatic field drop followed by a pulse of static magnetic field.


In summary, there are several possible combinations of experimental schemes. All of them start with prepolarizing the spins at high magnetic field. After the sample is transported into the magnetic shields, the field is dropped either suddenly or adiabatically, in which case a magnetic field pulse is applied. Finally, the oscillating magnetic field produced by the sample is detected along the z axis, with or without a weak magnetic field applied along the x axis. In the remaining of the paper, these sequences presented in Fig. 3b will be broken down into the following steps:

  1. prepolarization,

  2. transfer and coherence excitation, and

  3. detection.

2.2 Define the spin system

This step consists of listing the different magnetic sites of the molecule whose ZULF spectrum is to be simulated and the interactions which the spins are subject to. This paper is concerned with small molecules in the liquid state. As is the case for high-field NMR, dipolar interactions are averaged out by rapid molecular tumbling and need not be taken into account (except as stochastic perturbation if one intends to include relaxation effects). Therefore, only the J coupling and the Zeeman interactions are considered here.

In this paper, we consider spin systems of the form XAn, where X is a 13C spin coupled to n equivalent 1H spins A through a coupling JAX. The A spins are coupled together through JAA.

2.3 Compute the spin Hamiltonian

The Hamiltonian is the operator which represents the total energy of the system. Information about the spin system is mathematically encoded in the spin Hamiltonian. We will first present how the Hamiltonian for the Zeeman interaction of a single spin is computed based on Pauli matrices. Then, we will present the construction of a two-spin system using the Kronecker product of individual spin spaces to compute the Zeeman and the J-coupling Hamiltonians. Finally, we will show how the procedure is extended to an arbitrary number of spins.

Let us first assume that the system contains a single spin 1/2 interacting with the magnetic field B along the z axis. The state of any spin system can be represented as a linear combination of basis vectors, which are called “kets” in Dirac's notation and are represented by the symbols |〉. For a single spin 1/2, two basis kets are necessary to represent the state of the system. We chose to represent the spin system in the Zeeman basis:

(1) B Z 2 = α , β = 1 0 , 0 1 .

The |α and |β states correspond to the spin being parallel and antiparallel with the magnetic field, respectively. The general state in which the spin may be found is a linear combination of these two basis states. Because these states and their associated kets form an orthonormal basis, their vector representation have the canonical form with only 0 and 1 coefficients. The space spanned by these two vectors is called a “Hilbert space” and has dimension 2, as indicated by the superscript in BZ2. Note that the choice of the Zeeman basis is convenient for numerical simulation but is not necessary. For example, one may use the coupled basis, which will be presented and used in Sect. 4. The same basis may be used to perform simulations at high field or ZULF, although one particular basis might turn out to be more convenient.

The angular momentum of a single spin is associated with the spin angular momentum operators, which can be represented as a vector with three Cartesian components:

(2) I ^ = I ^ x , I ^ y , I ^ z .

These operators act on the Zeeman states in certain ways, e.g., I^xα=12β. To summarize the set of rules, it is convenient to use the matrix representation of the operators, with the matrix elements determined by the action of the operator on the |α and |β states: Iμrs=rI^ks, where r,sα,β;μ{x,y,z}. This definition makes use of 〈|, i.e., the “bra”, an object which is complementary to the ket and corresponds to the “Hermitean conjugate” of the ket. In the matrix representation of quantum mechanics, the Hermitean conjugate of a ket corresponds to the complex transpose of the vector representing the ket. The matrix representations of operators in quantum mechanics is very important for performing simulations, as they are constructed in such a way that any state of operation on the quantum system can be represented using linear algebra. The matrix representations of the three Cartesian components of the spin angular momentum operators are proportional to Pauli matrices σ^x, σ^y, and σ^z:

(3) I ^ x = 1 2 σ ^ x = 1 2 0 1 1 0 , I ^ y = 1 2 σ ^ y = 1 2 0 - i i 0 , I ^ z = 1 2 σ ^ z = 1 2 1 0 0 - 1 .

The interaction of a single spin with a magnetic field B is given by the Zeeman Hamiltonian:

(4) H ^ Z = - γ B I ^ = - γ B x I ^ x + B y I ^ y + B z I ^ z ,

where γ is the gyromagnetic ratio of the spin (in rad s−1 T−1). The dot product of the vectors of the magnetic field and of the spin angular momentum (vectors and vector operators are denoted in bold throughout the text) is expanded on the right member of Eq. (4). Note that we have omitted the reduced Planck constant in Eq. (4), which implies that the energy is expressed in radians per second (rad s−1) rather than in joules. This is the case throughout this paper. In many cases, the magnetic field is aligned with one of the axes. If it points along the z axis, i.e., B=00B0, Eq. (4) simplifies to

(5) H ^ Z = - γ B 0 I ^ z = ω 0 I ^ z = 1 2 + ω 0 0 0 - ω 0 ,

where ω0=-γB0 is the Larmor frequency of the spin. This expression is valid regardless of the intensity of the magnetic field, i.e., at high field as well as at ZULF. The Zeeman states, |α and |β, which correspond to the spin being parallel and antiparallel with the magnetic field, respectively, are eigenstates of the Zeeman Hamiltonian; that is, they satisfy the eigenequations H^Zα=+1/2α and H^Zβ=-1/2β. The eigenstates of a Hamiltonian are of particular importance; they are states which do not evolve under the effect of that Hamiltonian (ignoring the accumulation of the phase factor, which turns out to be irrelevant in most experiments), i.e., stationary states.

The single spin whose Hamiltonian is given by Eq. (5) lives in a Hilbert space of dimension 2. To represent a pair of spins 1/2, we need to use a Hilbert space with a dimension of 4. To do so, we redefine the angular momentum operators in this higher-dimension space. The matrix representations of the angular momentum operators I^1x, I^1y, and I^1z and I^2x, I^2y, and I^2z of spin 1 and spin 2, respectively, are given by the Kronecker product of matrices of single-spin angular momentum operator and the identity operator, in the appropriate order. For the z-axis angular momentum operators, we have

(6) I ^ 1 z = I ^ z 1 ^ = 1 2 1 0 0 - 1 1 0 0 1 = 1 2 + 1 0 0 0 0 + 1 0 0 0 0 - 1 0 0 0 0 - 1


(7) I ^ 2 z = 1 ^ I ^ z = 1 0 0 1 1 2 1 0 0 - 1 = 1 2 + 1 0 0 0 0 - 1 0 0 0 0 + 1 0 0 0 0 - 1 .

Similar expressions are obtained for the matrices of x and y operators. They are not shown here but are available in many textbooks (Hore et al., 2015; Levitt, 2013). Here, we have used the following convention for the Kronecker product

(8) a b c d α β γ δ = a α β γ δ b α β γ δ c α β γ δ d α β γ δ = a α a β b α b β a γ a δ b γ b δ c α c β d α d β c γ c δ d γ d δ .

The two operators defined by Eqs. (6) and (7) are the same as the one given by Eq. (5), except that the world of spin 1 now contains spin 2, and vice versa. This representation corresponds to a basis that is the Kronecker product of the basis of the individual spins.

(9) B Z 4 = B Z 2 B Z 2 = α α , α β , β α , β β

For the case where the magnetic field points along the z axis, the total Zeeman Hamiltonian for the two spins can now be computed using Eq. (5) in the basis of Eq. (9) as the sum of the two Zeeman Hamiltonians:

(10) H ^ Z = H ^ Z , 1 + H ^ Z , 2 = ω 1 0 I ^ 1 z + ω 2 0 I ^ 2 z = 1 2 + ω 1 0 + ω 2 0 0 0 0 0 + ω 1 0 - ω 2 0 0 0 0 0 - ω 1 0 + ω 2 0 0 0 0 0 - ω 1 0 - ω 2 0 ,

where ω10 and ω20 are the Larmor frequencies of spin 1 and 2, respectively. Note that in a Hilbert space of several spins, it is useful to define projections of total angular momentum operators:

(11) I ^ x = I ^ 1 x + I ^ 2 x , I ^ y = I ^ 1 y + I ^ 2 y , I ^ z = I ^ 1 z + I ^ 2 z .

Note that these operators are represented by the same symbol as their equivalent in the single-spin Hilbert space (see Eq. 3). It should be clear from the context whether the operator corresponds to a single-spin or multiple-spin Hilbert space. Where confusion may remain, we will indicate the dimension of the space on which the operator acts.

At this point, the two spins are represented in a common space, but they do not interact. The J-coupling Hamiltonian for the pair of spins is given by

(12) H ^ J = 2 π J I ^ 1 I ^ 2 = 2 π J I ^ 1 x I ^ 2 x + I ^ 1 y I ^ 2 y + I ^ 1 z I ^ 2 z = π J 1 / 2 0 0 0 0 - 1 / 2 1 0 0 1 - 1 / 2 0 0 0 0 1 / 2 ,

where J is the J coupling between the two spins (in Hz). Compared with the Zeeman Hamiltonian (see Eq. 10), the J-coupling Hamiltonian has the particularity to have off-diagonal elements in the {|αβ,|βα} subspace, which implies that the J interaction mixes the |αβ and |βα states. In other words, due to the J interaction, these two states are no longer eigenstates of the spin system.

In the case of a system of n spins 1/2, the same procedure can be applied to define the angular momentum operators and the Hamiltonians. These operators can be represented as 2n×2n matrices. Their Zeeman basis can be constructed as in Eq. (9), taking all possible combinations of |α and |β states of the individuals spins. Equations (6) and (7) generalize to

(13) I ^ k z = l = 1 n u ^ l z 2 × 2 where u ^ l z 2 × 2 = 1 ^ 2 × 2 if l k , I ^ z 2 × 2 if l = k ,

where and I^kz is the z angular momentum operator of spin k in an n-spin Hilbert space, and 1^2×2 and I^z2×2 are the identity operator and the z angular momentum operator in a single-spin Hilbert space, respectively. The z projection of total angular momentum operators is given by

(14) I ^ z = l = 1 n I ^ l z .

Equations (13) and (14) are shown for z operators but apply similarly for x and y operators. The reader is encouraged to compute the matrix representations of these operators using the MATLAB codes provided in the Supplement. The Zeeman Hamiltonian for a system of n spins is given by

(15) H ^ Z = - l = 1 n γ l B I ^ l = - l = 1 n γ l B x I ^ l x + B y I ^ l y + B z I ^ l z ,

where γl is the gyromagnetic ratio of spin l. The J Hamiltonian in the same space is given by

(16) H ^ J = 2 π l > k n J l k I ^ l I ^ k = 2 π l > k n J l k I ^ l x I ^ k x + I ^ l y I ^ k y + I ^ l z I ^ k z ,

where Jlk is the J coupling between spins l and k (in Hz). Because a spin is not J coupled to itself, the sum in Eq. (16) does not include terms with l=k. Furthermore, to avoid counting terms twice, terms with l<k are not included either, leaving only l>k terms. The expression of the Zeeman Hamiltonian and J Hamiltonian in Eqs. (15) and (16), respectively, are valid both at high field and at ZULF. What makes the difference between the two regimes is the relative intensity of the two contributions.

2.4 Define the initial state – compute the initial density matrix

The state of a spin system during an NMR experiment is described by a density operator. If |ψ is a ket representing the state of the system as a linear combination of basis states (like those defined in Eqs. 1 and 9), the density operator is given by

(17) ρ ^ = ψ ψ ,

where the upper bar represents the ensemble average over all identical spin systems in the sample – the operation performed by the density operator. This averaging makes the density operator formalism well-suited for NMR, where the experiment consists of observing a large number of identical spin systems at the same time rather than a single spin system. The matrix representation of the density operator (and of any other spin operator) is achieved by calculating all the matrix elements ρrs=rρ^s, where |r and |s are basis states. For example, the matrix representation of the density operator for the |α and |β states of a single spin yields

(18) ρ ^ α = α α = 1 0 1 0 = 1 0 0 0 , ρ ^ β = β β = 0 1 0 1 = 0 0 0 1 .

To start a simulation, we need to determine the density matrix of the system at the initial point of the experiment. We assume that the sample has spent enough time in the prepolarizing magnet to reach thermal equilibrium; that is, the spin system follows Boltzmann's distribution of states. In this case, the density matrix is given by

(19) ρ ^ eq = exp - H ^ k B T Z ,

where H^, kB, and T are the Hamiltonian operator of the spin system, Boltzmann's constant, and the temperature, respectively. Operation exp ( ) denotes the matrix exponentiation. Note that this operation does not consist of applying f(x)=exp (x) to each element of the matrix. It is a more complex operation, which is realized in MATLAB by the built-in function expm (rather than exp). Z is a normalization constant, which ensures that the density matrix has unit trace. It is given by

(20) Z = Tr exp - H ^ k B T .

The prepolarizing step of the experiments that we intend to simulate occurs in a strong magnetic field (in the sense that the Zeeman interaction is largely dominating all other interactions), as in a standard high-field experiment. In this case, we can compute the thermal equilibrium by taking only the Zeeman terms into account. For a single spin with Larmor frequency ω0 and gyromagnetic ratio γ in prepolarizing field Bp, the thermal equilibrium density matrix yields

(21) ρ ^ eq = exp - ω 0 I ^ z k B T Z = exp + γ B p I ^ z k B T Z = 1 + P 2 0 0 1 - P 2 = 1 2 1 ^ + P I ^ z ,

where P is the polarization of the nucleus along the z axis (for positive γ, it corresponds to the population excess of the |α state with respect to the |β state), defined by

(22) P = tanh γ B p 2 k B T .

Note that the use of in the expression of the Hamiltonian (i.e., expressing the energy in joules) cannot be avoided here, to ensure consistency of units. To obtain the expression on the right-hand side of Eq. (21), we have jumped several steps of calculation which are all based on the definition of polarization. This expression for the density matrix is exact for a spin whose only interaction is the Zeeman interaction, which we have assumed here.

For an n-spin system, we take the Kronecker product of density matrices of individual spins ρ^eq,l2×2.

(23) ρ ^ eq l = 1 n ρ ^ eq , l 2 × 2 = l = 1 n 1 ^ 2 × 2 2 + P l I ^ z 2 × 2 1 ^ 2 n + 1 2 n - 1 l = 1 n P l I ^ l z

The first approximation in this expression comes from the fact that it neglects all spin–spin interactions. The second approximation comes from the fact that we neglect multiple-spin order terms, which are proportional to the products PlPk, where Pl and Pk are the polarizations of spin l and k, respectively. This approximation is valid unless the system is highly polarized, which is the case even at very high field (without hyperpolarization). To avoid confusion, we specified that the operators ρ^eq,l2×2, 1^2×2, and I^z2×2 act on a single-spin Hilbert space (2×2 matrix). On the contrary, the operators 1^ and I^lz act on spin states of n spins, and accordingly their matrix representations have dimension of 2n×2n (for spins 1/2). As shown by Eq. (23), one may compute the density matrix either using the Kronecker product of operators in a single-spin Hilbert space or by summing the operators in a Hilbert space of n spins.

In many textbooks (Hore et al., 2015; Levitt, 2013), one encounters simplified expressions of the density operator. First, it is common to remove the identity component:

(24) ρ ^ eq ρ ^ eq - 1 ^ 2 n ,

where n is the number of spins in the system. Because all operators commute with the identity, this does not affect the result of propagation. The resulting expression is simpler (ρ^eq=PI^z2×2 for a single spin), which is convenient for calculations by hand. It may also make the numerical propagation faster and more precise. Another common simplification is to drop the polarization factor. For a single spin, the two combined simplifications yield

(25) ρ ^ eq I ^ z .

Simplifications are useful, but they should be handled with care. The polarization factor P is different for spins with different gyromagnetic ratio. If it is dropped without introducing further corrections, the relative sizes of the population of spins with different gyromagnetic ratios will not be respected. In the simulations presented here, we will compute the initial density matrix using the transformation of Eq. (24) but not that of Eq. (25).

2.5 Propagate the density matrix under the Hamiltonians

We have seen how to compute the initial density matrix and the matrix representation of the Hamiltonian. We now describe how the evolution of the system (represented by the density matrix) evolves with time under a given Hamiltonian. This will be used at several steps of the simulation: when the sample is brought adiabatically to ZF, during the pulse, and during the signal measurement.

The evolution of a quantum system with time is given by the time-dependent Schrödinger equation. Its equivalent for the evolution of density matrix is the Liouville–von Neumann equation ddtρ^t=-iH^t,ρ^t, which has the solution

(26) ρ ^ t = U ^ t ρ ^ 0 U ^ - 1 t ,

where ρ^0 is the density matrix at t=0, and U^ is the propagator during time t, which is defined as

(27) U ^ t = exp - i H ^ t ,

where H^ is the total Hamiltonian. The operation of Eq. (26) “takes” the spin system from ρ^0 to ρ^t. Again, note that exp ( ) denotes the matrix exponentiation and not the element-by-element exponentiation. An important case of propagator is the rotation operator. For an angular momentum operator I^μ, with μ{x,y,z}, the propagator exp-iI^μθ is called a rotation operator; it represents a rotation of the spins of angle θ around axis μ, when applied to the density matrix using Eq. (26). For a single spin subject to a static magnetic field along the z axis, the total Hamiltonian is the Zeeman Hamiltonian (see Eq. 5) which causes the spin to rotate around the z axis; this rotation can be expressed using the rotation operator exp-iH^t=exp-iω0I^zt with angle ω0t.

The brute force calculation of the exponential operator in an arbitrary basis is computationally challenging as it requires calculating the Taylor expansion of the H^ operator, which can be calculated analytically only in a few cases, like the propagators of the Iz, Ix, and Iy operators. To avoid this, the calculation of the propagator (Eq. 27) is usually performed by diagonalizing the Hamiltonian and then taking the complex exponent for each of its eigenvalues, exp (−iωkt), where ωk denotes the kth eigenvalue. Therefore, the transformation to the eigenbasis of the Hamiltonian implicitly happens during most spin dynamics simulations, meaning that, even if it was not set by the user, this is likely done by the linear algebra packages of the software. One may note that the basis does not affect the result of the calculation, but the choice of a more appropriate one may help rationalize the problem. In many cases, the initial choice is the Zeeman basis, in which spin operators are readily introduced based on Kronecker products of the Pauli matrices. Depending on the symmetry of the problem, it might be more convenient to change the basis to another one. As we will see in Sect. 4.1, a choice of coupled basis is preferable for understanding the zero-field J spectroscopy of coupled spins.

It is important to remark that Eq. (27) is only valid if the Hamiltonian is constant during the evolution period. The case where the Hamiltonian is time dependent is treated below. Note that the propagator is a unitary operator and therefore has the convenient property that its inverse is equal to its complex transpose (i.e., U^-1=U^), which is much faster to compute than the matrix inverse U^-1.

Equations (26) and (27) allow us to know the state of the system at any time t from the initial time t=0. To simulate the signal produced by the spin system during the course of the experiment, we must calculate the time domain signal at different time points. Note that in this case the Hamiltonian remains constant during free evolution. To calculate the signal at fixed time steps, it is convenient to first calculate the propagator U^(dt) over period dt. We then apply Eq. (26) recursively to get the new density matrix ρ^tk+1 from the previous one ρ^tk,

(28) ρ ^ t k + 1 = U ^ d t ρ ^ t k U ^ - 1 d t ,

where tk+1-tk=dt. To simulate ZULF spectra, we will also encounter situations where the Hamiltonian is time dependent. First, the Hamiltonian can vary with time but be “constant by block”. This is, for example, the case for the sudden field drop; the system is under a certain Zeeman Hamiltonian in the beginning of the experiment and suddenly under the ZULF Hamiltonian during detection. This situation does not present particular difficulties; the evolution of the system can be described step by step by both Eqs. (26) and (28).

Second, the Hamiltonian can vary continuously, as in the case of the adiabatic field drop, where the intensity of the magnetic field is ramped down to zero. This event can be simulated by propagating the evolution of the system during time intervals which are sufficiently short for the Hamiltonian to be considered constant during this time interval. The propagator must then be computed for each time increment. The form of the equation for propagation is similar to Eq. (28),

(29) ρ ^ t k + 1 = U ^ t k t k + 1 ρ ^ t k U ^ - 1 t k t k + 1 ,

where the propagator is given by

(30) U ^ t k t k + 1 = exp - i H ^ ( t k ) d t ,

where H^(tk) is the Hamiltonian at time tk. Note that the choice of H^(tk) rather than H^(tk+1) in Eq. (30) is arbitrary, but in the limit of small intervals, the choice has no consequence.

2.6 Extract expectation values from the propagation

The propagation procedure described above gives access to the density matrix along time. To simulate the time domain signal, we need to extract a physical quantity from the density matrix as it evolves with time. The measured physical quantity of a ZULF experiment is the magnetic field produced by the nuclear spins of the sample at the location of an OPM. In a first approximation, we can consider that the whole sample is a point dipole interacting with the OPM and that this total dipole is the sum of the dipoles of the individual spin systems (Fig. 2 gives a visual representation of the approximation). Whether this approximation is appropriate or not depends on the geometry of the experimental setup. We have chosen the z axis as the quantization axis (defined by the detector, i.e., the OPM). Therefore, the physical quantity that we need to compute is the total magnetic field produced by the spins along the z axis at the location of the vapor cell:

(31) B z = μ 0 2 π μ ^ z tot r 3 = μ 0 2 π N μ ^ z r 3 ,

where μ^ztot, μ0, N, μ^z, and r are the magnetic moment of the sample along the z axis, the permeability of free space, the number of identical spin systems in the sample, their individual magnetic moments along the z axis, and the distance between the center of the sample and the center of the vapor cell, respectively.

Figure 2Comparison of the real geometry of the sample of the OPM with the approximated one. The arrows represent local magnetization vectors parallel to the total magnetization vector.


For each identical spin system, we then compute the magnetic moment as the sum of the contributions of each spin l.

(32) B z = μ 0 2 π N r 3 l = 1 n μ ^ l z = μ 0 2 π N r 3 l = 1 n γ l I ^ l z ,

where μ^lz, γl, and I^lz are the magnetic moment, the gyromagnetic ratio, and the angular momentum along the z axis of spin l, respectively. Note that n and N represent the number of spins in the molecule and the number of molecules in the sample, respectively. The notation 〈 〉 denotes the expectation value of a quantity. Particularly important ones are those that can be physically measured in the experiment. In the density matrix formalism that we are using, the expectation value of a physical quantity related to an operator A^ is given by

(33) A = Tr A ^ ρ ^ ,

where Tr{} denotes the matrix trace, i.e., the sum of all diagonal elements of the matrix representation of the operator. Note that the expectation value of μ^lz (or I^lz) is proportional to the polarization level of spin l which was accounted for in Eqs. (21) and (22). Therefore, the total magnetic moment calculated with Eq. (32) depends on the polarization of the different spin species.

If ρ^t is the density matrix at time t, we obtain the signal S(t) measured by the OPM by plugging Eq. (32) into Eq. (33)

(34) S t = B z t = μ 0 2 π N r 3 Tr O ^ ρ ^ ( t ) ,

where we have defined a “detection operator”,

(35) O ^ = l = 1 n γ l I ^ l z .

To obtain Eq. (34), we have used the fact that taking the trace of a matrix is a linear operation, and so the trace of a sum is the sum of the traces.

In the case of a sample with volume V=100µL of 13C-formic acid prepolarized at 2 T at 298 K, with molar mass of 46 g mol−1 and density of 1.22 g mL−1, one finds that the amplitude of the magnetic field generated by the sample at a distance of r =1 cm is on the order of 10 pT using the above equations. This estimation does not take into account demagnetization effects caused by distribution of spins in space, giving the upper limit for the expected field. Experimentally measured magnetic fields are about 10 times smaller (Tayler et al., 2017).

2.7 Fourier transform the expectation values to obtain a spectrum

The time domain signal is what is measured by the ZULF NMR spectrometer. The final step of the simulation is to transform the measured signal from the time domain to the frequency domain using a discrete Fourier transform. Programming environments such as MATLAB or Mathematica are equipped with built-in functions for fast Fourier transformation. We will not discuss the mathematics behind this process, but we will give a few practical hints. Contrary to high-field NMR, ZULF spectra can be obtained with real magnetic field units (rather than arbitrary units). We will show how such units can be obtained.

Let us call t and S the arrays of numbers containing the time and corresponding time domain signal values, respectively, which resulted from the previous steps (note that, in MATLAB's programming environment, such arrays are usually called vectors). Let us call K the number of elements of both arrays (which corresponds to the number of points in the time domain signal). For now, S consists of a sum of oscillating signals which do not decay with time as our simulation did not include relaxation effects. If we perform a Fourier transform on S, we will obtain non-Lorentzian line shapes (with distinctive sinc patterns). We must therefore artificially include relaxation by multiplying the signal with an apodization function, to force the signal to decay to 0. For liquid-state signals, the most common choice is a monoexponential decay which can be expressed as

(36) S k = S k exp - π l B t k = S k exp - t k T 2 ,

where Sk, tk, lB, and T2 are the kth elements of t and S, the line broadening (in Hz), and the coherence time constant (in s), respectively. Note that the coherence time constant is often referred to as the spin–spin relaxation constants or transverse relaxation time constant. The signal intensities Sk define the apodized signal array S. As shown in Eq. (36), we may choose to express the apodization function using either the coherence time constant T2 or the line broadening lB (in Hz), which are related by πlB=1/T2. The former is the time constant at which the time domain signal decays, while the latter is the full width at half height (FWHH) of the frequency domain signals. In order to avoid “truncating” the decay of the time domain signal and the related spectral artifacts, we must fulfill the condition T2taq, where taq=maxtk is the acquisition time (or the length of the signal in the time domain). Typically, we may choose T2 and taq so that taq=5T2. Table 1 summarizes the parameters which were used in this paper.

The apodization function of Eq. (36) yields Lorentzian signals as one would expect. However, without further apodization, the baseline of the spectra will have some distortions (Zhu et al., 1993), with the main distortion being a small offset of the baseline. This problem arises because the time domain signal has its first point at time t=0, so the Fourier transform gives the integral of the first segment of twice larger amplitude than it should be. As proposed by Otting, this baseline offset can be removed by weighting the first and last point of the time domain signal by factor 1/2 (Otting et al., 1986). However, because the integral of the Fourier transform is proportional to the first point of the time domain signal, this apodization does not preserve the integral. To obtain spectra without baseline offset and preserving the integral, we propose to use an apodization function which weights all points by 2 expect for the first and last ones:

(37) S k ′′ = S k 2 S k if k = 1 or L , otherwise ,

where L is the number of points in the Fourier transform (see below). We show in the Supplement that this apodization function preserves the integral (see Supplement S2).

In MATLAB programming language, the function for fast Fourier transformation fft() takes array S′′ as input and returns the frequency domain array which corresponds to the simulated spectrum. Optionally, one may add a second argument L to fft() to include zero-filling in the Fourier transform. Including zero-filling has the advantage of increasing the number of points per FWHH on the spectrum without increasing the computation time of the propagation. Due to MATLAB's Fourier transform convention, it is convenient to retransform the signal with fftshift() in order to obtain a Fourier transformed signal with 0 as the middle frequency. We then divide the output of MATLAB's Fourier transform by the number of points L:

(38) S ν = 1 L F S t ,

where F designates the Fourier transform. The frequency domain signal obtained after this whole procedure has units of magnetic field (e.g., pT). Changing the zero-filling L changes the intensity of the frequency domain signal but preserves the integrals.

MATLAB's fft() function does not generate the frequency array associated with the Fourier transformed signal. The frequency array ν (in Hz) can be generated based on the following expression:

(39) ν k = k L f , k - L 2 ; L 2 - 1 ,

where the sampling frequency (in Hz) is given by

(40) f = K - 1 t aq .

Figure 3Illustration of signal sampling and the effect of undersampling. Panels (a), (c), and (e) represent a cosine oscillating at 1 Hz in gray sampled with various frequencies f (1.3, 3.7, and 7.3 Hz, respectively). The blue dots represent the samples. In each case, the Fourier transform is shown in panels (b), (d), and (f), respectively. When the sampling frequency is lower than 1 Hz, the peak cannot appear at 1 Hz and is therefore found at a fictitious position.


The sampling frequency of the time domain signal gives the maximum frequency that can be appropriately sampled. Figure 3 illustrates the consequence of choosing a sampling frequency which is lower than the maximum frequency. If the sampling frequency is lower than the signal to be sampled, the Fourier transformed signal lies outside the spectral width (between -f/2 and +f/2). However, due to the “refolding effect” of the Fourier transform, the signal still appears in the spectrum but at irrelevant positions. To avoid this, one may repeat the simulation by increasing the sampling frequency and keeping other parameters constant. If the sampling frequency is sufficient, the spectrum should not be affected.

The choice of the parameters discussed in this section and above influences the outcome of the simulation in the same way as it does for the experiment. Once an NMR simulation is running, one might want to play with combinations of f, K, taq, T2, and L until the simulated spectra display convenient features. If one intends to simulate spectra to match experimental data, one might simply perform the simulation with the same f, K, L, and taq values. Table 1 summarizes the parameters which were used in this paper.

Table 1List of parameters that were used to simulate the time domain signals and spectra in Fig. 4.

Download Print Version | Download XLSX

The procedure described here yields an NMR signal which is symmetric around 0. As a consequence, each signal is found both in the positive and negative frequencies, and the integral is split into the two duplicates. Because the experimental procedure that we are simulating does not differentiate negative and positive frequencies, we discard the frequency domain signal corresponding to negative frequencies and multiply the abscissa of the frequency domain signal corresponding to positive frequencies by a factor of 2. This operation corresponds to “folding” the spectrum around ν=0. Note that in high-field NMR, the measured signal is complex and is therefore not split into positive and negative halves. The central frequency of the spectrum at high field is given by the carrier frequency of the spectrometer (e.g., typically 400 MHz for 1H at 9.4 T). Section 2.8 describes this difference between high-field and ZULF NMR in more detail.

Whether the time domain signal which results from the simulation is real or complex, the Fourier transform yields a complex frequency domain signal. To get a spectrum consisting of a signal intensity as a function of the frequency, we must use the real part of the frequency domain signal. Depending on the experiment that we are simulating, we might find that some or all spectral components of the frequency domain signal are not in phase. To compensate for this, one might apply a phase correction by multiplying each point of the frequency domain signal by a complex constant exp iϕ, where φ is the phase correction before taking its real part.

(41) I r ν = Re I c ν exp i ϕ ,

where Ir(ν) and Ic(ν) are the real and complex frequency domain signals, respectively.

In summary, the Fourier transform procedure that we have described has the following steps:

  1. Apply a monoexponential apodization window to the time domain signal so that it decays to 0 (see Eq. 36).

  2. Apply the apodization described by Eq. (37) to avoid baseline artifacts in the frequency domain signal.

  3. Obtain the complex frequency domain signal by Fourier transforming the time domain signal using a fast Fourier transform algorithm.

  4. Generate the corresponding frequency axis using Eqs. (39) and (40).

  5. Remove the negative frequencies from both the frequency axis and the frequency domain signal and multiply the abscissa of the frequency domain signal by 2 to account for the partition of the signal integral between positive and negative frequencies.

  6. Take the real part of the signal after applying an optional phase correction (see Eq. 41).

2.8 Comparison with high-field NMR

We conclude this theory section by listing the main differences between high-field and ZULF NMR, which are summarized in Table 2. As is the case for the rest of the paper, our description is limited to small molecules containing spin 1/2 in the liquid state.

At high magnetic field, the Zeeman interaction is much larger than the J coupling and therefore dominates the dynamics. Furthermore, the Larmor frequency of the spins (which results from the Zeeman interaction) is slightly shifted by the presence of the electron cloud around the nuclei. This phenomenon, called the chemical shift, gives a slightly different Larmor frequency for nuclei in different positions in a molecule, which spreads over typically 10 and 200 ppm around the Larmor frequency for 1H and 13C spins, respectively. At ZULF, the J coupling dominates while the Zeeman interaction is a perturbation, and the chemical shift plays no role (in that it is a small perturbation of a small perturbation).

In Fig. 1 and in the simulations presented in this paper, we have assumed that the detector was positioned below the sample (along the z axis in our axis convention) and that it was sensitive to magnetic field along the z axis. Although this choice is typical, it is not the only possibility. In common high-field experiments, the oscillating signal emitted by the spins is recorded perpendicular to the static magnetic field. Detection at ZULF is performed with magnetometers that are sensitive to the total magnetic field produced by the sample. The operator corresponding to this observable is the sum of the magnetic moment of the spins along the sensitive axis of the OPM (see Eq. 34). In typical experiments, a single detector is used, which results in a real signal. Note that an imaginary ZULF signal could be obtained if the OPM were to have several sensitive axes or more than one detector were used. High-field NMR uses Faraday induction in pickup coils. Signals originating from different nuclei are usually not observed in the same experiment as their Larmor frequencies are too far apart, and the NMR coils are only sensitive over a limited bandwidth. The operator corresponding to inductive detection in pulsed NMR is non-Hermitean and therefore yields complex signals. An extra step of the acquisition process at high field that is not required at ZULF is modulating the signal recorded by the coil with a carrier frequency. Indeed, the NMR coil picks up a signal at the Larmor frequency of the spins, which is too high to be digitized (e.g., 400 MHz for 1H at 9.4 T). Instead, the signal is mixed with a carrier frequency, and only the difference is digitized, over a small bandwidth (e.g., over 10 ppm, corresponding to 4 kHz for 1H spins at 9.4 T). The signals at ZULF can be detected without mixing the frequency as the they are sufficiently low to be digitalized directly. For more details on the signal modulation at high field, the reader is referred to chapter 4 of James Keeler's book Understanding NMR spectroscopy (Keeler, 2010).

The code in Supplement S3 presents in great detail the simulation of the spectra for a pair of J-coupled 1H and 13C spin pairs at ZF and ULF and at high field for both 1H and 13C (9.4 T; Stern and Sheberstov, 2023). The code is decomposed in sections corresponding to Sect. 2.1 to 2.7 of the text above, and, whenever possible, the equations presented in this paper are referenced in the code. The reader is encouraged to open this code to understand the difference between simulating a spectrum at high field and at ZULF. The code can be opened in PDF, including the figures, for those who do not have a MATLAB license.

Table 2Comparison between high-field and ZULF NMR for typical experiments. Note that quadrature detection (and thus imaginary signals) is possible at ZULF, although uncommon. SQUID stands for superconducting quantum interference device.

Download Print Version | Download XLSX

3 Results of numerical simulations

3.1 Excitation schemes on an XA spin system

The ZF and ULF spectra of an XA spin system with a J coupling of 140 Hz were simulated for different experimental sequences, assuming that the sample consists of 100 µL of solution where the spin system has a concentration of 27 mol L−1. The code and its PDF version are presented in Supplement S4. Figure 4 shows the experimental sequences, as well as the simulated time domain and frequency domain signals. For all simulations, the sample was assumed to have spent sufficient time in a prepolarizing field of 2 T at 298 K to be at Boltzmann's equilibrium. The polarizations of the 13C and 1H spins were calculated using Boltzmann's distribution (see Eq. 19) and used to compute the single-spin density matrices of the 13C and 1H spins, ρ^eq(13C) and ρ^eq(1H) (see Eq. 21). The density matrix of the two-spin system was computed by taking the Kronecker product of the single-spin density matrices ρ^0=ρ^eq(13C)ρ^eq(1H) (see Eq. 23). The identity was removed from the two-spin density matrix using Eq. (24). The resulting density matrix was assumed to represent the initial state of the simulation (as explained above, only the Zeeman terms are considered to contribute to the initial state). For each experimental sequence, the spectrum was simulated both at 0 nT (including only the J Hamiltonian H^J; see Eq. 12) and with a basis field of 0.5 µT along the x axis, that is, orthogonal to both the direction of the prepolarizing field and the sensitive axis (including both the J Hamiltonian H^J and the Zeeman Hamiltonian H^Z; see Eqs. 12 and 10). The time domain signal was computed by propagating the density matrix under the effect of the Hamiltonian for a total time of 5 s (parameter taq), discretized into 4096 points (parameter K), and corresponding to time intervals dt of 1.2207 ms (parameter τD). Prior to the propagation loop, the ZF and ULF propagators U^ for this particular time step dt (see Eq. 30) and the observable operator O^ (see Eq. 35) were computed only once.

Figure 4Excitation schemes for an XA spin system corresponding to 13C and 1H spins with a J coupling of 140 Hz and corresponding simulated time domain signals and spectra. The vertical dashed line indicates the J coupling. The time domain signal was computed by propagating the density matrix under the effect of the Hamiltonian for a total time of 5 s (parameter taq), discretized into 4096 points (parameter K), and corresponding to time intervals dt of 1.2207 ms (parameter τD). A monoexponential apodization function was applied to the time domain signal, with a coherence time constant T2 of 1 s. The apodized time domain signal was Fourier transformed with zero-filling to 65 536 points.


The density matrix was propagated from time tk to time tk+1=tk+dt under the Hamiltonian (ZF or ULF) using the formula ρ^k+1=U^ρ^kU^-1=U^ρ^kU^ (see Eq. 29). At each time point k of the propagation (realized by a “for” loop), the signal intensity of the time domain signal was extracted from the density matrix using the trace TrO^ρ^k (see Eq. 33) (in pT). In theory, the trace of a Hermitean operator should be real. However, due to the finite machine precision of the numeric algorithm, the trace can sometimes contain a nonzero imaginary part. This residual imaginary part is discarded by taking the real part of the trace ReTrO^ρ^k. This point might appear secondary, but dealing with complex numbers while thinking they are real can lead to mistakes. After propagation, a monoexponential apodization function was applied to the time domain signal (see Eq. 36), with a coherence time constant T2 of 1 s. A second apodization function was applied to avoid baseline artifacts (see Eq. 37). The apodized time domain signal was Fourier transformed with zero-filling to 65 536 points, using MATLAB's built-in functions. The real part of the Fourier transform is shown in Fig. 4. The frequency axis of the spectra was computed using Eqs. (39) and (40). The spectra are symmetric around zero, and so it is common to work only with the positive frequencies as shown in Fig. 4.

Simulating the sudden field drop experiment is the simplest case presented here. Because the coherence excitation scheme (or mixing) only consists of bringing the spin from high magnetic field to ZF or ULF, the simulation only consists of propagating the high-field thermal equilibrium density matrix under the ZF or ULF Hamiltonian. The ZF spectrum consists of one line at the J coupling and one at zero frequency (see Fig. 4a). Including a bias field of 0.5 µT along the x axis (ULF case) splits the J peak as well as the line at zero frequency.

The simulations presented in Fig. 4b–d feature an adiabatic field drop. We used a monoexponential field drop from Bstart=200µT to 0 occurring over tdecay=0.5 s with a decay time constant of τ=0.05 s, described by

(42) B t = B start exp - t τ - exp - t decay τ 1 - exp - t decay τ ,

which fulfills the conditions B(0)=Bstart and B(tdecay)=0. During the field drop, the Hamiltonian H^t=H^J+H^Zt is time dependent. This step thus cannot be simulated in a single propagation step. Instead, it must be discretized into substeps dt that are sufficiently short for the Hamiltonian to be considered time independent. Here, the 0.5 s time interval was discretized into 5000 steps of 0.1 ms. At time t=0, the density matrix is the thermal equilibrium density matrix ρ^eq obtained above. At each time step tk, the propagator U^tktk+1=exp-iH^(tk)dt is computed (see Eq. 30), and the density matrix is propagated from time tk to time tk+1=tk+dt (see Eq. 29) under the Hamiltonian H^tk=H^J+H^Ztk. We name ρ^adia the density matrix obtained after this process. A question arises here: is this magnetic field drop that we have chosen sufficiently slow to be considered adiabatic? In other words, is ρ^adia stationary? A simple way to ensure that it is the case is to simulate the spectrum at ZF after the magnetic field drop without any excitation pulse, that is, taking ρ^adia as the density matrix at time t=0, ρ^0. If the transition is adiabatic, then the system should remain stationary; that is, the time domain signal should feature no oscillation and the spectrum no peak. Figure 4b shows the result of this procedure, which confirms that the transition is adiabatic. The only feature of the ZF spectrum in Fig. 4b is the line at zero frequency. This line originates from the non-oscillating magnetization decaying with T2, which is the result of the apodization function that we have applied. Verifying that the ZF spectrum is flat also ensures that the field drop was discretized into sufficiently short time intervals dt.

The density matrix after the adiabatic field drop ρ^adia obtained above was used for the simulations presented in Fig. 4c–d. In the experimental sequences of Fig. 4c–d, the adiabatic field drop is followed by a magnetic field pulse either along the z or x axis. This was simulated by propagating ρ^adia under the pulse Hamiltonian to obtain ρ^0=U^pτpρ^adiaU^pτp, where U^pτp is the propagator of the pulse Hamiltonian H^p=H^J+H^Z, which acts on the density matrix during pulse length τp. The Zeeman Hamiltonian depends on the magnetic field intensity of the pulse Bp and its direction (see Eq. 15). For the z-axis pulse, we used a pulse intensity and length of 50 µT and 150 µs, respectively. For the x-axis pulse, we used a pulse intensity and length of 50 µT and 910 µs, respectively. These choices are justified in the next section. The resulting density matrices ρ^0 were used as the density matrix at time t=0 of the time domain signal, which was computed and Fourier transformed as described above. In the case of the z-axis pulse experiment, the peaks of interest (J peak at 140 Hz) were found to be out of phase; a phase correction eiϕ with ϕ=π/2 was thus applied to the Fourier transform. Adjusting the phase for the J peak caused the lower-frequency peaks to be out of phase. Interestingly, in Fig. 4d, the intensity of the J peak is higher than for the other excitation schemes while the lower-frequency peaks are suppressed, indicating that all the available polarization has been transferred to the J peak.

3.2 Rabi oscillation curves

The pairs of magnetic field intensity and length of the pulses used for the simulation in Fig. 4d were chosen by simulating Rabi curves for both the z- and x-axis pulses. The high-field NMR equivalent to the Rabi curve is the “nutation experiment”, which consists of recording a series of NMR detections while keeping the RF pulse power constant and varying the pulse length (or the pulse length is kept constant and the amplitude is varied; Tayler et al., 2017). The nutation or Rabi curve is the plot of the signal intensity as a function of the varied parameter. It allows one to determine the pair of RF power and pulse length which maximizes the signal intensity. Except in the presence of rapid relaxation effects or RF field inhomogeneities, the observed curve is sinusoidal. At ZULF, the Rabi curve is more complex and depends on the spin system under scrutiny. To simulate the Rabi curve at ZF, we repeated the simulation of the ZF spectra for an experiment with an adiabatic field drop (using the same parameters as above) followed by a pulse of 50 µT along the z and x axes, varying the pulse length from 0 to 3000 µs (the code and its PDF version are presented in Supplement S4). The time domain signal was Fourier transformed as described above, and the frequency domain signal was integrated from 138 to 142 Hz. The signal integral of the J peak is plotted as a function of the pulse length in Fig. 5. The signal integral of the sudden drop experiment is shown as a horizontal dashed line for comparison. When a pulse along the z axis is used, a simple sinusoidal curve is obtained, and its maximum matches that of the sudden drop experiment (see Fig. 5a). The first maximum is reached for a pulse length of 150 µs. When a pulse along the x axis is used, a more complex pattern is obtained, and the maximum is found to be 1.64 times higher than the sudden drop experiment (see Fig. 5b). The first global maximum is reached for a pulse length of 910 µs.

Figure 5Rabi curves at ZF with excitation pulses along z (a) and x (b) axes applied to an XA spin system. The horizontal dashed line represents the signal integral of the sudden drop ZF experiment. The time domain signal was computed by propagating the density matrix under the effect of the Hamiltonian for a total time of 5 s (parameter taq), discretized into 4096 points (parameter K), and corresponding to time intervals dt of 1.2207 ms (parameter τD). A monoexponential apodization function was applied to the time domain signal, with a coherence time constant T2 of 1 s. The apodized time domain signal was Fourier transformed with zero-filling to 65 536 points. The frequency domain signal was then integrated from 138 to 142 Hz. The Rabi curve represents the integral compared with the excitation pulse length.


3.3 XAn spin system

The simulations shown up to this point only deal with an XA spin system, which typically corresponds to 13C-formate (or 13C-formic acid), where the 13C spin interacts with a single 1H through a J coupling of 195–222 Hz (Blanchard and Budker, 2016; Tayler et al., 2017) (depending on experimental conditions). 13C,15N-cyanide groups are also interesting two-spin systems which were used in ZULF experiments (Blanchard et al., 2020, 2015). We now extend the simulation to incorporate multiple A spins. An XA2 spin system is, for example, met in 13C-glycine (Put et al., 2021). XA3 spins are met in a number of molecules containing methyl groups such as 13C-pyruvate (Barskiy et al., 2019). XA4 (for example 15N-ammonium cation; Barskiy et al., 2019) and XA5 are less common, but they are presented here to show the pattern that arises when adding spins.

Figure 6 shows the simulated spectra for sudden drop experiments with detection at ZF and ULF of XAn spin systems with n=1,2,,5, where X represents a 13C spin, and An represents 1H spins with a J coupling of 140 Hz between X and A spins and 10 Hz among A spins (the code and its PDF version are presented in Supplement S5). All the relevant mathematics to construct the operators of an m=n+1 spin system are given in the Theory section. For an XA5 spin system, the Hilbert space has 26=64 dimensions (and related operators). To avoid constructing each operator manually, recursive formulae were used (see Eqs. 13 and 23). The time domain signal was computed by propagating the density matrix under the effect of the Hamiltonian for a total time of 5 s (parameter taq), discretized into 8192 points (parameter K), and corresponding to time intervals dt of 0.6104 ms (parameter τD). A monoexponential apodization function was applied to the time domain signal, with a coherence time constant T2 of 1 s. The apodized time domain signal was Fourier transformed with zero-filling to 32 768 points.

Figure 6Simulation of ZF and ULF spectra after sudden field drop for XA, XA2, XA3, XA4, and XA5 spin systems with a J coupling of 140 Hz between X and A spins and 10 Hz among A spins. The time domain signal was computed by propagating the density matrix under the effect of the Hamiltonian for a total time of 5 s (parameter taq), discretized into 4096 points (parameter K), and corresponding to time intervals dt of 1.2207 ms (parameter τD). A monoexponential apodization function was applied to the time domain signal, with a coherence time constant T2 of 1 s. The apodized time domain signal was Fourier transformed with zero-filling to 32 768 points.


Increasing the number of A spins increases the number of spectral components in the spectrum. A known result of ZULF NMR appears in this simulation: for odd numbers of n, the ZF spectrum features lines at integer multiples of the J coupling kJAX with k[[1;(n+1)/2]], while for even numbers of n, it features lines at half-integer multiples of the J coupling kJAX/2 with k[[1;n/2]]. Adding a 0.5 µT bias field along the x axis during detection (that is, performing ULF detection) splits the J lines. The higher the multiple of the J line, the greater the number of splittings. Note that the intensity of NMR signals at high field increases upon adding more equivalent spins to the spin system. The analysis of Fig. 6 shows that this logic does not apply to the J lines for the ZULF case, where the spectrum completely changes upon changes in the spin topology. For example, note that the amplitude of the J line for the XA system has the same intensity as the J line for the XA2 system (appearing at 3/2JAX frequency). Likewise, the two J lines for the XA3 system have the same total intensity as the two J lines for the XA4 system. An empirical law of conservation of the total spectral intensity for the J lines can be deduced by looking at Fig. 6: indeed, the total intensity of all J lines is the same for any XAn system, assuming equal sample volume, prepolarization, etc. On the other hand, the intensity of low-frequency peaks shown in Fig. 6 is proportional to the total number of spins in the spin system, like in high-field NMR. This is of course expected as these signals are associated with the precession of total magnetization around residual ULF field, and total magnetization is proportional to the number of spins.

4 Interpretation

We are now going to show how to calculate ZULF NMR spectra considering energy levels and transition probabilities rather than through the numerical propagation of the density matrix. We will derive analytical solutions for the XAn system, but the same approach can be used for more complex spin systems. This approach was investigated in the following references: Butler et al., 2013a; Theis et al., 2013; and Emondts et al., 2014. Here we aim to present it with more explanations and explicit derivations, but we limit ourselves to only the simplest spin systems.

The relative contributions of H^Z (see Eq. 10) and H^J (see Eq. 12) terms depends on the magnetic field strength. In the high-field extreme, for a heteronuclear spin system, H^Z is the dominant term, and H^J is considered as a first-order perturbation. In this case, heteronuclei are said to be weakly coupled, and their eigenstates coincide with the Zeeman states (e.g., those in Eq. 9). At zero field, the weak coupling approximation is not valid; the Zeeman states do not correspond to the eigenstates of system. However, it is still possible to calculate analytically the eigenstates for some spin systems, and the simplest case is when all the spins are identical (An system). In this case, the Hamiltonian is represented by only the H^J term, and it commutes with the square of the total angular momentum operator.

(43) F ^ 2 = F ^ x 2 + F ^ y 2 + F ^ z 2 , F ^ μ = l = 1 n I ^ l μ ; μ x , y , z , H ^ J , F ^ 2 = H ^ J F ^ 2 - F ^ 2 H ^ J = 0 ,

where n is the number of spins in the system. It is well known that any pair of commuting Hermitean operators share their eigenspaces (Levitt, 2013). The set of eigenstates which forms an eigenbasis for both operators simultaneously is unique in cases where there are no degeneracies (i.e., all the eigenvalues for both operators are different). When there are degeneracies, the common eigenbasis is not unique. It turns out that H^J and F^2 operators do have degeneracies, and this results in the existence of an infinite number of different shared eigenbases. Let us describe how to find such a set of eigenstates.

4.1 Eigenstates at zero field

The eigenstates of a F^2 operator can be expressed in terms of the total spin and its projection quantum numbers. The conventional way to express them is to use the |F,mF notation, where F denotes the total spin, and mF denotes the projection onto a quantization axis (mF-F,-F+1,,F-1,F). For example, by definition, for a single spin 1/2, we have the sates α1/2,1/2andβ1/2,-1/2. For a pair of spins, we have the three triplet states T+11,1;T01,0;andT-11,-1; and the singlet state S00,0. Any |F,mF state is an eigenstate of the F^2 and F^z operators with the following eigenvalues:

(44) F ^ 2 F , m F = F ( F + 1 ) F , m F , F ^ z F , m F = m F F , m F .

To find the total spin of a system constituted by n spins, one must sum up the angular momenta of the individual spins, which is a common procedure in the field of atomic physics but not so much in NMR. All possible values of the angular momentum of the interacting spins are added up to constitute a set of uncoupled quasiparticles with different total spin. The total spin F of a system constituted by two spins I and S can take the values with steps of 1 between the sum I+S and the absolute value of their difference:

(45) I - S F I + S .

For a pair of spins 1/2, the possible values are F=0,1. For n spins, the summation should proceed until all the possible pairs of the angular momenta of the individual spins are summed up. As an illustration, consider a coupled system of three spins 1/2 (see Fig. 7). First, any two spins are added up together to give F=1 (a triplet) and F=0 (a singlet). Then, the remaining spin 1/2 is added up to the quasiparticles formed in the previous step (spins 1 and 0 in this case). As a result, the initial A3 system is decomposed into three subsystems with total spins of F=3/2, 1/2 (addition of 1 and 1/2), and 1/2 (addition of 0 and 1/2).

Figure 7Procedure for adding up the angular momenta for the A3 spin system.


A useful property of such a decomposition can be illustrated at this point: the total spin operator commutes with all rotation operators (e.g., exp(-iθI^z)); therefore, 3D rotations will never mix terms of the wave function belonging to different total spin, e.g., spin 3/2 with 1/2. At ZF, there is no distinction between directions; therefore, the eigenstates must be invariant with respect to 3D rotations. This also partially explains the existence of an infinite number of eigenbases for F^2, as all different orientations of the {x,y,z} system correspond to different bases.

One can check that the total number of the spin states remains the same after the procedure of adding up the spins. On the one hand, the number of states formed by n coupled spins I equals to (2I+1)n, which is 8 in the considered case. On the other hand, a manifold with a total spin F has 2F+1 different states associated with different possible projections of the spin on the quantization axis. Therefore, there are 4+2+2 states in the considered case.

The explicit form of the resulting eigenstates can be obtained in terms of “uncoupled” spin states, which are constructed as a Kronecker product of the individual Zeeman states (see Eq. 9). The resulting state |F,mF of the addition of two angular momenta (I and S) can be represented as the following linear combination:

(46) F , m F = m I , m S C I , m I , S , m S F , m F I , m I , S , m S ,

where CI,mI,J,mJF,mF represents Clebsch–Gordan coefficients, which are defined by

(47) C I , m I , S , m S F , m F = I , m I ; S , m S F , m F .

Each Clebsch–Gordan coefficient is specified by six numbers: the total spin of the coupled state F, its projection mF, and the total spins of the uncoupled states and their projections (I, S, mI, mS). Coefficient CI,mI,S,mSF,mF represents “how much” of uncoupled state I,mI,S,mS there is in a coupled state |F,mF. The analytical values of the Clebsch–Gordan coefficients can be calculated using recursive expressions, which are available in many software packages and textbooks. Table S1.1 in the Supplement provides the relation between the coupled and uncoupled states for the considered A3 system and shows explicitly how to calculate them. The full set of all possible |F,mF states forms the new basis that is better suited than the Zeeman basis for ZULF NMR. In fact, this basis coincides with the eigenstates at ZULF for An and for XAn systems, but this basis is also a good starting point for more complicated cases. We will refer to this new basis as the “coupled” basis, because it is appropriate for the description of strongly coupled spins.

4.2 Eigenenergies at zero field

Having the eigenstates, we can now proceed with finding the eigenvalues of the Hamiltonian; these values correspond to the energy of the states and therefore determine the frequencies of ZULF NMR transitions. It turns out that An systems are not detectable at ZULF; it is shown in the next section (where intensities of transitions are calculated) that they give rise to no observable transition. At least two types of nuclei with different gyromagnetic ratios are necessary for an observable transition to exist. Therefore, we consider an XAn system from now on. We will denote the operators associated with the X spin as S^ and with A spins as I^. It is also convenient to introduce total spin operators for A spins: F^Aμ=l=1nI^lμ, μ{x,y,z}. The Hamiltonian at ZF for this spin system is given by

(48) H ^ AX = 2 π J AX l = 1 n S ^ I ^ l + 2 π J AA l = 1 n - 1 k > l n I ^ l I ^ k .

The H^AX Hamiltonian can be expressed in terms of the total spin operators using algebraic tricks. We find an expression for the first term of Eq. (48) in terms of F^2, F^A2, and S^2 by developing F^2:

(49) F ^ 2 = S ^ + l = 1 n I ^ l 2 = S ^ 2 + 2 S ^ l = 1 n I ^ l + l = 1 n I ^ l 2 = S ^ 2 + 2 l = 1 n S ^ I ^ l + F ^ A 2 l = 1 n S ^ I ^ l = 1 2 F ^ 2 - S ^ 2 - F ^ A 2 .

Similarly, we find an expression for the second term of Eq. (48) in terms of F^A2 and I^l2 by developing F^A2:

(50) F ^ A 2 = l = 1 n I ^ l 2 = l = 1 n I ^ l 2 + 2 l = 1 n - 1 k > l n I ^ l I ^ k l = 1 n - 1 k > l n I ^ l I ^ k = 1 2 F ^ A 2 - l = 1 n I ^ l 2 .

By substituting the results of Eqs. (49) and (50) into Eq. (48), we obtain a form of the Hamiltonian for which the energies will be more easily calculated:

(51) H ^ AX = 2 π J AX 1 2 F ^ 2 - S ^ 2 - F ^ A 2 + 2 π J AA 1 2 F ^ A 2 - l = 1 n I ^ l 2 .

The H^AX Hamiltonian commutes with the F^2 operator; therefore, they share eigenstates |F,mF. So, the eigenenergies can be written as the expectation values of |F,mF with respect to H^AX:

(52) E F , m F = F , m F H ^ AX F , m F .

To calculate explicitly the eigenvalues, we substitute the Hamiltonian of Eq. (51) into Eq. (52) and use the following properties:

(53) F ^ 2 F , m F = F ( F + 1 ) F , m F , S ^ 2 F , m F = S ( S + 1 ) F , m F , F ^ A 2 F , m F = F A ( F A + 1 ) F , m F , I ^ l 2 F , m F = I l ( I l + 1 ) F , m F ,

to obtain the final expression for the energy of level |F,mF.

(54) E F , m F = J AX 2 F ( F + 1 ) - S ( S + 1 ) - F A ( F A + 1 ) + J AA 2 F A ( F A + 1 ) - n I l ( I l + 1 ) ,

expressed in hertz. Here, quantum number F corresponds to the total spin of the full XAn system, S corresponds to the spin of the nucleus X, FA is the total spin of the An spins, and Il is the spin of individual nuclei A. The energy does not depend on the spin projections, resulting in degeneracy of all 2F+1 levels with equal F.

The spin number S is the same for all eigenstates (e.g., it is 1/2 for 13C); similarly, all spin numbers Il are the same (e.g., for 1H spins they are equal to 1/2). The remaining two quantum numbers F and FA can have different values depending on the state, therefore removing degeneracy between some of the levels. Figure 8 presents the energy levels of XA, XA2, and XA3 systems at ZF calculated using Eq. (54). Mathematica codes to perform these calculations are available in the Supplement (Supplement S6).

Figure 8Energy levels for XA, XA2, and XA3 spin systems calculated according to Eq. (54). The numbers above the energy levels represent the z projection of the angular momentum of the states mF. Allowed transitions are shown by green arrows. JAX was set to 140 Hz, and JAA was set to −12 Hz; these are typical J coupling values for 1JCH and 2JHH. The energy difference for the allowed transitions equals to JAX for the XA system, 3/2JAX for the XA2 system, and two frequencies of 2JAX and of JAX for the XA3 system. This agrees with the numerical simulations shown in Fig. 6.


4.3 Selection rules

We have now found the eigenstates and their energies, but not all transitions between any pair of states are allowed. The last step is to find the transition intensities and thus get the analytical appearance for the ZF NMR spectrum of an XAn system. There are certain selection rules specifying which transitions are in principle possible and which are forbidden, like those in high-field NMR, where only single quantum transitions are allowed. A general expression for the transition intensity between any two eigenstates |F,mF and F,mF is given by

(55) Y = F , m F | ρ ^ 0 | F , m F F , m F | O ^ | F , m F .

We will explicitly calculate the transition intensity for the sudden field drop experiment. In this case, both the initial density operator ρ^0 and the observation operator O^ (see Eq. 35) are proportional to γIF^A,z+γSS^z (as a reminder, F^A,z=l=1nI^l,z). Therefore, the transition intensity becomes

(56) Y = F , m F | γ I F ^ A , z + γ S S ^ z | F , m F 2 .

This expression is an example of Fermi's golden rule, which is used to calculate transition amplitudes in different problems in quantum mechanics. Similar expressions can be found for the high-field NMR. By expressing the coupled states |F,mF in terms of the uncoupled basis (see Eq. 46), we find that

(57) γ I F ^ A , z + γ S S ^ z F , m F = γ I F ^ A , z + γ S S ^ z m A , m S C F A , m A , S , m S F , m F F A , m A , S , m S = m A , m S C F A , m A , S , m S F , m F γ I m A + γ S m S F A , m A , S , m S ,

where mA and mS are the z projection of the total spins FA (for n protons, the maximum value of FA equals n/2, and for each value of FA, mA{-FA,-FA+1,,FA-1,FA}) and the z projection of the spin S (in the case where S is a carbon-13 spin, mS{-12,12}), respectively. Now let us express the remaining F,mF bra in terms of the uncoupled basis as well and combine Eqs. (56) and (57).

(58) Y = ( m A , m S C F A , m A , S , m S F , m F F A , m A , S , m S m A , m S C F A , m A , S , m S F , m F γ I m A + γ S m S F A , m A , S , m S ) 2 = ( m A , m S , m A , m S C F A , m A , S , m S F , m F C F A , m A , S , m S F , m F γ I m I + γ S m S F A , m A , S , m S F A , m A , S , m S ) 2

The last term FA,mA,S,mSFA,mA,S,mS is nonzero only if

(59) Δ F A = F A - F A = 0 , Δ m A = m A - m A = 0 , Δ S = S - S = 0 , Δ m S = m S - m S = 0 .

These selection rules mean that the only allowed transitions are those which conserve the total spins FA and S (S is conserved automatically as it can be only 1/2, but FA can have different values), as well as their projections onto the reference axis. Equation (58) therefore simplifies to

(60) Y = m A , m S C F A , m A , S , m S F , m F C F A , m A , S , m S F , m F γ I m A + γ S m S 2 .

It is important to notice that, in the case where γI=γS, this sum is always null. This is shown in the Wolfram Mathematica code for all observable transitions in XA, XA2, and XA3 systems and can be rationalized in the general case by the following (see Supplement S6). The operator γIF^A,z+γSS^z (which is proportional to the initial density operator ρ^0) can be rewritten as γIF^A,z+S^z+γS-γIS^z. The first term in this expression commutes with the H^AX Hamiltonian (see Eq. 48); therefore, it does not produce any observable coherences, whereas the second term does not commute with the H^AX and leads to ZULF signals.

Finally, there are two more selection rules that are derived by implementing the Wigner–Eckart theorem. The considered case is equivalent to a “dipole” transition, where the transition is observed between two states connected by operator of rank 1 (e.g., Eq. 56). This is a common situation in atomic physics, and we adapt this result without evaluation: the reduced matrix element coming from Wigner–Eckart theorem is shown to be nonzero if and only if

(61) Δ F = ± 1 , Δ m F = 0 .

The whole set of selection rules given by Eqs. (59) and (61) allows one to find which transitions are observable in XAn systems at ZF. These transitions are shown in Fig. 8 by the green arrows. It can be seen that JAA couplings shift the energy levels but do not affect the frequencies of the observable transitions. This is a common situation that J couplings between magnetically equivalent spins do not contribute to the observed NMR spectrum. As can be seen from the analysis presented above, this statement holds for each case of the ZF NMR spectra of XAn systems.

In this section, we analytically found the allowed transitions for XA, XA2, and XA3 for the case of the sudden field drop to ZF. The XA spin system has a single transition at JAX, the XA2 spin system has a single transition at 3/2JAX, and the XA3 spin system has one allowed transition at JAX and another one at 2 JAX. The allowed transitions analytically found here correspond to the numerical simulation: XA single line at JAX, XA2 single line at 3/2JAX, etc. This derivation explained the appearance of the ZF spectra but not that of the ultralow-field spectra. To understand how the degeneracy of the ZF eigenstates are split by the presence of a bias field, one has to use perturbation theory. We refer the interested reader to Ledbetter et al. (2011) and Appelt et al. (2010).

4.4 Rabi oscillation curves

We finish this section on the interpretation of the numerical simulations by giving a short explanation of the Rabi oscillation curves presented in Sect. 3.2 (see Fig. 5). The successful implementation of excitation pulses in ZULF-NMR experiments requires two conditions to be fulfilled (Butler et al., 2013b). First, the constant magnetic field of the pulse should be strong enough so that heteronuclei (here, 1H and 13C spins) can be considered weakly coupled during the pulse. The field of 50 µT satisfies this condition, as the difference in Larmor frequencies between 1H and 13C spins is larger than 1.5 kHz JXA=140 Hz. Second, the pulse must be much shorter than the evolution under the J coupling. Here, the longest pulses that were simulated had a duration of 3 ms, while the characteristic time of the evolution under the J coupling is 1/JXA7.1 ms. Provided these two conditions are met, the product operator formalism can provide a convenient explanation for the results of Fig. 5. Both Rabi oscillation curves in Fig. 5 are rather unusual for high-field NMR, but the reader who is familiar with the product operator formalism at high field will see that there is a strong connection between the algebra describing pulsed experiments at high field and at ZULF. Here, we give a brief summary of how this formalism can be used to understand the Rabi oscillation curves. We recommend the interested reader to look at the following references for a more detailed derivation (Butler et al., 2013b; Blanchard, 2014; Tayler et al., 2017).

After the adiabatic field drop, the magnetization of the sample is proportional to γHI^z+γCS^z and does not evolve. In addition, part of the population is also on the zero-quantum term Z^z=2I^xS^x+I^yS^y, which produces no observable magnetization. Magnetic field pulses are applied to convert one or both of these terms into the observable zero-quantum term Z^x=I^z-S^z. In the case of Fig. 5a where the pulse is applied along the z axis, the pulse converts Z^z into Z^y=2I^xS^y+I^yS^x. The state of the system after the pulse is ρ^τp=Z^zcosγH-γCBzτp+Z^ysinγH-γCBzτp. The excited unobservable Z^y term then starts to evolve into the observable term Z^x under the action of the H^J Hamiltonian, generating an oscillating magnetic field along the z axis. The resulting ZULF signal has a sine rather than a cosine time dependence and requires a π/2 phase correction of the spectrum to have an absorption line as was described in Sect. 3.2. The signal is maximized when the pulse has duration τp=π/2γH-γCBz, which is around 157 µs in the considered case. This is consistent with the simulated Rabi oscillation curve of Fig. 5a. In the case of Fig. 5b where the pulse is applied along the x axis, both initial terms of the density operator, γHI^z+γCS^z and Z^z, are converted into the observable term Z^x. The conversion follows a sinγH+γCBxτp/2sinγH-γCBxτp/2 function, allowing one to excite slightly stronger signals over a slightly longer pulse duration.

5 Conclusion

We have shown how to numerically simulate spectra at both zero and ultralow fields for sudden drop and pulsed experiments. We have then explained the results of the numerical simulation for sudden field drop experiments at ZF by constructing the eigenbasis of the ZF Hamiltonian and finding the allowed transitions among the eigenstates. The other numerically simulated cases (i.e., pulsed experiments) can be explained using the analytical approach that we have presented here. It requires an additional step which is to describe how a pulse converts the populations of the states. The reader who is acquainted with the product operator formalism commonly used in high-field NMR might be interested in an alternative approach based of commutation rules as presented in Blanchard and Budker (2016) and Butler et al. (2013b). We have chosen to describe the simplest cases, i.e., experiments with thermal prepolarization with AXn systems. Using this methodology, the reader can proceed with simulating more advanced cases, where analytical solutions do not exist. This includes calculation of ZULF spectra of molecules with multiple spins (Wilzewski et al., 2017) and molecules containing three or more types of nuclei, e.g., 1H, 13C, 15N, and 2D (Alcicek et al., 2021); the evolution during dynamical decoupling sequences (Bodenstedt et al., 2022a); the ZULF-TOCSY type of spin-locking experiments (Kiryutin et al., 2021); spin evolution at intermediate fields, where perturbation approaches are not valid (Bodenstedt et al., 2021); or the complicated spin dynamics that may occur under the action of composite pulses (Jiang et al., 2018; Bodenstedt et al., 2022b). The formalism we presented here is a good starting point for the description and understanding of hyperpolarized ZULF experiments, e.g., those involving transfer of spin order in parahydrogen experiments at low fields. Simulations are also useful to study different kinds of imperfections such as field inhomogeneities, timing errors, etc. We hope that this tutorial paper has allowed us to share our excitement with the reader.

Code and data availability

The codes used to simulate the spectra presented in this paper are available online (; Stern and Sheberstov, 2023). PDF versions of the codes are available in the Supplement.


The supplement related to this article is available online at:

Author contributions

QS wrote Sects. 1 to 3 and the associated MATLAB codes. KS wrote Sect. 4 and the associated Mathematica code.

Competing interests

The contact author has declared that neither of the authors has any competing interests.


Publisher's note: Copernicus Publications remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.


The authors wish to thank Alice Stern for the drawing used in the key figure and Román Picazo-Frutos for carefully proofreading their manuscript.

Financial support

This research was supported by ENS Lyon, the French CNRS, Lyon 1 University, the European Research Council under the European Union's Horizon 2020 research and innovation program (Marie Skłodowska-Curie “ZULF”, grant agreement no. 766402 and ERC Synergy grant “HISCORE”, grant agreement no. 951459), and the French National Research Agency (project “HyMag” ANR-18-CE09-0013).

Review statement

This paper was edited by Geoffrey Bodenhausen and reviewed by Meghan Halse, Bernhard Bluemich, and two anonymous referees.


Alcicek, S., Put, P., Barskiy, D., Kontul, V., and Pustelny, S.: Zero-Field NMR of Urea: Spin-Topology Engineering by Chemical Exchange, J. Phys. Chem. Lett., 12, 10671–10676,, 2021. 

Appelt, S., Kühn, H., Häsing, F. W., and Blümich, B.: Chemical analysis by ultrahigh-resolution nuclear magnetic resonance in the Earth's magnetic field, Nat. Phys., 2, 105–109,, 2006. 

Appelt, S., Häsing, F. W., Sieling, U., Gordji-Nejad, A., Glöggler, S., and Blümich, B.: Paths from weak to strong coupling in NMR, Phys. Rev. A, 81, 023420,, 2010. 

Barskiy, D. A., Tayler, M. C. D., Marco-Rius, I., Kurhanewicz, J., Vigneron, D. B., Cikrikci, S., Aydogdu, A., Reh, M., Pravdivtsev, A. N., Hövener, J.-B., Blanchard, J. W., Wu, T., Budker, D., and Pines, A.: Zero-field nuclear magnetic resonance of chemically exchanging systems, Nat. Commun., 10, 3002,, 2019. 

Bengs, C. and Levitt, M. H.: SpinDynamica: Symbolic and numerical magnetic resonance in a Mathematica environment, Magn. Reson. Chem., 56, 374–414,, 2018. 

Blanchard, J. W.: Zero and Ultra-Low-Field Nuclear Magnetic Resonance Spectroscopy Via Optical Magnetometry, PhD thesis, UC Berkeley, (last access: 22 March 2023), 2014. 

Blanchard, J. W. and Budker, D.: Zero- to Ultralow-Field NMR, eMagRes, 5, 1395–1410,, 2016. 

Blanchard, J. W., Sjolander, T. F., King, J. P., Ledbetter, M. P., Levine, E. H., Bajaj, V. S., Budker, D., and Pines, A.: Measurement of untruncated nuclear spin interactions via zero- to ultralow-field nuclear magnetic resonance, Phys. Rev. B, 92, 220202,, 2015. 

Blanchard, J. W., Wu, T., Eills, J., Hu, Y., and Budker, D.: Zero- to ultralow-field nuclear magnetic resonance J-spectroscopy with commercial atomic magnetometers, J. Magn. Reson., 314, 106723,, 2020. 

Blanchard, J. W., Budker, D., and Trabesinger, A.: Lower than low: Perspectives on zero- to ultralow-field nuclear magnetic resonance, J. Magn. Reson., 323, 106886,, 2021. 

Bodenstedt, S., Mitchell, M. W., and Tayler, M. C.: Fast-field-cycling ultralow-field nuclear magnetic relaxation dispersion, Nat. Commun., 12, 1–8, 2021. 

Bodenstedt, S., Moll, D., Glöggler, S., Mitchell, M. W., and Tayler, M. C. D.: Decoupling of Spin Decoherence Paths near Zero Magnetic Field, J. Phys. Chem. Lett., 13, 98–104,, 2022a. 

Bodenstedt, S., Mitchell, M. W., and Tayler, M. C. D.: Meridional composite pulses for low-field magnetic resonance, Phys. Rev. A, 106, 033102,, 2022b. 

Butler, M. C., Ledbetter, M. P., Theis, T., Blanchard, J. W., Budker, D., and Pines, A.: Multiplets at zero magnetic field: The geometry of zero-field NMR, J. Chem. Phys., 138, 184202,, 2013a. 

Butler, M. C., Kervern, G., Theis, T., Ledbetter, M. P., Ganssle, P. J., Blanchard, J. W., Budker, D., and Pines, A.: Parahydrogen-induced polarization at zero magnetic field, J. Chem. Phys., 138, 234201,, 2013b. 

Callaghan, P. T. and Le Gros, M.: Nuclear spins in the Earth's magnetic field, Am. J. Phys., 50, 709–713,, 1982. 

Emondts, M., Ledbetter, M. P., Pustelny, S., Theis, T., Patton, B., Blanchard, J. W., Butler, M. C., Budker, D., and Pines, A.: Long-Lived Heteronuclear Spin-Singlet States in Liquids at a Zero Magnetic field, Phys. Rev. Lett., 112, 077601,, 2014. 

Hogben, H. J., Krzystyniak, M., Charnock, G. T. P., Hore, P. J., and Kuprov, I.: Spinach – A software library for simulation of spin dynamics in large spin systems, J. Magn. Reson., 208, 179–194,, 2011. 

Hore, P. J., Jones, J. A., and Wimperis, S.: NMR: The Toolkit: how Pulse Sequences Work, 2nd Edn., Vol. 92, Oxford University Press, ISBN 978-0-19-870342-6, 2015. 

Jiang, M., Wu, T., Blanchard, J. W., Feng, G., Peng, X., and Budker, D.: Experimental benchmarking of quantum control in zero-field nuclear magnetic resonance, Sci. Adv., 4, eaar6327,, 2018. 

Jiang, M., Bian, J., Li, Q., Wu, Z., Su, H., Xu, M., Wang, Y., Wang, X., and Peng, X.: Zero- to ultralow-field nuclear magnetic resonance and its applications, Fundamental Research, 1, 68–84,, 2021. 

Keeler, J.: Understanding NMR spectroscopy, John Wiley & Sons, ISBN 978-0-470-74609-7, 2010. 

Kiryutin, A. S., Zhukov, I. V., Ferrage, F., Bodenhausen, G., Yurkovskaya, A. V., and Ivanov, K. L.: Sequential assignment of NMR spectra of peptides at natural isotopic abundance with zero- and ultra-low-field total correlation spectroscopy (ZULF-TOCSY), Phys. Chem. Chem. Phys., 23, 9715–9720,, 2021. 

Ledbetter, M. P., Crawford, C. W., Pines, A., Wemmer, D. E., Knappe, S., Kitching, J., and Budker, D.: Optical detection of NMR J-spectra at zero magnetic field, J. Magn. Reson., 199, 25–29,, 2009. 

Ledbetter, M. P., Theis, T., Blanchard, J. W., Ring, H., Ganssle, P., Appelt, S., Blümich, B., Pines, A., and Budker, D.: Near-Zero-Field Nuclear Magnetic Resonance, Phys. Rev. Lett., 107, 107601,, 2011. 

Levitt, M. H.: Spin Dynamics: Basics of Nuclear Magnetic Resonance, John Wiley & Sons, 885 pp., ISBN 978-0-470-51118-3, 2013. 

Otting, G., Widmer, H., Wagner, G., and Wüthrich, K.: Origin of t2 and t2 ridges in 2D NMR spectra and procedures for suppression, J. Magn. Reson., 66, 187–193,, 1986. 

Picazo-Frutos, R., Stern, Q., Blanchard, J. W., Cala, O., Ceillier, M., Cousin, S. F., Eills, J., Elliott, S. J., Jannin, S., and Budker, D.: Zero- to Ultralow-Field Nuclear Magnetic Resonance Enhanced with Dissolution Dynamic Nuclear Polarization, Anal. Chem., 95, 720–729,, 2023. 

Put, P., Pustelny, S., Budker, D., Druga, E., Sjolander, T. F., Pines, A., and Barskiy, D. A.: Zero- to Ultralow-Field NMR Spectroscopy of Small Biomolecules, Anal. Chem., 93, 3226–3232,, 2021. 

Schwalbe, H.: Editorial: New 1.2 GHz NMR Spectrometers – New Horizons?, Angew. Chem. Int. Edit., 56, 10252–10253,, 2017. 

Sjolander, T. F.: Advances in Pulsed Zero-Field NMR Spectroscopy, PhD thesis, UC Berkeley, (last access: 22 March 2023), 2017. 

Stern, Q. and Sheberstov, K.: Fourier transform, simulations of spectra, and analytical calculations, Zenodo [code],, 2023. 

Tayler, M. C. D., Theis, T., Sjolander, T. F., Blanchard, J. W., Kentner, A., Pustelny, S., Pines, A., and Budker, D.: Invited Review Article: Instrumentation for nuclear magnetic resonance in zero and ultralow magnetic field, Rev. Sci. Instrum., 88, 091101,, 2017. 

Thayer, A. M. and Pines, A.: Zero-field NMR, Accounts Chem. Res., 20, 47–53, 1987. 

Theis, T.: Advances in Zero-Field Nuclear Magnetic Resonance Spectroscopy, PhD thesis, UC Berkeley, (last access: 22 March 2023), 2012. 

Theis, T., Ganssle, P., Kervern, G., Knappe, S., Kitching, J., Ledbetter, M. P., Budker, D., and Pines, A.: Parahydrogen-enhanced zero-field nuclear magnetic resonance, Nat. Phys., 7, 571–575, 2011. 

Theis, T., Ledbetter, M. P., Kervern, G., Blanchard, J. W., Ganssle, P. J., Butler, M. C., Shin, H. D., Budker, D., and Pines, A.: Zero-Field NMR Enhanced by Parahydrogen in Reversible Exchange, J. Am. Chem. Soc., 134, 3987–3990,, 2012. 

Theis, T., Blanchard, J. W., Butler, M. C., Ledbetter, M. P., Budker, D., and Pines, A.: Chemical analysis using J-coupling multiplets in zero-field NMR, Chem. Phys. Lett., 580, 160–165,, 2013. 

Weitekamp, D. P., Bielecki, A., Zax, D., Zilm, K., and Pines, A.: Zero-Field Nuclear Magnetic Resonance, Phys. Rev. Lett., 50, 1807–1810,, 1983. 

Wikus, P., Frantz, W., Kümmerle, R., and Vonlanthen, P.: Commercial gigahertz-class NMR magnets, Supercond. Sci. Tech., 35, 033001,, 2022. 

Wilzewski, A., Afach, S., Blanchard, J. W., and Budker, D.: A method for measurement of spin-spin couplings with sub-mHz precision using zero- to ultralow-field nuclear magnetic resonance, J. Magn. Reson., 284, 66–72,, 2017. 

Yurkovskaya, A. and Bodenhausen, G.: In memoriam Konstantin L'vovich Ivanov, Magn. Reson., 2, 341–342,, 2021. 

Zhu, G., Torchia, D. A., and Bax, A.: Discrete Fourier Transformation of NMR Signals. The Relationship between Sampling Delay Time and Spectral Baseline, J. Magn. Reson. Ser. A, 105, 219–222,, 1993. 


See, for example, (last access: 21 March 2023).

Short summary
This tutorial paper shows how to simulate NMR spectra at zero to ultralow fields. The process is presented in detail, including the tricks that are usually omitted from research papers and assuming as little prior knowledge from the reader as possible. In this attempt to make NMR simulation approachable, the authors wish to pay tribute to the late Prof. Konstantin L’vovich Ivanov.