phil theory of coherence flow
DOCX · 40.9 KB
Open DOCX file
Phil's working notes, apparently written while studying Malcolm Levitt's NMR book. They cover the NMR measurement process and how pulses and gaps transform the density matrix of a two-spin-1/2 system. The notes expand it in spin operator products, apply rotations for pulses and J-coupling evolution for gaps, and conclude that this obscures how coherences evolve. They then begin recasting the density matrix as a vector. Only the first part of the text was seen.
AI-written summary; may contain errors.
Extracted text (machine-read; may contain errors)
Phil's Theory of Coherence Flow.
0. General Remarks
A. Overview of the NMR experimental process
In NMR experiments, thermal motions require the use of the density matrix to evaluate any observable, according to <O> = tr(O). This is why we spent so much time in Levitt working with . In the actual experiment, the "observable" is an electric voltage in a pickup coil which in turn is a measure of the observable <Mx>, the transverse magnetization. The linkage here is: voltage Bx Mx, so we are interested in the parts of which contribute to <Mx>. For a normal NMR experiment where we are looking only at the nominal single-quantum frequency region, the contributing matrix elements of are those that have a single sign in them -- those of coherence order minus one.
An experiment consists of a series of RF pulses separated by time gaps. Each pulse and each gap can have a time width ti, and each pulse can in theory have a frequency fi and start-phase i. One can then calculate the sum of the coherences at the start of the FID time, and can therefore calculate the expected NMR signal. I suppose you could apply overlapping pulses at different frequencies to complicate the picture.
In the experiments I have studied, the pulses intended for a certain type of spin are all applied at the same frequency called ref which is very close to the single-quantum energy gap. The duration of the pulse at this frequency is set such that the pulse's phase duration is /2 or . The starting phase of the pulse is also set to an integral multiple of /2. For example, the (/2)-y pulse has the phase duration set to /2 and the start-phase set to -/2. Because there are small variations in the single-quantum transition energy gaps, and because ref cannot match all these transitions at once, there will be some very small phase error away from n/2 for the pulse duration for at least some of the transitions. This small error will result in some small coherence leakage through a pulse sequence that is not what gets calculated.
Although it would be possible to do, I have not seen a pulse width be declared as some t1 and that time spectrally analyzed. I think the idea is that you regard each pulse as a stimulus, and you are interested in the effect of varying the gap t1 after that pulse. Remember that there is only one FID at the end of the entire pulse sequence, and that FID will depend "somehow" on all the inter-pulse time intervals ti, and you can in principle Fourier each of these times into an i rotating frame frequency.
Given a model for the spin system under test, one designs a pulse sequence with the intention of bringing out some parameter of the model, or with the intention of simply measuring the density of that spin system in the test sample.
B. Tracking the density matrix through the pulse sequence: the matrix representation method
In a multiple spin-1/2 system it is possible to express as a linear combination of spin matrices. For example, in a 2-spin system we can write = A I1I2 (see "density matrix...doc"). One normally starts a pulse sequence shot with initial = TE in which is diagonal and is therefore only a function of the spin matrices I0 = 1 and Iz. In the 2-spin case TE = 1/4 I10I20 + 1/2B( I10I2z + I1zI20).
We know in general that can have 15 real parameters which are the elements of the real matrix A since the trace requirement sets A00 = 1. But when we start in TE, we see that has only one parameter in our 2-spin case, the Boltzmann B factor which is a function of temperature.
But going back to the more general = A I1I2 with its 16 possible spin terms, we want to know what each pulse and each gap "does" to -- we want to track through the sequence. We know that each pulse or gap is described by some unique unitary matrix U which is the same dimension as . This U is in fact the exponentiated Hamiltonian for the spin system. For pulses, we can represent U as a direct product of smaller matrix transformations, each one acting in a spin subspace. For gaps, we cannot do this.
So, the general idea is '(t) = U(t) (0) U-1(t) tells us how is transformed as it passes through a pulse or a gap. Given the above expansion for in the 2-spins example, we can write
'(t) = U(t) (0) U-1(t) = A U(t) [I1I2] U-1(t)
= A [ U(t)I1U-1(t)] [ U(t) I2U-1(t)]
B1. Pulses. During a pulse with a "strong RF field" and start-phase = 0, the Hamiltonian is swamped by the term H' = BRF(I1x + I2x) in the 2-spin case, and we know that this generates U as a simple Rx() rotation that is separable into R1x and R2x rotations in the spin subspaces. If we set the start-phase of the pulse to , the effective rotation is then U = Rz(-)Rx()Rz() = R(). Recall that = BRF = N /2 as noted earlier. When it comes time to take matrix elements of ', it is easy to "handle" the two rotations (see later), so our main interest is rotations with = 0 and then we have only Rx. So, for pulses we can write
'(t, =0) = A [ R1x()I1R1x-1()] [R2x() I2R2x-1()]
From our rotation experience, we know that
[ R1x()I1R1x-1()] = Rx-1() I1
where R is our usual 3x3 rotation matrix extended to 4 dimensions, so we have
R-1x() = T()
Alternatively, from our sandwich shop experience, we know that
exp(- i Jx) Jy exp(+ i Jx) = Jy cos + Jz sin
exp(- i Jx) Jz exp(+ i Jx) = Jz cos Jy sin
which we translate to say, for example (writing them in order = 0,1,2,3 and I10 = 1 of course)
R1x()I10R1x-1() = I10
R1x()I1xR1x-1() = I1x
R1x()I1yR1x-1() = I1y cos + I1z sin
R1x()I1zR1x-1() = I1z cos I1y sin
which ( agrees with the above matrix, by the way) we can write as
,0 I10 + ,1I1x + ,2[ I1yC + I1z S ] + ,3[I1z C I1y S]
Then we have
'(t, =0) = A
'(t, =0) = A [T()I1] [T()I2] with T as shown above
= A { ,0 I10 + ,1I1x + ,2[ I1yC + I1z S ] + ,3[I1z C I1y S] }
* { ,0 I20 + ,1I2x + ,2[ I2yC + I2z S ] + ,3[I2z C I2y S] }
= 36 terms nominal, and all 16 basis matrices terms I1I2 appear in the result !
Even if we select nice angles for , all 16 terms are still present. Our conclusion is this: even for the very basic rotation Rx() caused by a pulse, there is a huge effect on the density matrix. The resulting matrix ' appears to be a major shuffle of the elements of .
Examples. For example, suppose the incoming density matrix has only the component A12 so that (0) = A12 I1xI1y. Then the output is
(0) = A12 I1xI1y =>
(t) = A ,1I1x,2[ I2yC + I2z S ] = A12 I1x [ I2yC + I2z S ]
= A12 { C I1xI2y + S I1xI2z }
So this is what an x-pulse does to which starts as (t=0) = A I1I2 = A12 I1xI1y .
We could change the sign of and get an expression for (0) given (t). In this case, we get this result: (the pulse goes backward in time)
(t) = A
(0) = A { ,0 I10 + ,1I1x + ,2[ I1yC I1z S ] + ,3[I1z C + I1y S] }
* { ,0 I20 + ,1I2x + ,2[ I2yC I2z S ] + ,3[I2z C + I2y S] }
Now if we select one of the output matrix terms like A12 we see that it "results in an input "
A12 { C I1xI2y S I1xI2z } and we would say that the output term I1xI2y was "fed" by the two input terms I1xI2y and I1xI2z.We could make a drawing showing lines connecting each output to various inputs. It is clear that each output in this case is driven by one or two inputs. The output I1x maps to input =1 =0 which is I1x so (nor surprise) this output is fed only by itself as an input.
B2. Gaps. What does a "gap" do to . We start as before with this:
'(t) = A [ U(t)I1U-1(t)] [ U(t) I2U-1(t)]
and for some general H', the quantity U(t)I1U-1(t) is a real mess. I have done this for H' = I1I2 and got such a huge mess. For the special case U(t) = exp(-iI1zI2z) with = J we can use this fact: [ this is not the full U(t) for J-coupling, we are just using it as an example here ]
[ U(t) I2U-1(t)]:
exp(- i [2I1zI2z]) I20 exp(+ i [2I1zI2z]) = I20
exp(- i [2I1zI2z]) I2x exp(+ i [2I1zI2z]) = I2x cos + [2I1zI2y ] sin
exp(- i [2I1zI2z]) I2y exp(+ i [2I1zI2z]) = I2y cos + [2I1zI2z ] sin
exp(- i [2I1zI2z]) I2z exp(+ i [2I1zI2z]) = I2z
= ,0 I20 + ,1[ I2x C + 2I1zI2y S ] + ,2[I2y C + 2I1zI2zS] + ,3I2z
Although this is not a 4x4 matrix times the vector I2 , we arrive at least at something we can write down:
'(t) = A [ ,0 I20 + ,1[ I2x C + 2I1zI2y S ] + ,2[I2y C + 2I1zI2zS] + ,3I2z]
* [ ,0 I20 + ,1 [ I2x C + 2I1zI2y S ] + ,2[I2y C + 2I1zI2zS] + ,3I2z]
= 36 terms. = A' I1 I2
Notice that we get terms like A11 [ I2x C + 2I1zI2y S ][ I2x C + 2I1zI2y S ] which contain triple factors like I1zI2yI2x. For spin 1/2, these things all simplify, for example I2xI2y = (1/2) I2z, and we get the desired form of our result. For a system of two spin-1, is a 9x9 matrix and the 16 operators I1 I2 no longer form a basis, so our result is no longer true. Same for any higher spins.
B3. Conclusions. We can now draw a few conclusions about tracking the density matrix through pulses and gaps:
(1) Pulses are simpler than gaps, but even for pulses, there is a major shuffle going from to '. Each of the 16 matrix representation terms of ' is some function of one or two matrix terms of .
(2) This idea of representing as a linear combination of the I1I2v at least gives us a method to calculate anything we want, assuming the gaps are secular.
(3) This approach does not make it instantly obvious how a pulse transforms the coherences which are the matrix elements of the density matrix . Note that a matrix term like I1zI2y is not a "coherence" but we can express it as a sum of coherences.
(4) This approach completely obscures the fact that the matrix elements of just "phase along" in a gap. This is so because Ugap contains H' and the states at the two ends of each coherence are eigenstates of H' so they each just phase along (at their eigenenergy), and the coherence then phases along with the difference in these two eigenenergies, see Levitt page 351 equation (12.11). So what happens to a particular matrix element of in a gap is very simple, but what happens to matrix terms in a "matrix representation" is quite complicated.
(5) Much of what Levitt says concerns coherences, so we wish we had a clearer way to think about how they transform through a pulse sequence.
1. The idea of converting from a matrix to a vector.
Levitt uses the general idea that ' = UU-1 to describe a process either of coherences going through a pulse, or free propagating. These are the two things that seem to happen in NMR. In our case of two spins, is a 4x4 matrix. We cannot factor it into a direct produce of simpler 2x2 matrices because the J-coupling Hamiltonian interaction term is non-separable, so we are stuck with this 4x4 matrix to worry about. Malcolm uses a notation like - as an abbreviation for , if we use the usual two symbols to label a state of two spins like |>, which in this matrix element represents the "initial state". We know that the density matrix can in general be written as A I1I2 where A is an arbitrary but real 4x4 matrix, and A00 = 1 to make tr() = 1 (see density matrix...doc).
Now, if we run through two sequential NMR elements, such as a pulse and a free propagation, we can write this
' = U1U1-1 " = U2'U2-1 so " = U2U1U1-1U2-1 = U12 U12-1
so we know we can concatenate the U's as we go through a pulse sequence. In practice, this is always done with spin matrices, and you end up perhaps with U12345 giving = 2I1zI2y +... and there may be many terms.
Inconvenient Fact: To know what a particular coherence is doing, you have to do the expansion of each term using the usual rules with raising/lowering and project operators, and then you have to add the contributions to your coherence of interest from all the terms. That is the Levitt method.
Because the above transformations are linear, it is possible to recast this whole process into one where we regard as a column vector instead of a matrix, where we have just linearized the matrix. To do this, we would have to specify some reasonable order for elements of the vector. At first the vector would have 16 elements, of which 12 are the complex coherences. We could quickly throw out all the + ones and shrink the vector to 4+6 = 10 components. We can always get the + from the - by complex conjugation. So maybe we have
= { -, -, -, -, --,, -+ ; , , , } // bolded means the vector
-1 -1 -1 -1 -2 0
where I have shown the coherence order of each of the coherences. I list the -1 guys first because they make the NMR signal. { We could also eliminate if we wanted since the last four add to 1 }
Now we can represent a pulse or a free propagation as an operator which is a 10x10 matrix. Let's call this the T matrix, just to pick a letter. So we then make this connection:
' = U1U1-1 ' = T
where T of course depends (in dimension) on how many coherences we decide to put in our vector (a number between 9 and 16), and what order we decide to put them in.
A look at the matrix T would tells us instantly what coherences are connected through a particular pulse. By "writing things out", we should be able to compute T in terms of U, and that is what we do right now.
2. What is the matrix T ?
On page 603 Levitt defines the following object:
Zuv,rs = <u| U |r><s| U† |v> = Zuv,rs = <u| U |r> <v| U |s>*
where I have defined how I want to see the indices on Z on the left, and then I write them again on the right with little arrows showing the arrows in the figure on page 603. It seems that the arrows "start" on the <...>* factor and end on the other factor.
This is a direct product index notation as the last form suggests. The letters like r or u label states, such as |r> = |>. U is an expo Ham telling us how a state moves in time. So the factor <u| U |r> is the quantum amplitude that state |r> is in state |u> after a pulse or a propagation.
Now here is how and Z are related:
uv(t) = <u||v> = <u| (t)><(t)|v> = <u| (t)><(t)|v>
where we imply the statistical averaging on state . Keep going,
= <u|U|(0)><(0)|U†|v>
But write |(0)>= r cr |r> and similarly for the adjoint with summation s to get
= rscrcs* <u|U|r><v|U†|s> = rscrcs* Zuv,rs
Time t=0 is at the start of a pulse, say, and time t=t is at the end of the pulse, and U was the expo Ham that was operative during the pulse. At time t=0, we have U=1 so we then have
Zuv,rs(t=0) = <u|1|r><v|1|s> = u,r v,s
so that
uv(0) = rscrcs* <u|U|r><v|U†|s> = rscrcs* u,r v,s = cucv*
which is the way we see in Levitt for example on page 344, with bars for statistics. So we have then:
uv(t) = rs rs(0) <u|U|r><v|U†|s> = rs Zuv,rs rs(0)
Now, let's think of uv as a single index which labels a coherence in our "coherence vector". Then we can write this last as
(t) = Z (0) => Z = T
where is a vector (let's now say) with 16 components and Z is a 16x16 matrix. So this Z thing is our matrix T, and we have found that
Zuv,rs(t) = <u|U(t)|r><v|U†(t)|s>
3. Standard enumeration.
OK, so let's agree to label states with the |> type notation, so a general state is |ab> where a and b take on the values or meaning up and down for spin-1/2. Then we can be more expansive and write
Zuv, rs = <u| U |r> <v| U |s>*
Zabcd, efgh = <ab|U(t)|ef><cd|U(t)|gh>*
Note that ef and gh label the "ends" of a coherence arrow before U acts, and ab and cd label the corresponding ends of the coherence arrow after the pulse. We include populations in our term "coherence" at least for now.
When U is a propagation thing, H might contain I1zI2z for example, and then U is not a separable operator, so that this point we restrict ourselves to thinking about pulses only so that U is a rotation, so call it R. But rotations are separable operators, so we can write
<ab|R(t)|ef> = R1ae R2bf
For our pulse rotation, we might consider Rp() [ warning, used for angle and state, no relation ]. But later we can show a way to obtain the general p result from the p = 0 result, so assume R0() for now, which would be ()x in "pulse language". So we then have
<ab|R(t)|ef> = [Rx1()]ae [Rx2()]bf
where we know that
Rx() =
and then we have [ note that Ix is real, so the * changes to - }
Zabcd,efgh(t) = [Rx1()]ae [Rx2()]bf[Rx1(-)]cg [Rx2(-)]dh
so here is an explicit representation of our 16x16 matrix Z which takes our coherence vector "through a pulse".
Example1: = /2. Just to have a specific example, suppose = /2. Then cos(/4) = sin(/4) = 1/and we can then
Rx(/2) = (1/)
All diagonal matrix elements are 1, all off-diagonal are -i.
Let's look at some examples which are in fact all population to population matrix elements:
Z,(t) = 1/4 in = out =
Z,(t) = 1/4 (-i)2 = -1/4 in = out =
Z,(t) = 1/4 (-i)2 = -1/4 in = out =
Z,(t) = 1/4 (-i)4 = 1/4 in = out =
If you start all in the population, then you end up equally in all four populations. You square I presume to get probability.
Now what about starting in and look at a coherence - :
Z,(t) = 1/4 (-i).
In general, for each spin-1/2 label that changes state (either way, where we look at corresponding positions in the two Z indices ), we pick up a factor (-i). So let N be the number of such state changes implied by the specific index set. Then we have
Zabcd,efgh(t) = (-i)N / 4
In any event, you can see that every single one of the 16x16 = 256 paths from input to output has some non-zero amplitude after a /2 pulse. Our 16x16 matrix Z has no zero entries, and each entry is 1/4 times a phase. This says that under this (/2)x pulse, any output coherence gets a contribution from all 16 input coherences, and the absolute value of each contribution is 1/4, and the only question is: what is the phase of each contribution? If we were to draw a coherence vector component "routing diagram", we would have a fully populated routing matrix and we have to draw 256 lines through the router.
Example1: = . Now we get this
Rx(/2) = = i 1
Zabcd,efgh(t) = [Rx1()]ae [Rx2()]bf[Rx1(-)]cg [Rx2(-)]dh
Now we will get Z = 0 unless every single matched index pair changes sign, and in this case the value of the Z element is (-i)2(+i)2 = +1! Let's write down some of these non-zero terms:
Z,(t) = 1
Z,(t) = 1 + -
In box notation, every index must change to its opposite. So this Z matrix maps every coherence to its complete opposite. If we draw a routing diagram for this Z, it only has 16 lines and each is labeled with amplitude 1, whereas the (/2)x pulse required us to draw 256 lines each with some phase! So the ()x pulse is a relatively simple animal. It certainly negates the coherence order of each input as we showed elsewhere. Our discussion right here proves that rigorously.
Comments: It is 10PM. I have found how Z and are related. I guess I have to admit in retrospect that doing analysis of pulse sequences with the Z matrix is very tedious. However, if you are interested in what happens in a single pulse, I have an explicit answer above. It makes the cost of dealing with the spin matrices look easy by comparison!
4. Doing sequential elements with the vector method.
4A. The coherence transfer matrices Z and P.
First, the effect of each pulse can be represented as multiplication by a matrix in this sense:
(2)uv = r,s Zuv;rs (1)rs or 2 = Z 1 // action of a pulse
where my bolded is treated as a column vector which has n2 elements, where = nxn matrix. The point is that this is a linear transformation! Second, the effect of each free period between pulses causes each coherence to simple phase, where we use our positive expo phase rule and define the phase there accordingly
(2)uv = (1)uv exp(iuvt)
We can represent this as the effect of a diagonal matrix I will call P for phase. So
2 = P 1 // action of free flight
Therefore, if we go through a sequence of pulses and free flights, we get something like this:
out = Z3PbZ2PaZ1 in
where in = TE, Z1 is from the first pulse, and so on, so that out is the "start of final FID". Hurray, we now have a clean matrix model for how coherences run through the pulse sequence! Levitt never mentions this model really, but implies it. Think of the vector version of as "the coherence vector" even though it also includes populations. The Z matrices are "coherence transfer matrices".
4B. The "order vector" O and its projection matrix M
Now how does this all relate to "paths" ? If we drew our coherence flow diagrams and we showed all n2 coherences as horizontal lines, then a path segment through a pulse or gap would be a matrix element of Z or of P, and we could link these segments to define a path through the entire sequence from some starting coherence to some ending coherence. Of course the line segments in gaps are all horizontal.
But we want to group things to get fewer lines. For example, in our 4x4 AX world, we have 16 vector elements, and we know that 4 of them are of the -x or x- type, so four of them have order -1. So we squash our column vector down to an "order vector" which in this case would have only 5 elements instead of 16.
So here is now you could define an order vector
O1 = M1 where M is a 5x16 matrix, non-invertible of course.
But the fact is that you need to know the full detailed vector at each stage through a sequence. Once you know this, you could compute O at any point you want and draw the picture. You cannot get away with trying to compute things with only the order lines.
4C. The NMR output signal is a "sum of all paths" leading to order -1.
So a "path" is what you would have in the more detailed picture with the n2 (=16) lines between each pair of pulses. Let's use a generalized index so that i = to index our vector. Then we have from above
(out(3,2,1, a,b)i = jklmn (Z3)ij(Pb)jk(Z2)kl(Pa)lm(Z1)mn (in)n
where we also display all the parameters that the output depends on. So this is proof of the idea that an output coherence is the "sum of all paths". It is a sum because things are linear and therefore we can use matrices.
Now, we can convert out to an order matrix like this:
(O(3,2,1, a,b))J = i MJ,i (out(3,2,1, a,b)i
The NMR signal is the one with J = -1, so we get this result:
s(3,2,1) = 2i (O(3,2,1, a,b))-1 =
ijklmn 2iM-1,i(Z3(3))ij(Pb)jk(Z2(2))kl(Pa)lm(Z1(1))mn (in)n
This is what is meant by Malcolm's path sum on page 605! It is all linear. Notice that all paths in the sum will have the same final dig and rec applied to them. Each "path" is indicated by a specific set of values of the summation indices jklm and n. There are going to be a LOT of paths!
4D. Generalizing each Z matrix element from = 0 to = , as in ()
Levitt's page 604 equation (17.48) and the preceding discussion show us how to generalize from the pulse ()x to () and this is a very easy derivation to follow. We find, for example,
(Z3(3))ij = (Z3(0))ij exp { -i3 [pi - pj ] ) where i = uv means pi = puv.
= (Z3(0))ij exp { -i3 pij )
where ij is a label on the p thing just saying which p it is. The object pij is the order of the output coherence i minus the order of the input coherence j , and output - input is the "change" in the order of coherence for this particular set of coherences ij whose Z matrix element we are evaluating. We know that pij= <i|Mz|i> <j|Mz|j>. This arises from those Rz() rotations in the Euler Angle form of the general pulse rotation.
Maybe write this out in the fuller index notation,
Zabcd,efgh(3) = Zabcd,efgh(0) exp { -i3 [pabcd - pefgh] }
where pabcd is the coherence order of the coherence abcd, which is to say, it is (Mz)ab (Mz)cd.
For example, p = p+ = (Mz) (Mz) = 1 0 = +1. Then we have
pabcd,efgh = pabcd - pefgh
This p thing is the difference between the order of the initial coherence and the order of the final coherence, where initial and final mean at the input and output of a particular pulse. The interesting point is that when you generalize your pulse to a general phase 3, the Z matrix element changes only by a phase, and that phase depends only on the orders of the two coherences you are linking with Z.
4E. Each path has a "total phase" ikmn which is the sum of all the segment phases 2 pkm along that path.
It is this fact that is going to allow us to think about "phase cycling" of a pulse in a pulse sequence.
First, we should also assign some phases to the P matrix such that
(P(b))jk = exp(+i j b ) jk
We then get
s(3,2,1, a,b) = (O(3,2,1, a,b))-1
= ijklmn M-1,i(Z3(3))ij(Pb(b))jk(Z2(2))kl(Pa(a))lm(Z1(1))mn (in)n
= ijklmn M-1,i(Z3(0))ij(Pb(0))jk(Z2(0))kl(Pa(0))lm(Z1(0))mn (in)n
x exp { -i3 pij )exp(+i j b ) jk exp { -i2 pkl )exp(+i l a ) lm exp { -i1 pmn )
= ijklmn M-1,i(Z3(0))ij(Z2(0))kl(Z1(0))mn (in)n
x exp { -i3 pij )exp(+i k b ) jk exp { -i2 pkl )exp(+i m a ) lm exp { -i1 pmn )
= ikmn M-1,i(Z3(0))ik(Z2(0))km(Z1(0))mn (in)n
x exp { -i [ 3 pik + 2 pkm + 1 pmn - k a - m b] }
where in the last step we have removed the sums on the diagonal P matrices. At this point, let's rewrite in a way that treats the 's as non-arguments at least for the present, and remove them from the arg list of s:
s(3,2,1) = ikmn M-1,i(Z3(0))ik(Z2(0))km(Z1(0))mn (in)n exp{+i [ k b + m a])
x exp { -i [ 3 pik + 2 pkm + 1 pmn ] }
Now define the "path phase" ikmn = [ 3 pik + 2 pkm + 1 pmn ]. The first line above is then clearly equal to s(0,0,0) so we end up with
s(0,0,0) = ikmn M-1,i(Z3(0))ik(Z2(0))km(Z1(0))mn (in)n exp{+i [ k b + m a])
The thing inside this sum is a particular "NMR path" where all pulses are x-pulses. Let's call it pikmn(0,0,0) where we could have called it pikmn(3,2,1) with the general phases still in there. Then here is our final result:
s(3,2,1) = ikmn pikmn(0,0,0) exp( -i ikmn)
Now we can write down the NMR signal due to a particular path like so
sikmn(3,2,1) = pikmn(0,0,0) exp( -i ikmn)
so for this particular path, we can say
sikmn(3,2,1) = sikmn(0,0,0) exp( -i ikmn)
which is Levitt's last line on page 605. Three of the sums refer to pulses, and the i sum is the sum of outputs which go into the -1 coherence NMR signal.