![]() |
|||
![]() |
|||
Parallel Simulation of Quantum Coherent Evolution by Parameterized Arbitrary Time-dependent Hamiltonians | |||
![]() |
|||
Theory | Implementation | Results | Files |
Introduction
PSiQCoPATH is the product of the authors' work in Parallel Computing 6.338J at MIT in the Spring of 2005. Our goal was to write a scalably parallel program to efficiently compute the time evolution of finite dimensional quantum systems. In particular, PSiQCoPATH is designed to compute the time evolution of finite dimensional quantum systems with arbitrary time-dependent Hamiltonians in a discrete time simulation to accuracy
Physical Background
In quantum mechanics, the state of an isolated physical system is fully characterized by a single unit vector
Physically observable properties of the system are represented by the action of Hermitian operators on the Hilbert space.
Following standard convention, linear operators on the Hilbert space will be denoted by the "hat" symbol
An operator of particular importance is the system's Hamiltonian operator
In the Schrödinger picture of quantum mechanics, the Hermitian operators corresponding to physical observables are static, while the state vector
![]()
In general,
As a first step toward solving the Schrödinger equation in this case, we introduce the unitary time evolution operator
![]() and
Property (3) leads to a natural way to divide the evolution into a series of discrete time intervals (without approximation):
This discretization has not bought us anything yet, as each
![]()
The key to solving the problem is now to relate the derivatives
This relation can be applied successively to replace the derivative terms of all orders in (6). Up to second order, this gives
![]() With this expression in hand, we can now calculate the time evolution operator for any quantum system undergoing unitary evolution by any possible time-dependent Hamiltonian. In light of our goal to keep PSiQCoPATH as general as possible, we did not want to give up any of this generality. Thus we sought a way for the user to specify a particular time-dependent Hamiltonian of completely general form.
The solution to this problem comes from the fact that for an
![]()
While in principle it is possible to construct a Hamiltonian with all
High-level System OverviewPSiQCoPATH's work divided into three phases -- input, computation, and output. In the input phase, all necessary data to fully specify the problem are read in to the program from a user-created input file. This file also includes any relevant flags/parameters needed to specify how the calculation should be performed. The specific information contained in the input file will be discussed in the section on implementations below.
In the computation phase, PSiQCoPATH calculates the time evolution of the desired system according to the second order method described above. Depending on the user's intentions, PSiQCoPATH can calculate either the time evolution of a given initial state, i.e.
Single state evolution can be performed with significantly lower computational cost than the time evolution matrix calculation for the same system, but yields considerably less information. The time evolution matrix contains complete information about the evolution of the system. Once this operator is known, the evolution of any initial state can be found by a single matrix-vector multiplication. As a special case of the aforementioned modes of operation, PSiQCoPATH can also be used to simulate so-called ``quantum circuits.'' In the quantum circuit model of quantum computation, a quantum system can be used to perform computations by applying a series of unitary ``gates'' to the system. In reality, the action of each unitary gate arises from evolution under some Hamiltonian as described above. However, if one is not interested in the specifics of the Hamiltonian evolution itself then he/she can compress this information into a sequence of unitary operations exactly as in (5). In quantum circuit mode, PSiQCoPATH calculates the evolution of a system under the influence of a supplied series of unitary gates. Finally, in the output phase, PSiQCoPATH produces several files containing the results of the calculation. This stage of the program is still fairly rough, and only working in detail for full time evolution matrix calculations. Because PSiQCoPATH can in principle be applied to any type of finite dimensional quantum system, it does not perform any data analysis on its results. However, the output files are created in a format that is easily read in by Matlab. We have developed Matlab scripts to analyze the results produced by PSiQCoPATH for each of the test systems we have run. These scripts will be described in more detail in the section on results.
ApplicationsWhile in principle PSiQCoPATH can be used to study any finite dimensional quantum system, finite computer memory, processor speed, and available time place limitations on the size of system that can be studied. Within these limitations, PSiQCoPATH can be applied to any system of choice. As a slightly degenerate case, PSiQCoPATH can be used to simulate quantum circuits as described above. More interestingly, PSiQCoPATH is particularly well suited for studying the nearly adiabatic evolution of quantum systems where![]()
The adiabatic theorem states that if
In addition to the purely intellectual benefit of learning more about quantum dynamics near the adiabatic regime, recent developments in the theory of quantum computation have brought adiabatic evolution into the spotlight of physics research in a more practical context. Farhi et al. (arXiv:quant-ph/0104129) proposed an algorithm for the solution of NP-complete problems via quantum adiabatic evolution in 2001. If this algorithm can be proven to work in all cases, then it will constitute a very significant example of the computational power of quantum systems. The main idea behind the algorithm that the solution to the problem can be encoded as the ground state of a cleverly constructed ``problem'' Hamiltonian. The ground state of this Hamiltonian cannot be easily constructed, though, as this would require knowledge of the problem's solution. However, it is possible to start the system in the ground state of a different Hamiltonian, the ground state of which is known and can easily be constructed. By slowly ``morphing'' the initial Hamiltonian into the final ``problem'' Hamiltonian, the state of the system can be coaxed into the ground state of the problem Hamiltonian. The solution to the problem is then simply read out by measuring the final state of the system. This is all well and good, but the question of whether or not this algorithm can be used to efficiently solve all possible instances of NP-complete problems is still a topic of active research. The problem is that a rigorous proof of the algorithm's efficiency would require a proof that it is always possible to construct an adiabatic switching Hamiltonian with a minimum energy gap that shrinks only algebraically with the number of quantum bits (qubits) involved in the problem. If the gap becomes exponentially small as the number of qubits becomes large, then the running time needed to achieve successful adiabatic evolution to the problem's solution will become exponentially long. As of this time, neither proof of nor counterexample to this gap condition have been found. |