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

Abstract 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.


Contents
S1. Explicit calculation of the eigenbasis for XA2 spin system S2.Tests on ideal signals to show the efficiency of the Fourier transform algorithm S3.Simulation of NMR spectra at zero and ultra-low field vs high field S4.Simulation of NMR spectra at zero and ultra-low field -Case of XA spin system S5.Simulation of NMR spectra at zero and ultra-low field -Case of XAn spin system S6.Analytical expressions for the eigenenergies and transition amplitudes of XAn spin systems at zero field The codes presented here as PDF files can be downloaded from this link: https://doi.org/10.5281/zenodo.7758782 S1. Explicit calculation of the eigenbasis for XA2 spin system Below we calculate explicitly the states of the eigenbasis for the XA2 spin system.An arbitrary spin state of the XA2 spin system can be represented as a linear combination of states obtained by direct products of the individual Zeeman states: ℬ  8 = ,  ⊗ ,  ⊗ ,  ; here, the superscript 8 represents the dimension of the Hilbert space.The goal is to explicitly express the eigenbasis of the J-coupling Hamiltonian that governs ZULF evolution in terms of the states of the Zeeman basis ℬ  8 .This is achieved by adding up the angular momenta of individual spins taking into account Clebsch-Gordan coefficients to construct the state (see Eq. 46 of the main text).Figure 7 in the main text illustrates two stages of adding up angular momenta for the XA2 case: A + A and A2 + X.There are four states with total spin F = 3/2 and four more states with total spin F = 1/2.The full specification of an eigenfunction at zero field requires three quantum numbers: the total spin of all three spins F, its projection mF, and the total spin of some of the two spins.Observable transitions at ZULF conserve the total spin of the A2 subsystem (see Eq. 59 in the main text), so it makes sense to consider the eigenfunctions that are characterised by the total spin of A2 subsystem,  2 .Therefore, three quantum numbers |, ,  ⟩ are used to specify all eight eigenstates.
Eq. 46 of the main text gives the expression of the eigenfunctions of the J-coupling Hamiltonian in terms of the Zeeman states and the Clebsch-Gordan coefficients for a pair of spins.Because we are considering three spins, we need to use Eq.46 twice (for each addition operation) yielding the expression: Here,  1 and  are the total spin and its projection of the first spin A, respectively, likewise  2 and  are those for the second spin A, and  and  are the total spin and its projection for spin X, respectively.As an example, let us consider the |3/2, 1/2, 1⟩ state.There are two non-zero Clebsch-Gordan coefficients  , ; , , coupling the two A spins: Each of them is multiplied by the corresponding Clebsch-Gordan coefficient coupling the A2 pair with spin X: So that the resulting eigenstate is: Eq S4 Analogously, one can calculate all the eigenstates that are shown in Table S1.1.The reader is encouraged to check this table.Wolfram Mathematica can be used to compute the value of the Clebsch-Gordan coefficients with the syntax ClebschGordan[{Fa1,ma1},{Fa2,ma2},{FA2,mA2}].
Finally, we note that the resulting eigenbasis is also the eigenbasis for the A3 spin system.One may therefore use it to compute the eigenbasis of the J-coupling Hamiltonian for the XA3 spin system using Eq.46 one more time.
Supplement 6 -Analytical expressions for the eigenenergies and transition amplitudes of XA n spin systems at zero field

Initialization of general functions
(*We first introduce two general functions that are used to calculate the eigenstates and eigenenergies for an arbitrary XA n system.After that we implement these functions for the cases XA, XA 2 , and XA 3 *) (*General expression for the Hilbert dimension of n spins I is given by (2I+1) n *) (*FA is a list containing all possible values of the total spin of A n spin subsystem.It is calculated recursively implementing Eq. 45 of the textfor each (n-1) summation of spins-1/2 *) (*F is a list containing all possible values of the total spin of the full XA n system.The cycle below also updates the F A listbecause not all combinations of (F,F A ) are possible.It is calculated similary as above by using Eq.45 of the text.In this case, just one summation is needed for FA of spin X*) FAPrevious = FA; F = FA; tmp = 1; General: Further output of ClebschGordan::phy will be suppressed during this calculation.
(*It can be seen that transition amplitude is porportional to the difference between gyromagnetic ratios and vanishes in case they are equal.Now let us check if there is an observable transition between S 0 and T +1 *) In General: Further output of ClebschGordan::phy will be suppressed during this calculation.
General: Further output of ClebschGordan::phy will be suppressed during this calculation.
Out[ ]= 0 (*These calculations support the conclusions about the selection rules in the main text and mean that for the AX system at zero field only one transition between the S 0 and T 0 states is observable and only if the two nuclei have different gyromagnetic ratios.*) XA 2 system (*Now let us consider the XA 2 spin system.The same procedure is applied here*) In General: Further output of ClebschGordan::phy will be suppressed during this calculation.General: Further output of ClebschGordan::phy will be suppressed during this calculation.