mqt.bench.targets.gatesets.ionq

Handles the available native gatesets for IonQ.

Module Contents

get_ionq_forte_gateset() list[str][source]

Returns the basis gates of the IonQ Forte gateset.

get_ionq_aria_gateset() list[str][source]

Returns the basis gates of the IonQ Aria gateset.

class GPIGate(phi: qiskit.circuit.parameterexpression.ParameterValueType, label: str | None = None)[source]

Bases: qiskit.circuit.Gate

Single-qubit GPI gate.

Circuit symbol:

     ┌───────┐
q_0: ┤ GPI(φ)├
     └───────┘

Matrix Representation:.

\[\begin{split}GPI(\phi) = \begin{pmatrix} 0 & e^{-i*2*\pi*\phi} \\ e^{i*2*\pi*\phi} & 0 \end{pmatrix}\end{split}\]
class GPI2Gate(phi: qiskit.circuit.parameterexpression.ParameterValueType, label: str | None = None)[source]

Bases: qiskit.circuit.Gate

Single-qubit GPI2 gate.

Circuit symbol:

     ┌───────┐
q_0: ┤GPI2(φ)├
     └───────┘

Matrix Representation:.

\[\begin{split}GPI2(\phi) = \frac{1}{\sqrt{2}} \begin{pmatrix} 1 & -i*e^{-i*2*\pi*\phi} \\ -i*e^{i*2*\pi*\phi} & 1 \end{pmatrix}\end{split}\]
class MSGate(phi0: qiskit.circuit.parameterexpression.ParameterValueType, phi1: qiskit.circuit.parameterexpression.ParameterValueType, theta: qiskit.circuit.parameterexpression.ParameterValueType | None = 0.25, label: str | None = None)[source]

Bases: qiskit.circuit.Gate

Entangling 2-Qubit MS gate.

Circuit symbol:

      _______
q_0: ┤       ├-
     |MS(ϴ,0)|
q_1: ┤       ├-
     └───────┘

Matrix representation:.

\[\begin{split}MS(\phi_0, \phi_1, \theta) = \begin{pmatrix} cos(\theta*\pi) & 0 & 0 & -i*e^{-i*2*\pi(\phi_0+\phi_1)}*sin(\theta*\pi) \\ 0 & cos(\theta*\pi) & -i*e^{i*2*\pi(\phi_0-\phi_1)}*sin(\theta*\pi) & 0 \\ 0 & -i*e^{-i*2*\pi(\phi_0-\phi_1)}*sin(\theta*\pi) & cos(\theta*\pi) & 0 \\ -i*e^{i*2*\pi(\phi_0+\phi_1)}*sin(\theta*\pi) & 0 & 0 & cos(\theta*\pi) \end{pmatrix}\end{split}\]
class ZZGate(theta: qiskit.circuit.parameterexpression.ParameterValueType, label: str | None = None)[source]

Bases: qiskit.circuit.Gate

Two-qubit ZZ-rotation gate.

Circuit Symbol:

q_0: ───■────
        │zz(θ)
q_1: ───■────

Matrix Representation:.

\[\begin{split}ZZ(\theta) = \begin{pmatrix} e^{-i \theta*\pi} & 0 & 0 & 0 \\ 0 & e^{i \theta*\pi} & 0 & 0 \\ 0 & 0 & e^{i \theta*\pi} & 0 \\ 0 & 0 & 0 & e^{-i \theta\*\pi} \end{pmatrix}\end{split}\]
u_gate_equivalence(sel: EquivalenceLibrary) None[source]

Add U gate equivalence to the SessionEquivalenceLibrary.

cx_via_ms_equivalence(sel: EquivalenceLibrary) None[source]

Add CX gate equivalence to the SessionEquivalenceLibrary for both native two-qubit gates.

cx_via_zz_equivalence(sel: EquivalenceLibrary) None[source]

Add equivalence CX ≡ H-ZZ(pi/4)-H.

add_equivalences(sel: EquivalenceLibrary) None[source]

Add IonQ gate equivalences to the SessionEquivalenceLibrary.