After a general introduction to nuclear magnetic resonance (NMR), we give the basics of implementing quantum algorithms. We describe how qubits are realized and controlled with RF pulses, their internal interactions, and gradient fields. A peculiarity of NMR is that the internal interactions (given by the internal Hamiltonian) are always on. We discuss how they can be effectively turned off with the help of a standard NMR method called ``refocusing''. Liquid state NMR experiments are done at room temperature, leading to an extremely mixed (that is, nearly random) initial state. Despite this high degree of randomness, it is possible to investigate QIP because the relaxation time (the time scale over which useful signal from a computation is lost) is sufficiently long. We explain how this feature leads to the crucial ability of simulating a pure (non-random) state by using ``pseudopure'' states. We discuss how the ``answer'' provided by a computation is obtained by measurement and how this measurement differs from the ideal, projective measurement of QIP. We then give implementations of some simple quantum algorithms with a typical experimental result. We conclude with a discussion of what we have learned from NMR QIP so far and what the prospects for future NMR QIP experiments are.
The task of finding an entry in an unsorted list of N elements famously takes O(N) queries to an oracle for a classical computer and O(N) queries for a quantum computer using Grover's algorithm. Reformulated as a spatial search problem, this corresponds to searching the complete graph, or all-to-all network, for a marked vertex by querying an oracle. In this tutorial, we derive how discrete- and continuous-time (classical) random walks and quantum walks solve this problem in a thorough and pedagogical manner, providing an accessible introduction to how random and quantum walks can be used to search spatial regions. Some of the results are already known, but many are new. For large N, the random walks converge to the same evolution, both taking Nln(1/ϵ) time to reach a success probability of 1−ϵ. In contrast, the discrete-time quantum walk asymptotically takes πN/22 timesteps to reach a success probability of 1/2, while the continuous-time quantum walk takes πN/2 time to reach a success probability of 1.