![]() |
||||||||||||||||||||||||||||||||
![]() |
||||||||||||||||||||||||||||||||
Parallel Simulation of Quantum Coherent Evolution by Parameterized Arbitrary Time-dependent Hamiltonians | ||||||||||||||||||||||||||||||||
![]() |
||||||||||||||||||||||||||||||||
Theory | Implementation | Results | Files | |||||||||||||||||||||||||||||
Spin-1/2 Moment in Magnetic FieldPSiQCoPATH's first sanity check came in the form of the simplest possible quantum system: a spin-1/2 magnetic moment in a static applied magnetic field. In this situation, the well known exact solution is that the spin precesses about the field with angular frequency![]() ![]() ![]()
This case is perhaps too simple to use as a test case, though, as the Hamiltonian is independent of time.
The second test was to have PSiQCoPATH simulate the behavior of a spin-1/2 magnetic moment in a time-varying magnetic field.
The magnetic field varied in time according to the equation
![]() ![]() ![]() ![]()
![]() ![]()
In the case where
The key to this understanding is a mapping that we discovered between this problem and the trajectory of a point on the rim of a cone rolling on a flat surface
(see figure 3). This mapping comes from the fact that a magnetic field generates rotations about its direction with frequency
The rolling motion of a cone on flat surface consists of two combined rotations - the cone rotates about its own symmetry axis with frequency
Thus the instantaneous axis of rotation in the cone problem has exactly the same behavior as the instantaneous axis of rotation (the magnetic field) in our spin problem. At a given instant, all points on the cone are rotating about the instantaneous axis of rotation, just as at any given instant the spin is precessing about the instantaneous direction of the magnetic field.
The half-angle of the cone corresponding to a particular choice of
![]() ![]() ![]() ![]() Aside from the intellectual interest of this result, it also turns out to be one of the rare cases of a Hamiltonian with non-trivial time dependence for which we have an exact answer to compare with the simulation. The agreement with our results appears to be quite good, though we have not explored it in quantitative detail. Adiabatic Quantum Computation
Once this method validation was complete, we used PSiQCoPATH to simulate the solution of a few instances of NP-Complete problems using the method of quantum computation by adiabatic evolution described in the introduction and the reference given there. The particular problem for which we had easy access the proper Hamiltonians was the so-called exact cover problem. Exact cover is a version of satisfiability involving 3 bit clauses of the form
![]() ![]() ![]()
This problem is described in detail in the paper by Farhi et al. As in that paper, we use a linear interpolation between the initial and final Hamiltonians of the form
![]() ![]()
![]() ![]() ![]() We would like to thank Daniel Nagaj for supplying us with these Hamiltonians. An example of our results for a 6 qubit instance of Exact Cover are shown in figure 4.
These plots were generated by a Matlab script written by us to parse the PSiQCoPATH output files and perform the desired analysis. The script diagonalizes the system's Hamiltonian at each output time step and transforms the evolved state at the corresponding time step into this eigenbasis. The
In figure 5, the energy levels (eigenvalues) of the instantaneous Hamiltonian are plotted over the course of the evolution. Notice that the position of the minimum energy gap is precisely where the ground state population gets ``lost'' in the fast run. This is what is expected from the considerations of the adiabatic theorem, and makes for a nice confirmation of the theory.
In the end we were only able to test up to 8 qubits. This is really not enough to make progress over the current state of the art in research on this topic, but with the improvements described in the section on future work we should be able to scale up to much higher dimension. All results were obtained from full time evolution operator calculations. Although this calculation is in a sense overkill for what we have used it for in the analysis, the full time evolution matrix could be used to find the success probability in the case where the initial state is actually a ``mixed-state'' due to thermal noise and/or uncertain preparation. This is an interesting situation to look at from a practical point of in view as this is a more realistic picture of what the situation will be like in real physical implementations. With the distributed data approach of the matrix-vector multiplication single state evolution algorithm, we should be able to reach even larger systems. Memory usage is significantly lower in that case, and the distribution across processors should allow us to handle much larger matrices without having to reach beyond the cache/fast memory. This code did not become operational until after the tests described, so we only have detailed results for the full time evolution operator calculations.
Throughout these runs we also kept track of PSiQCoPATH's performance in terms of running time.
Running time as a function of simulation length and number of processors is plotted in figure 6. The trends are very nearly linear in both
Click here to see more of our results in the PSiQCoPATH data/plot archive |