quri_parts.ionq.circuit.gates module#

class GPiFactory#

Bases: object

name: Literal['GPi'] = 'GPi'#
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}\]
Ref:

[1]: https://ionq.com/docs/getting-started-with-native-gates

Parameters:
  • target_index (int) –

  • phi (float) –

Return type:

QuantumGate

class GPi2Factory#

Bases: object

name: Literal['GPi2'] = 'GPi2'#
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}\]
Ref:

[1]: https://ionq.com/docs/getting-started-with-native-gates

Parameters:
  • target_index (int) –

  • phi (float) –

Return type:

QuantumGate

class XXFactory#

Bases: object

name: Literal['XX'] = 'XX'#
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:

QuantumGate

class MSFactory#

Bases: object

name: Literal['MS'] = 'MS'#
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}\]
Ref:

[1]: https://ionq.com/docs/getting-started-with-native-gates

Parameters:
  • target_index0 (int) –

  • target_index1 (int) –

  • phi0 (float) –

  • phi1 (float) –

Return type:

QuantumGate