qat.lang.vendors.ionq_gate_set
- qat.lang.vendors.ionq_gate_set(target='forte')
Generate a
GateSetobject corresponding to the gate set of IonQ.The IonQ Aria gate set is composed of:
Gate name
Notation
Arity
Definition
GPi gate
\(GPi(\theta)\)
1
\(\forall \phi \in\rm I\!R: \begin{vmatrix} 0 & e^{-i\phi} \\ e^{i\phi} & 0 \\ \end{vmatrix}\)
GPi2 gate
\(GPi2(\theta)\)
1
\(\forall \phi \in\rm I\!R: \frac{1}{\sqrt{2}} \begin{vmatrix} 1 & -i \cdot e^{-i\phi} \\ -i \cdot e^{i\phi} & 1 \\ \end{vmatrix}\)
PMS gate
\(PMS(\phi_0, \phi_1, \theta)\)
2
\(\forall \phi_0, \phi_1, \theta \in\rm I\!R^3: \begin{vmatrix} cos(\theta/2) & 0 & 0 & -i \cdot e^{-i(\phi_0 + \phi_1)} \cdot sin(\theta/2) \\ 0 & cos(\theta/2) & -i \cdot e^{-i(\phi_0 - \phi_1)} \cdot sin(\theta/2) & 0 \\ 0 & -i \cdot e^{i(\phi_0 - \phi_1)} \cdot sin(\theta/2) & cos(\theta/2) & 0 \\ -i \cdot e^{i(\phi_0 + \phi_1)} \cdot sin(\theta/2) & 0 & 0 & cos(\theta/2) \\ \end{vmatrix}\)
from qat.lang.vendors import ionq_gate_set for gate_name in ionq_gate_set(target="aria"): print(gate_name)
GPi GPi2 PMS
The IonQ Forte gate set is composed of:
Gate name
Notation
Arity
Definition
GPi gate
\(GPi(\theta)\)
1
\(\forall \phi \in\rm I\!R: \begin{vmatrix} 0 & e^{-i\phi} \\ e^{i\phi} & 0 \\ \end{vmatrix}\)
GPi2 gate
\(GPi2(\theta)\)
1
\(\forall \phi \in\rm I\!R: \frac{1}{\sqrt{2}} \begin{vmatrix} 1 & -i \cdot e^{-i\phi} \\ -i \cdot e^{i\phi} & 1 \\ \end{vmatrix}\)
ZZ gate
\(ZZ(\pi/2)\)
2
\(\begin{vmatrix} 1 & 0 & 0 & 0 \\ 0 & i & 0 & 0 \\ 0 & 0 & i & 0 \\ 0 & 0 & 0 & 1 \\ \end{vmatrix}`\)
from qat.lang.vendors import ionq_gate_set for gate_name in ionq_gate_set(target="forte"): print(gate_name)
GPi GPi2 ZZ
- Parameters:
target (str) – The target IonQ processor family (aria/forte). Defaults to forte.
- Returns:
Gate set of the selected IonQ processor family
- Return type: