mimiqcircuits.operations.gates.standard.sx

SX (Sqrt(X)) and SXDG gates.

Classes

GateSX([operation, exponent])

Single qubit \(\sqrt{X}\) gate.

GateSXDG([operation])

Single qubit \(\sqrt{X}^\dagger\) gate (conjugate transpose of the \(\sqrt{X}\) gate).

class mimiqcircuits.operations.gates.standard.sx.GateSX(operation=None, exponent=None, *args, **kwargs)[source]

Bases: Power

Single qubit \(\sqrt{X}\) gate.

Matrix representation:

\[\begin{split}\sqrt{\operatorname{X}} = \frac{1}{2} \begin{pmatrix} 1+i & 1-i \\ 1-i & 1+i\\ \end{pmatrix}\end{split}\]

Examples

>>> from mimiqcircuits import *
>>> GateSX()
SX
>>> GateSX().matrix()
[0.5 + 0.5*I, 0.5 - 0.5*I]
[0.5 - 0.5*I, 0.5 + 0.5*I]

>>> c = Circuit().push(GateSX(), 0)
>>> c
1-qubit circuit with 1 instruction:
└── SX @ q[0]

>>> GateSX().power(2), GateSX().inverse()
(X, SX†)
>>> GateSX().decompose()
1-qubit circuit with 4 instructions:
├── S† @ q[0]
├── H @ q[0]
├── S† @ q[0]
└── U(0, 0, 0, (1/4)*pi) @ q[0]
__init__(operation=None, exponent=None)[source]

Initialize an SX gate.

class mimiqcircuits.operations.gates.standard.sx.GateSXDG(operation=None, *args, **kwargs)[source]

Bases: Inverse

Single qubit \(\sqrt{X}^\dagger\) gate (conjugate transpose of the \(\sqrt{X}\) gate).

Matrix representation:

\[\begin{split}\sqrt{\operatorname{X}}^\dagger = \frac{1}{2} \begin{pmatrix} 1-i & 1+i \\ 1+i & 1-i\\ \end{pmatrix}\end{split}\]

Examples

>>> from mimiqcircuits import *
>>> GateSXDG()
SX†
>>> GateSXDG().matrix()
[0.5 - 0.5*I, 0.5 + 0.5*I]
[0.5 + 0.5*I, 0.5 - 0.5*I]

>>> c = Circuit().push(GateSXDG(), 0)
>>> c
1-qubit circuit with 1 instruction:
└── SX† @ q[0]

>>> GateSXDG().power(2), GateSXDG().inverse()
((SX†)**2, SX)
>>> GateSXDG().decompose()
1-qubit circuit with 4 instructions:
├── S @ q[0]
├── H @ q[0]
├── S @ q[0]
└── U(0, 0, 0, (-1/4)*pi) @ q[0]
__init__(operation=None)[source]

Initialize an SXDG gate.