Skip to content

[IN REVIEW] Check if an analog AnalogGate implements an Ising-like Hamiltonian #59

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
benjimaclellan opened this issue May 12, 2025 · 1 comment · May be fixed by #67
Open

[IN REVIEW] Check if an analog AnalogGate implements an Ising-like Hamiltonian #59

benjimaclellan opened this issue May 12, 2025 · 1 comment · May be fixed by #67
Labels
enhancement New feature or request help wanted Extra attention is needed unitaryHACK2025

Comments

@benjimaclellan
Copy link
Member

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:

The analysis on an AnalogGate object should check if the hamiltonian is Ising-like and satisfies the following properties:

  • Composed of only qubit registers (i.e., no bosonic mode operators in the Hamiltonian expression).
  • Composed of weight-2 Pauli strings, i.e., each additive term of the Hamiltonian is composed of only PauliI, PauliX, PauliY, and PauliZ terms, with only two terms in the Kronecker product being non identity.
  • Has only time-independent coefficients.

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:

def analysis(gate: AnalogGate):
    # compiler logic to extract Ising couplings
   return {
    'XX': np.array([ ... ]),
    'ZZ': np.array([ ... ]),
    ....
}

Possible extensions

  • Allow the selection of which Ising-like terms are allowed, i.e., $XX$ vs. $XY$ vs. $ZZ$, etc. Some of these interaction Hamiltonians can be engineered with trapped ion systems more natively than others can.
@benjimaclellan benjimaclellan added enhancement New feature or request help wanted Extra attention is needed labels May 12, 2025
@AlexanderIbrahim1 AlexanderIbrahim1 mentioned this issue May 20, 2025
3 tasks
idriss-hamadi added a commit to idriss-hamadi/oqd-core that referenced this issue May 29, 2025
… introduces an analysis pass to check if an AnalogGate implements an Ising-like Hamiltonian. The analysis verifies: - Only qubit registers are used. - Hamiltonian is composed of weight-2 Pauli strings (or weight-1/0). - Coefficients are time-independent. It also extracts coupling matrices (XX, YY, ZZ, XY, XZ, YZ) for valid Ising-like Hamiltonians. Includes unit tests for various valid and invalid cases. Closes OpenQuantumDesign#59
@idriss-hamadi
Copy link

Hello, can you please check my PR

@benjimaclellan benjimaclellan changed the title Check if an analog AnalogGate implements an Ising-like Hamiltonian [IN REVIEW] Check if an analog AnalogGate implements an Ising-like Hamiltonian May 30, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request help wanted Extra attention is needed unitaryHACK2025
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants