Skip to content

Gate

cx

cx(
    controls: IList[Qubit, Len], targets: IList[Qubit, Len]
) -> None

Apply a controlled-X gate to pairs of qubits.

Parameters:

Name Type Description Default
controls IList[Qubit, N]

Control qubits.

required
targets IList[Qubit, N]

Target qubits.

required
Source code in .venv/lib/python3.12/site-packages/bloqade/squin/stdlib/broadcast/gate.py
200
201
202
203
204
205
206
207
208
@kernel
def cx(controls: ilist.IList[Qubit, Len], targets: ilist.IList[Qubit, Len]) -> None:
    """Apply a controlled-X gate to pairs of qubits.

    Args:
        controls (ilist.IList[Qubit, N]): Control qubits.
        targets (ilist.IList[Qubit, N]): Target qubits.
    """
    gate.cx(controls, targets)

cy

cy(
    controls: IList[Qubit, Len], targets: IList[Qubit, Len]
) -> None

Apply a controlled-Y gate to pairs of qubits.

Parameters:

Name Type Description Default
controls IList[Qubit, N]

Control qubits.

required
targets IList[Qubit, N]

Target qubits.

required
Source code in .venv/lib/python3.12/site-packages/bloqade/squin/stdlib/broadcast/gate.py
211
212
213
214
215
216
217
218
219
@kernel
def cy(controls: ilist.IList[Qubit, Len], targets: ilist.IList[Qubit, Len]) -> None:
    """Apply a controlled-Y gate to pairs of qubits.

    Args:
        controls (ilist.IList[Qubit, N]): Control qubits.
        targets (ilist.IList[Qubit, N]): Target qubits.
    """
    gate.cy(controls, targets)

cz

cz(
    controls: IList[Qubit, Len], targets: IList[Qubit, Len]
) -> None

Apply a controlled-Z gate to pairs of qubits.

Parameters:

Name Type Description Default
controls IList[Qubit, N]

Control qubits.

required
targets IList[Qubit, N]

Target qubits.

required
Source code in .venv/lib/python3.12/site-packages/bloqade/squin/stdlib/broadcast/gate.py
222
223
224
225
226
227
228
229
230
@kernel
def cz(controls: ilist.IList[Qubit, Len], targets: ilist.IList[Qubit, Len]) -> None:
    """Apply a controlled-Z gate to pairs of qubits.

    Args:
        controls (ilist.IList[Qubit, N]): Control qubits.
        targets (ilist.IList[Qubit, N]): Target qubits.
    """
    gate.cz(controls, targets)

h

h(qubits: IList[Qubit, Any]) -> None

Apply a Hadamard gate to a group of qubits.

Parameters:

Name Type Description Default
qubits IList[Qubit, Any]

Target qubits.

required
Source code in .venv/lib/python3.12/site-packages/bloqade/squin/stdlib/broadcast/gate.py
54
55
56
57
58
59
60
61
@kernel
def h(qubits: ilist.IList[Qubit, Any]) -> None:
    """Apply a Hadamard gate to a group of qubits.

    Args:
        qubits (ilist.IList[Qubit, Any]): Target qubits.
    """
    gate.h(qubits)

rx

rx(angle: float, qubits: IList[Qubit, Any]) -> None

Apply an RX rotation gate to a group of qubits.

Parameters:

Name Type Description Default
angle float

Rotation angle in radians.

required
qubits IList[Qubit, Any]

Target qubits.

required
Source code in .venv/lib/python3.12/site-packages/bloqade/squin/stdlib/broadcast/gate.py
164
165
166
167
168
169
170
171
172
@kernel
def rx(angle: float, qubits: ilist.IList[Qubit, Any]) -> None:
    """Apply an RX rotation gate to a group of qubits.

    Args:
        angle (float): Rotation angle in radians.
        qubits (ilist.IList[Qubit, Any]): Target qubits.
    """
    gate.rx(_radian_to_turn(angle), qubits)

ry

ry(angle: float, qubits: IList[Qubit, Any]) -> None

Apply an RY rotation gate to a group of qubits.

Parameters:

Name Type Description Default
angle float

Rotation angle in radians.

required
qubits IList[Qubit, Any]

Target qubits.

required
Source code in .venv/lib/python3.12/site-packages/bloqade/squin/stdlib/broadcast/gate.py
175
176
177
178
179
180
181
182
183
@kernel
def ry(angle: float, qubits: ilist.IList[Qubit, Any]) -> None:
    """Apply an RY rotation gate to a group of qubits.

    Args:
        angle (float): Rotation angle in radians.
        qubits (ilist.IList[Qubit, Any]): Target qubits.
    """
    gate.ry(_radian_to_turn(angle), qubits)

rz

rz(angle: float, qubits: IList[Qubit, Any]) -> None

Apply an RZ rotation gate to a group of qubits.

Parameters:

Name Type Description Default
angle float

Rotation angle in radians.

required
qubits IList[Qubit, Any]

Target qubits.

required
Source code in .venv/lib/python3.12/site-packages/bloqade/squin/stdlib/broadcast/gate.py
186
187
188
189
190
191
192
193
194
@kernel
def rz(angle: float, qubits: ilist.IList[Qubit, Any]) -> None:
    """Apply an RZ rotation gate to a group of qubits.

    Args:
        angle (float): Rotation angle in radians.
        qubits (ilist.IList[Qubit, Any]): Target qubits.
    """
    gate.rz(_radian_to_turn(angle), qubits)

s

s(qubits: IList[Qubit, Any]) -> None

Apply an S gate to a group of qubits.

Parameters:

Name Type Description Default
qubits IList[Qubit, Any]

Target qubits.

required
Source code in .venv/lib/python3.12/site-packages/bloqade/squin/stdlib/broadcast/gate.py
74
75
76
77
78
79
80
81
@kernel
def s(qubits: ilist.IList[Qubit, Any]) -> None:
    """Apply an S gate to a group of qubits.

    Args:
        qubits (ilist.IList[Qubit, Any]): Target qubits.
    """
    gate.s(qubits, adjoint=False)

s_adj

s_adj(qubits: IList[Qubit, Any]) -> None

Apply the adjoint of an S gate to a group of qubits.

Parameters:

Name Type Description Default
qubits IList[Qubit, Any]

Target qubits.

required
Source code in .venv/lib/python3.12/site-packages/bloqade/squin/stdlib/broadcast/gate.py
124
125
126
127
128
129
130
131
@kernel
def s_adj(qubits: ilist.IList[Qubit, Any]) -> None:
    """Apply the adjoint of an S gate to a group of qubits.

    Args:
        qubits (ilist.IList[Qubit, Any]): Target qubits.
    """
    gate.s(qubits, adjoint=True)

shift

shift(angle: float, qubits: IList[Qubit, Any]) -> None

Apply a phase shift to the |1> state to a group of qubits. Args: angle (float): Phase shift angle in radians. qubits (ilist.IList[qubit.Qubit, Any]): Target qubits.

Source code in .venv/lib/python3.12/site-packages/bloqade/squin/stdlib/broadcast/gate.py
253
254
255
256
257
258
259
260
@kernel
def shift(angle: float, qubits: ilist.IList[Qubit, Any]) -> None:
    """Apply a phase shift to the |1> state to a group of qubits.
    Args:
        angle (float): Phase shift angle in radians.
        qubits (ilist.IList[qubit.Qubit, Any]): Target qubits.
    """
    rz(angle / 2.0, qubits)

sqrt_x

sqrt_x(qubits: IList[Qubit, Any]) -> None

Apply a Sqrt(X) gate to a group of qubits.

Parameters:

Name Type Description Default
qubits IList[Qubit, Any]

Target qubits.

required
Source code in .venv/lib/python3.12/site-packages/bloqade/squin/stdlib/broadcast/gate.py
84
85
86
87
88
89
90
91
@kernel
def sqrt_x(qubits: ilist.IList[Qubit, Any]) -> None:
    """Apply a Sqrt(X) gate to a group of qubits.

    Args:
        qubits (ilist.IList[Qubit, Any]): Target qubits.
    """
    gate.sqrt_x(qubits, adjoint=False)

sqrt_x_adj

sqrt_x_adj(qubits: IList[Qubit, Any]) -> None

Apply the adjoint of a Sqrt(X) gate to a group of qubits.

Parameters:

Name Type Description Default
qubits IList[Qubit, Any]

Target qubits.

required
Source code in .venv/lib/python3.12/site-packages/bloqade/squin/stdlib/broadcast/gate.py
134
135
136
137
138
139
140
141
@kernel
def sqrt_x_adj(qubits: ilist.IList[Qubit, Any]) -> None:
    """Apply the adjoint of a Sqrt(X) gate to a group of qubits.

    Args:
        qubits (ilist.IList[Qubit, Any]): Target qubits.
    """
    gate.sqrt_x(qubits, adjoint=True)

sqrt_y

sqrt_y(qubits: IList[Qubit, Any]) -> None

Apply a sqrt(Y) gate to a group of qubits.

Parameters:

Name Type Description Default
qubits IList[Qubit, Any]

Target qubits.

required
Source code in .venv/lib/python3.12/site-packages/bloqade/squin/stdlib/broadcast/gate.py
 94
 95
 96
 97
 98
 99
100
101
@kernel
def sqrt_y(qubits: ilist.IList[Qubit, Any]) -> None:
    """Apply a sqrt(Y) gate to a group of qubits.

    Args:
        qubits (ilist.IList[Qubit, Any]): Target qubits.
    """
    gate.sqrt_y(qubits, adjoint=False)

sqrt_y_adj

sqrt_y_adj(qubits: IList[Qubit, Any]) -> None

Apply the adjoint of a Sqrt(Y) gate to a group of qubits.

Parameters:

Name Type Description Default
qubits IList[Qubit, Any]

Target qubits.

required
Source code in .venv/lib/python3.12/site-packages/bloqade/squin/stdlib/broadcast/gate.py
144
145
146
147
148
149
150
151
@kernel
def sqrt_y_adj(qubits: ilist.IList[Qubit, Any]) -> None:
    """Apply the adjoint of a Sqrt(Y) gate to a group of qubits.

    Args:
        qubits (ilist.IList[Qubit, Any]): Target qubits.
    """
    gate.sqrt_y(qubits, adjoint=True)

sqrt_z

sqrt_z(qubits: IList[Qubit, Any]) -> None

Apply a Sqrt(Z) gate to a group of qubits.

Parameters:

Name Type Description Default
qubits IList[Qubit, Any]

Target qubits.

required
Source code in .venv/lib/python3.12/site-packages/bloqade/squin/stdlib/broadcast/gate.py
104
105
106
107
108
109
110
111
@kernel
def sqrt_z(qubits: ilist.IList[Qubit, Any]) -> None:
    """Apply a Sqrt(Z) gate to a group of qubits.

    Args:
        qubits (ilist.IList[Qubit, Any]): Target qubits.
    """
    gate.s(qubits, adjoint=False)

sqrt_z_adj

sqrt_z_adj(qubits: IList[Qubit, Any]) -> None

Apply the adjoint of a Sqrt(Z) gate to a group of qubits.

Parameters:

Name Type Description Default
qubits IList[Qubit, Any]

Target qubits.

required
Source code in .venv/lib/python3.12/site-packages/bloqade/squin/stdlib/broadcast/gate.py
154
155
156
157
158
159
160
161
@kernel
def sqrt_z_adj(qubits: ilist.IList[Qubit, Any]) -> None:
    """Apply the adjoint of a Sqrt(Z) gate to a group of qubits.

    Args:
        qubits (ilist.IList[Qubit, Any]): Target qubits.
    """
    gate.s(qubits, adjoint=True)

t

t(qubits: IList[Qubit, Any]) -> None

Apply a T gate to a group of qubits.

Parameters:

Name Type Description Default
qubits IList[Qubit, Any]

Target qubits.

required
Source code in .venv/lib/python3.12/site-packages/bloqade/squin/stdlib/broadcast/gate.py
64
65
66
67
68
69
70
71
@kernel
def t(qubits: ilist.IList[Qubit, Any]) -> None:
    """Apply a T gate to a group of qubits.

    Args:
        qubits (ilist.IList[Qubit, Any]): Target qubits.
    """
    gate.t(qubits, adjoint=False)

t_adj

t_adj(qubits: IList[Qubit, Any]) -> None

Apply the adjoint of a T gate to a group of qubits.

Parameters:

Name Type Description Default
qubits IList[Qubit, Any]

Target qubits.

required
Source code in .venv/lib/python3.12/site-packages/bloqade/squin/stdlib/broadcast/gate.py
114
115
116
117
118
119
120
121
@kernel
def t_adj(qubits: ilist.IList[Qubit, Any]) -> None:
    """Apply the adjoint of a T gate to a group of qubits.

    Args:
        qubits (ilist.IList[Qubit, Any]): Target qubits.
    """
    gate.t(qubits, adjoint=True)

u3

u3(
    theta: float,
    phi: float,
    lam: float,
    qubits: IList[Qubit, Any],
)

Apply the U3 gate to a group of qubits.

The applied gate is represented by the unitary matrix given by:

\[ U3(\theta, \phi, \lambda) = R_z(\phi)R_y(\theta)R_z(\lambda) \]

Parameters:

Name Type Description Default
theta float

Rotation around Y axis (radians).

required
phi float

Global phase shift component (radians).

required
lam float

Z rotations in decomposition (radians).

required
qubits IList[Qubit, Any]

Target qubits.

required
Source code in .venv/lib/python3.12/site-packages/bloqade/squin/stdlib/broadcast/gate.py
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
@kernel
def u3(theta: float, phi: float, lam: float, qubits: ilist.IList[Qubit, Any]):
    """Apply the U3 gate to a group of qubits.

    The applied gate is represented by the unitary matrix given by:

    $$ U3(\\theta, \\phi, \\lambda) = R_z(\\phi)R_y(\\theta)R_z(\\lambda) $$

    Args:
        theta (float): Rotation around Y axis (radians).
        phi (float): Global phase shift component (radians).
        lam (float): Z rotations in decomposition (radians).
        qubits (ilist.IList[qubit.Qubit, Any]): Target qubits.
    """
    gate.u3(_radian_to_turn(theta), _radian_to_turn(phi), _radian_to_turn(lam), qubits)

x

x(qubits: IList[Qubit, Any]) -> None

Apply a Pauli-X gate to a group of qubits.

Parameters:

Name Type Description Default
qubits IList[Qubit, Any]

Target qubits.

required
Source code in .venv/lib/python3.12/site-packages/bloqade/squin/stdlib/broadcast/gate.py
24
25
26
27
28
29
30
31
@kernel
def x(qubits: ilist.IList[Qubit, Any]) -> None:
    """Apply a Pauli-X gate to a group of qubits.

    Args:
        qubits (ilist.IList[Qubit, Any]): Target qubits.
    """
    gate.x(qubits)

y

y(qubits: IList[Qubit, Any]) -> None

Apply a Pauli-Y gate to a group of qubits.

Parameters:

Name Type Description Default
qubits IList[Qubit, Any]

Target qubits.

required
Source code in .venv/lib/python3.12/site-packages/bloqade/squin/stdlib/broadcast/gate.py
34
35
36
37
38
39
40
41
@kernel
def y(qubits: ilist.IList[Qubit, Any]) -> None:
    """Apply a Pauli-Y gate to a group of qubits.

    Args:
        qubits (ilist.IList[Qubit, Any]): Target qubits.
    """
    gate.y(qubits)

z

z(qubits: IList[Qubit, Any]) -> None

Apply a Pauli-Z gate to a group of qubits.

Parameters:

Name Type Description Default
qubits IList[Qubit, Any]

Target qubits.

required
Source code in .venv/lib/python3.12/site-packages/bloqade/squin/stdlib/broadcast/gate.py
44
45
46
47
48
49
50
51
@kernel
def z(qubits: ilist.IList[Qubit, Any]) -> None:
    """Apply a Pauli-Z gate to a group of qubits.

    Args:
        qubits (ilist.IList[Qubit, Any]): Target qubits.
    """
    gate.z(qubits)