quri_parts.ionq.circuit.gates module#
- GPi = <quri_parts.ionq.circuit.gates.GPiFactory object>#
IonQ native gate GPi defined as follows.
\[\begin{split}GPi(\phi) = \begin{pmatrix} 0 & e^{-i\phi} \\ e^{i\phi} & 0 \end{pmatrix}\end{split}\]- Parameters:
target_index (int) –
phi (float) –
- Return type:
- GPi2 = <quri_parts.ionq.circuit.gates.GPi2Factory object>#
IonQ native gate GPi2 defined as follows.
\[\begin{split}GPi2(\phi) = \frac{1}{\sqrt{2}} \begin{pmatrix} 1 & -ie^{-i\phi} \\ -ie^{i\phi} & 1 \end{pmatrix}\end{split}\]- Parameters:
target_index (int) –
phi (float) –
- Return type:
- XX = <quri_parts.ionq.circuit.gates.XXFactory object>#
IonQ native gate XX defined as follows.
\[\begin{split}XX(\phi) = \begin{pmatrix} \cos{\phi} & 0 & 0 & -i\sin{\phi} \\ 0 & \cos{\phi} & -i\sin{\phi} & 0 \\ 0 & -i\sin{\phi} & \cos{\phi} & 0 \\ -i\sin{\phi} & 0 & 0 & \cos{\phi} \end{pmatrix}\end{split}\]- Ref:
- [1]: Dmitri Maslov,
Basic circuit compilation techniques for an ion-trap quantum machine, New J. Phys. 19, 023035 (2017).
[2]: https://ionq.com/docs/getting-started-with-native-gates
- Parameters:
target_index0 (int) –
target_index1 (int) –
phi (float) –
- Return type:
- MS = <quri_parts.ionq.circuit.gates.MSFactory object>#
IonQ native gate MS defined as follows.
\[\begin{split}MS(\phi_0, \phi_1) = \frac{1}{\sqrt{2}} \begin{pmatrix} 1 & 0 & 0 & -ie^{-i(\phi_0 + \phi_1)} \\ 0 & 1 & -ie^{-i(\phi_0 - \phi_1)} & 0 \\ 0 & -ie^{i(\phi_0 - \phi_1)} & 1 & 0 \\ -ie^{i(\phi_0 + \phi_1)} & 0 & 0 & 1 \end{pmatrix}\end{split}\]- Parameters:
target_index0 (int) –
target_index1 (int) –
phi0 (float) –
phi1 (float) –
- Return type: