[IN REVIEW] Check if an analog AnalogGate
implements an Ising-like Hamiltonian
#59
Labels
AnalogGate
implements an Ising-like Hamiltonian
#59
What's the goal:
Analog-mode quantum programs define the evolution of the quantum system in terms of continuous-time evolution. In Open Quantum Design's stack, we define such programs with the analog interface, where a circuit is composed of
AnalogGate
's which implement a continuous-time Hamiltonian operator.In this bounty, the goal is to check if a provided
AnalogGate
object is Ising-like.Some details:
Documentation on the analog layer is here. Relevant classes in the analog layer include:
AtomicGate
, which has ahamiltonian
attribute.src/oqd_core/interface/analog/operators.py
, which are composed to create an abstract data tree of a continuous-time Hamiltonian.oqd-compiler-infrastructure
. More documentation of how the compiler infrastructure works is found here, and an example here.The analysis on an
AnalogGate
object should check if thehamiltonian
is Ising-like and satisfies the following properties:PauliI
,PauliX
,PauliY
, andPauliZ
terms, with only two terms in the Kronecker product being non identity.The analysis should also extract the coupling matrix for each pair of Pauli operators,$XX$ vs $YY$ vs $ZZ$ vs $XZ$ vs $XY$ , etc.
This is useful and important as certain class of Ising-like Hamiltonians can be engineered in trapped-ion systems by tuning the control laser parameters. Our goal, then, is to compile from a top-level
AtomicCircuit
program defined by a user into the real OQD hardware to simulate physical systems of interest.One output of the analysis pass is the interaction matrix for all two-qubit Pauli operators:
Possible extensions
The text was updated successfully, but these errors were encountered: