mqt.bench.targets.gatesets.ionq¶
Handles the available native gatesets for IonQ.
Module Contents¶
- class GPIGate(phi: qiskit.circuit.parameterexpression.ParameterValueType, label: str | None = None)[source]¶
Bases:
qiskit.circuit.GateSingle-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.GateSingle-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.GateEntangling 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.GateTwo-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.