Skip to content

Commit df05a8c

Browse files
authored
Merge pull request #361 from BQSKit/sxdg
Support for SXdg gates
2 parents 172b48c + 28639c5 commit df05a8c

File tree

3 files changed

+39
-0
lines changed

3 files changed

+39
-0
lines changed

bqskit/ir/gates/__init__.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,8 @@
4343
SwapGate
4444
SqrtXGate
4545
SXGate
46+
SqrtXdgGate
47+
SXdgGate
4648
SycamoreGate
4749
TGate
4850
TdgGate

bqskit/ir/gates/constant/__init__.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,8 @@
3434
from bqskit.ir.gates.constant.swap import SwapGate
3535
from bqskit.ir.gates.constant.sx import SqrtXGate
3636
from bqskit.ir.gates.constant.sx import SXGate
37+
from bqskit.ir.gates.constant.sxdg import SqrtXdgGate
38+
from bqskit.ir.gates.constant.sxdg import SXdgGate
3739
from bqskit.ir.gates.constant.sycamore import SycamoreGate
3840
from bqskit.ir.gates.constant.t import TGate
3941
from bqskit.ir.gates.constant.tdg import TdgGate
@@ -79,6 +81,8 @@
7981
'SwapGate',
8082
'SqrtXGate',
8183
'SXGate',
84+
'SqrtXdgGate',
85+
'SXdgGate',
8286
'SycamoreGate',
8387
'TGate',
8488
'TdgGate',

bqskit/ir/gates/constant/sxdg.py

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
"""This module implements the SqrtXdgGate/SXdgGate."""
2+
from __future__ import annotations
3+
4+
from bqskit.ir.gates.constantgate import ConstantGate
5+
from bqskit.ir.gates.qubitgate import QubitGate
6+
from bqskit.qis.unitary.unitarymatrix import UnitaryMatrix
7+
8+
9+
class SqrtXdgGate(ConstantGate, QubitGate):
10+
"""
11+
The Dagger(Sqrt(X)) gate.
12+
13+
The SXdg gate is given by the following unitary:
14+
15+
.. math::
16+
17+
\\begin{pmatrix}
18+
\\frac{1}{2} - \\frac{1}{2}i & \\frac{1}{2} + \\frac{1}{2}i \\\\
19+
\\frac{1}{2} + \\frac{1}{2}i & \\frac{1}{2} - \\frac{1}{2}i \\\\
20+
\\end{pmatrix}
21+
"""
22+
23+
_num_qudits = 1
24+
_qasm_name = 'sxdg'
25+
_utry = UnitaryMatrix(
26+
[
27+
[0.5 - 0.5j, 0.5 + 0.5j],
28+
[0.5 + 0.5j, 0.5 - 0.5j],
29+
],
30+
)
31+
32+
33+
SXdgGate = SqrtXdgGate

0 commit comments

Comments
 (0)