cirq-core 1.5.0.dev20250207140934__py3-none-any.whl → 1.5.0.dev20250207174300__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of cirq-core might be problematic. Click here for more details.
- cirq/_version.py +1 -1
- cirq/_version_test.py +1 -1
- cirq/circuits/circuit.py +1 -1
- cirq/circuits/moment.py +1 -1
- cirq/circuits/text_diagram_drawer.py +13 -45
- cirq/linalg/transformations.py +2 -2
- cirq/ops/clifford_gate.py +1 -1
- cirq/ops/dense_pauli_string.py +1 -1
- cirq/ops/gate_operation.py +1 -1
- cirq/ops/pauli_string_phasor.py +10 -10
- cirq/ops/pauli_sum_exponential.py +2 -3
- cirq/ops/phased_x_z_gate.py +1 -1
- cirq/ops/raw_types.py +2 -2
- cirq/ops/wait_gate.py +5 -7
- cirq/protocols/approximate_equality_protocol.py +5 -5
- cirq/protocols/commutes_protocol.py +5 -5
- cirq/protocols/equal_up_to_global_phase_protocol.py +3 -3
- cirq/testing/consistent_protocols.py +2 -2
- cirq/value/periodic_value.py +2 -2
- cirq/value/timestamp.py +2 -4
- {cirq_core-1.5.0.dev20250207140934.dist-info → cirq_core-1.5.0.dev20250207174300.dist-info}/METADATA +1 -1
- {cirq_core-1.5.0.dev20250207140934.dist-info → cirq_core-1.5.0.dev20250207174300.dist-info}/RECORD +25 -25
- {cirq_core-1.5.0.dev20250207140934.dist-info → cirq_core-1.5.0.dev20250207174300.dist-info}/LICENSE +0 -0
- {cirq_core-1.5.0.dev20250207140934.dist-info → cirq_core-1.5.0.dev20250207174300.dist-info}/WHEEL +0 -0
- {cirq_core-1.5.0.dev20250207140934.dist-info → cirq_core-1.5.0.dev20250207174300.dist-info}/top_level.txt +0 -0
cirq/_version.py
CHANGED
cirq/_version_test.py
CHANGED
cirq/circuits/circuit.py
CHANGED
|
@@ -216,7 +216,7 @@ class AbstractCircuit(abc.ABC):
|
|
|
216
216
|
and all(m0 == m1 for m0, m1 in zip(self.moments, other.moments))
|
|
217
217
|
)
|
|
218
218
|
|
|
219
|
-
def _approx_eq_(self, other: Any, atol:
|
|
219
|
+
def _approx_eq_(self, other: Any, atol: float) -> bool:
|
|
220
220
|
"""See `cirq.protocols.SupportsApproximateEquality`."""
|
|
221
221
|
if not isinstance(other, AbstractCircuit):
|
|
222
222
|
return NotImplemented
|
cirq/circuits/moment.py
CHANGED
|
@@ -349,7 +349,7 @@ class Moment:
|
|
|
349
349
|
|
|
350
350
|
return self is other or self._sorted_operations_() == other._sorted_operations_()
|
|
351
351
|
|
|
352
|
-
def _approx_eq_(self, other: Any, atol:
|
|
352
|
+
def _approx_eq_(self, other: Any, atol: float) -> bool:
|
|
353
353
|
"""See `cirq.protocols.SupportsApproximateEquality`."""
|
|
354
354
|
if not isinstance(other, type(self)):
|
|
355
355
|
return NotImplemented
|
|
@@ -25,7 +25,6 @@ from typing import (
|
|
|
25
25
|
Sequence,
|
|
26
26
|
Tuple,
|
|
27
27
|
TYPE_CHECKING,
|
|
28
|
-
Union,
|
|
29
28
|
)
|
|
30
29
|
|
|
31
30
|
import numpy as np
|
|
@@ -45,23 +44,11 @@ if TYPE_CHECKING:
|
|
|
45
44
|
|
|
46
45
|
_HorizontalLine = NamedTuple(
|
|
47
46
|
'_HorizontalLine',
|
|
48
|
-
[
|
|
49
|
-
('y', Union[int, float]),
|
|
50
|
-
('x1', Union[int, float]),
|
|
51
|
-
('x2', Union[int, float]),
|
|
52
|
-
('emphasize', bool),
|
|
53
|
-
('doubled', bool),
|
|
54
|
-
],
|
|
47
|
+
[('y', float), ('x1', float), ('x2', float), ('emphasize', bool), ('doubled', bool)],
|
|
55
48
|
)
|
|
56
49
|
_VerticalLine = NamedTuple(
|
|
57
50
|
'_VerticalLine',
|
|
58
|
-
[
|
|
59
|
-
('x', Union[int, float]),
|
|
60
|
-
('y1', Union[int, float]),
|
|
61
|
-
('y2', Union[int, float]),
|
|
62
|
-
('emphasize', bool),
|
|
63
|
-
('doubled', bool),
|
|
64
|
-
],
|
|
51
|
+
[('x', float), ('y1', float), ('y2', float), ('emphasize', bool), ('doubled', bool)],
|
|
65
52
|
)
|
|
66
53
|
_DiagramText = NamedTuple('_DiagramText', [('text', str), ('transposed_text', str)])
|
|
67
54
|
|
|
@@ -99,10 +86,10 @@ class TextDiagramDrawer:
|
|
|
99
86
|
self.vertical_lines: List[_VerticalLine] = (
|
|
100
87
|
[] if vertical_lines is None else list(vertical_lines)
|
|
101
88
|
)
|
|
102
|
-
self.horizontal_padding: Dict[int,
|
|
89
|
+
self.horizontal_padding: Dict[int, float] = (
|
|
103
90
|
dict() if horizontal_padding is None else dict(horizontal_padding)
|
|
104
91
|
)
|
|
105
|
-
self.vertical_padding: Dict[int,
|
|
92
|
+
self.vertical_padding: Dict[int, float] = (
|
|
106
93
|
dict() if vertical_padding is None else dict(vertical_padding)
|
|
107
94
|
)
|
|
108
95
|
|
|
@@ -171,24 +158,14 @@ class TextDiagramDrawer:
|
|
|
171
158
|
raise ValueError("Line is neither horizontal nor vertical")
|
|
172
159
|
|
|
173
160
|
def vertical_line(
|
|
174
|
-
self,
|
|
175
|
-
x: Union[int, float],
|
|
176
|
-
y1: Union[int, float],
|
|
177
|
-
y2: Union[int, float],
|
|
178
|
-
emphasize: bool = False,
|
|
179
|
-
doubled: bool = False,
|
|
161
|
+
self, x: float, y1: float, y2: float, emphasize: bool = False, doubled: bool = False
|
|
180
162
|
) -> None:
|
|
181
163
|
"""Adds a line from (x, y1) to (x, y2)."""
|
|
182
164
|
y1, y2 = sorted([y1, y2])
|
|
183
165
|
self.vertical_lines.append(_VerticalLine(x, y1, y2, emphasize, doubled))
|
|
184
166
|
|
|
185
167
|
def horizontal_line(
|
|
186
|
-
self,
|
|
187
|
-
y: Union[int, float],
|
|
188
|
-
x1: Union[int, float],
|
|
189
|
-
x2: Union[int, float],
|
|
190
|
-
emphasize: bool = False,
|
|
191
|
-
doubled: bool = False,
|
|
168
|
+
self, y: float, x1: float, x2: float, emphasize: bool = False, doubled: bool = False
|
|
192
169
|
) -> None:
|
|
193
170
|
"""Adds a line from (x1, y) to (x2, y)."""
|
|
194
171
|
x1, x2 = sorted([x1, x2])
|
|
@@ -228,26 +205,21 @@ class TextDiagramDrawer:
|
|
|
228
205
|
max_y = max(max_y, v.y1, v.y2)
|
|
229
206
|
return 1 + int(max_y)
|
|
230
207
|
|
|
231
|
-
def force_horizontal_padding_after(self, index: int, padding:
|
|
208
|
+
def force_horizontal_padding_after(self, index: int, padding: float) -> None:
|
|
232
209
|
"""Change the padding after the given column."""
|
|
233
210
|
self.horizontal_padding[index] = padding
|
|
234
211
|
|
|
235
|
-
def force_vertical_padding_after(self, index: int, padding:
|
|
212
|
+
def force_vertical_padding_after(self, index: int, padding: float) -> None:
|
|
236
213
|
"""Change the padding after the given row."""
|
|
237
214
|
self.vertical_padding[index] = padding
|
|
238
215
|
|
|
239
|
-
def _transform_coordinates(
|
|
240
|
-
self,
|
|
241
|
-
func: Callable[
|
|
242
|
-
[Union[int, float], Union[int, float]], Tuple[Union[int, float], Union[int, float]]
|
|
243
|
-
],
|
|
244
|
-
) -> None:
|
|
216
|
+
def _transform_coordinates(self, func: Callable[[float, float], Tuple[float, float]]) -> None:
|
|
245
217
|
"""Helper method to transformer either row or column coordinates."""
|
|
246
218
|
|
|
247
|
-
def func_x(x:
|
|
219
|
+
def func_x(x: float) -> float:
|
|
248
220
|
return func(x, 0)[0]
|
|
249
221
|
|
|
250
|
-
def func_y(y:
|
|
222
|
+
def func_y(y: float) -> float:
|
|
251
223
|
return func(0, y)[1]
|
|
252
224
|
|
|
253
225
|
self.entries = {
|
|
@@ -271,9 +243,7 @@ class TextDiagramDrawer:
|
|
|
271
243
|
def insert_empty_columns(self, x: int, amount: int = 1) -> None:
|
|
272
244
|
"""Insert a number of columns after the given column."""
|
|
273
245
|
|
|
274
|
-
def transform_columns(
|
|
275
|
-
column: Union[int, float], row: Union[int, float]
|
|
276
|
-
) -> Tuple[Union[int, float], Union[int, float]]:
|
|
246
|
+
def transform_columns(column: float, row: float) -> Tuple[float, float]:
|
|
277
247
|
return column + (amount if column >= x else 0), row
|
|
278
248
|
|
|
279
249
|
self._transform_coordinates(transform_columns)
|
|
@@ -281,9 +251,7 @@ class TextDiagramDrawer:
|
|
|
281
251
|
def insert_empty_rows(self, y: int, amount: int = 1) -> None:
|
|
282
252
|
"""Insert a number of rows after the given row."""
|
|
283
253
|
|
|
284
|
-
def transform_rows(
|
|
285
|
-
column: Union[int, float], row: Union[int, float]
|
|
286
|
-
) -> Tuple[Union[int, float], Union[int, float]]:
|
|
254
|
+
def transform_rows(column: float, row: float) -> Tuple[float, float]:
|
|
287
255
|
return column, row + (amount if row >= y else 0)
|
|
288
256
|
|
|
289
257
|
self._transform_coordinates(transform_rows)
|
cirq/linalg/transformations.py
CHANGED
|
@@ -422,7 +422,7 @@ class EntangledStateError(ValueError):
|
|
|
422
422
|
|
|
423
423
|
|
|
424
424
|
def partial_trace_of_state_vector_as_mixture(
|
|
425
|
-
state_vector: np.ndarray, keep_indices: List[int], *, atol:
|
|
425
|
+
state_vector: np.ndarray, keep_indices: List[int], *, atol: float = 1e-8
|
|
426
426
|
) -> Tuple[Tuple[float, np.ndarray], ...]:
|
|
427
427
|
"""Returns a mixture representing a state vector with only some qubits kept.
|
|
428
428
|
|
|
@@ -481,7 +481,7 @@ def sub_state_vector(
|
|
|
481
481
|
keep_indices: List[int],
|
|
482
482
|
*,
|
|
483
483
|
default: np.ndarray = RaiseValueErrorIfNotProvided,
|
|
484
|
-
atol:
|
|
484
|
+
atol: float = 1e-6,
|
|
485
485
|
) -> np.ndarray:
|
|
486
486
|
r"""Attempts to factor a state vector into two parts and return one of them.
|
|
487
487
|
|
cirq/ops/clifford_gate.py
CHANGED
|
@@ -742,7 +742,7 @@ class SingleQubitCliffordGate(CliffordGate):
|
|
|
742
742
|
z = -0.5 if x_to_flip else 0.5
|
|
743
743
|
return phased_x_z_gate.PhasedXZGate(x_exponent=x, z_exponent=z, axis_phase_exponent=a)
|
|
744
744
|
|
|
745
|
-
def __pow__(self, exponent:
|
|
745
|
+
def __pow__(self, exponent: float) -> 'SingleQubitCliffordGate':
|
|
746
746
|
if int(exponent) == exponent:
|
|
747
747
|
# The single qubit Clifford gates are a group of size 24
|
|
748
748
|
ret_gate = super().__pow__(int(exponent) % 24)
|
cirq/ops/dense_pauli_string.py
CHANGED
|
@@ -203,7 +203,7 @@ class BaseDensePauliString(raw_types.Gate, metaclass=abc.ABCMeta):
|
|
|
203
203
|
def __pos__(self):
|
|
204
204
|
return self
|
|
205
205
|
|
|
206
|
-
def __pow__(self, power:
|
|
206
|
+
def __pow__(self, power: float) -> Union[NotImplementedType, Self]:
|
|
207
207
|
concrete_class = type(self)
|
|
208
208
|
if isinstance(power, int):
|
|
209
209
|
i_group = [1, +1j, -1, -1j]
|
cirq/ops/gate_operation.py
CHANGED
|
@@ -360,7 +360,7 @@ class GateOperation(raw_types.Operation):
|
|
|
360
360
|
return protocols.qasm(self.gate, args=args, qubits=self.qubits, default=None)
|
|
361
361
|
|
|
362
362
|
def _equal_up_to_global_phase_(
|
|
363
|
-
self, other: Any, atol:
|
|
363
|
+
self, other: Any, atol: float = 1e-8
|
|
364
364
|
) -> Union[NotImplementedType, bool]:
|
|
365
365
|
if not isinstance(other, type(self)):
|
|
366
366
|
return NotImplemented
|
cirq/ops/pauli_string_phasor.py
CHANGED
|
@@ -66,8 +66,8 @@ class PauliStringPhasor(gate_operation.GateOperation):
|
|
|
66
66
|
pauli_string: ps.PauliString,
|
|
67
67
|
qubits: Optional[Sequence['cirq.Qid']] = None,
|
|
68
68
|
*,
|
|
69
|
-
exponent_neg:
|
|
70
|
-
exponent_pos:
|
|
69
|
+
exponent_neg: 'cirq.TParamVal' = 1,
|
|
70
|
+
exponent_pos: 'cirq.TParamVal' = 0,
|
|
71
71
|
) -> None:
|
|
72
72
|
"""Initializes the operation.
|
|
73
73
|
|
|
@@ -112,12 +112,12 @@ class PauliStringPhasor(gate_operation.GateOperation):
|
|
|
112
112
|
return cast(PauliStringPhasorGate, self._gate)
|
|
113
113
|
|
|
114
114
|
@property
|
|
115
|
-
def exponent_neg(self) ->
|
|
115
|
+
def exponent_neg(self) -> 'cirq.TParamVal':
|
|
116
116
|
"""The negative exponent."""
|
|
117
117
|
return self.gate.exponent_neg
|
|
118
118
|
|
|
119
119
|
@property
|
|
120
|
-
def exponent_pos(self) ->
|
|
120
|
+
def exponent_pos(self) -> 'cirq.TParamVal':
|
|
121
121
|
"""The positive exponent."""
|
|
122
122
|
return self.gate.exponent_pos
|
|
123
123
|
|
|
@@ -127,7 +127,7 @@ class PauliStringPhasor(gate_operation.GateOperation):
|
|
|
127
127
|
return self._pauli_string
|
|
128
128
|
|
|
129
129
|
@property
|
|
130
|
-
def exponent_relative(self) ->
|
|
130
|
+
def exponent_relative(self) -> 'cirq.TParamVal':
|
|
131
131
|
"""The relative exponent between negative and positive exponents."""
|
|
132
132
|
return self.gate.exponent_relative
|
|
133
133
|
|
|
@@ -278,8 +278,8 @@ class PauliStringPhasorGate(raw_types.Gate):
|
|
|
278
278
|
self,
|
|
279
279
|
dense_pauli_string: dps.DensePauliString,
|
|
280
280
|
*,
|
|
281
|
-
exponent_neg:
|
|
282
|
-
exponent_pos:
|
|
281
|
+
exponent_neg: 'cirq.TParamVal' = 1,
|
|
282
|
+
exponent_pos: 'cirq.TParamVal' = 0,
|
|
283
283
|
) -> None:
|
|
284
284
|
"""Initializes the PauliStringPhasorGate.
|
|
285
285
|
|
|
@@ -309,17 +309,17 @@ class PauliStringPhasorGate(raw_types.Gate):
|
|
|
309
309
|
self._exponent_pos = value.canonicalize_half_turns(exponent_pos)
|
|
310
310
|
|
|
311
311
|
@property
|
|
312
|
-
def exponent_relative(self) ->
|
|
312
|
+
def exponent_relative(self) -> 'cirq.TParamVal':
|
|
313
313
|
"""The relative exponent between negative and positive exponents."""
|
|
314
314
|
return value.canonicalize_half_turns(self.exponent_neg - self.exponent_pos)
|
|
315
315
|
|
|
316
316
|
@property
|
|
317
|
-
def exponent_neg(self) ->
|
|
317
|
+
def exponent_neg(self) -> 'cirq.TParamVal':
|
|
318
318
|
"""The negative exponent."""
|
|
319
319
|
return self._exponent_neg
|
|
320
320
|
|
|
321
321
|
@property
|
|
322
|
-
def exponent_pos(self) ->
|
|
322
|
+
def exponent_pos(self) -> 'cirq.TParamVal':
|
|
323
323
|
"""The positive exponent."""
|
|
324
324
|
return self._exponent_pos
|
|
325
325
|
|
|
@@ -11,10 +11,9 @@
|
|
|
11
11
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
12
|
# See the License for the specific language governing permissions and
|
|
13
13
|
# limitations under the License.
|
|
14
|
-
from typing import Any, Iterator, Tuple,
|
|
14
|
+
from typing import Any, Iterator, Tuple, TYPE_CHECKING
|
|
15
15
|
|
|
16
16
|
import numpy as np
|
|
17
|
-
import sympy
|
|
18
17
|
|
|
19
18
|
from cirq import linalg, protocols, value, _compat
|
|
20
19
|
from cirq.ops import linear_combinations, pauli_string_phasor
|
|
@@ -45,7 +44,7 @@ class PauliSumExponential:
|
|
|
45
44
|
def __init__(
|
|
46
45
|
self,
|
|
47
46
|
pauli_sum_like: 'cirq.PauliSumLike',
|
|
48
|
-
exponent:
|
|
47
|
+
exponent: 'cirq.TParamVal' = 1,
|
|
49
48
|
atol: float = 1e-8,
|
|
50
49
|
):
|
|
51
50
|
pauli_sum = linear_combinations.PauliSum.wrap(pauli_sum_like)
|
cirq/ops/phased_x_z_gate.py
CHANGED
|
@@ -195,7 +195,7 @@ class PhasedXZGate(raw_types.Gate):
|
|
|
195
195
|
yield ops.X(q) ** self._x_exponent
|
|
196
196
|
yield ops.Z(q) ** (self._axis_phase_exponent + self._z_exponent)
|
|
197
197
|
|
|
198
|
-
def __pow__(self, exponent:
|
|
198
|
+
def __pow__(self, exponent: float) -> 'PhasedXZGate':
|
|
199
199
|
if exponent == 1:
|
|
200
200
|
return self
|
|
201
201
|
if exponent == -1:
|
cirq/ops/raw_types.py
CHANGED
|
@@ -465,7 +465,7 @@ class Gate(metaclass=value.ABCMetaImplementAnyOneOf):
|
|
|
465
465
|
raise NotImplementedError
|
|
466
466
|
|
|
467
467
|
def _equal_up_to_global_phase_(
|
|
468
|
-
self, other: Any, atol:
|
|
468
|
+
self, other: Any, atol: float = 1e-8
|
|
469
469
|
) -> Union[NotImplementedType, bool]:
|
|
470
470
|
"""Default fallback for gates that do not implement this protocol."""
|
|
471
471
|
try:
|
|
@@ -997,7 +997,7 @@ class TaggedOperation(Operation):
|
|
|
997
997
|
return protocols.qasm(self.sub_operation, args=args, default=None)
|
|
998
998
|
|
|
999
999
|
def _equal_up_to_global_phase_(
|
|
1000
|
-
self, other: Any, atol:
|
|
1000
|
+
self, other: Any, atol: float = 1e-8
|
|
1001
1001
|
) -> Union[NotImplementedType, bool]:
|
|
1002
1002
|
return protocols.equal_up_to_global_phase(self.sub_operation, other, atol=atol)
|
|
1003
1003
|
|
cirq/ops/wait_gate.py
CHANGED
|
@@ -11,9 +11,7 @@
|
|
|
11
11
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
12
|
# See the License for the specific language governing permissions and
|
|
13
13
|
# limitations under the License.
|
|
14
|
-
from typing import AbstractSet, Any, Dict, Optional, Tuple, TYPE_CHECKING
|
|
15
|
-
|
|
16
|
-
import sympy
|
|
14
|
+
from typing import AbstractSet, Any, Dict, Optional, Tuple, TYPE_CHECKING
|
|
17
15
|
|
|
18
16
|
from cirq import value, protocols
|
|
19
17
|
from cirq.ops import raw_types
|
|
@@ -136,10 +134,10 @@ class WaitGate(raw_types.Gate):
|
|
|
136
134
|
def wait(
|
|
137
135
|
*target: 'cirq.Qid',
|
|
138
136
|
duration: 'cirq.DURATION_LIKE' = None,
|
|
139
|
-
picos:
|
|
140
|
-
nanos:
|
|
141
|
-
micros:
|
|
142
|
-
millis:
|
|
137
|
+
picos: 'cirq.TParamVal' = 0,
|
|
138
|
+
nanos: 'cirq.TParamVal' = 0,
|
|
139
|
+
micros: 'cirq.TParamVal' = 0,
|
|
140
|
+
millis: 'cirq.TParamVal' = 0,
|
|
143
141
|
) -> raw_types.Operation:
|
|
144
142
|
"""Creates a WaitGate applied to all the given qubits.
|
|
145
143
|
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
# See the License for the specific language governing permissions and
|
|
13
13
|
# limitations under the License.
|
|
14
14
|
|
|
15
|
-
from typing import Any,
|
|
15
|
+
from typing import Any, Iterable
|
|
16
16
|
from fractions import Fraction
|
|
17
17
|
from decimal import Decimal
|
|
18
18
|
|
|
@@ -29,7 +29,7 @@ class SupportsApproximateEquality(Protocol):
|
|
|
29
29
|
"""Object which can be compared approximately."""
|
|
30
30
|
|
|
31
31
|
@doc_private
|
|
32
|
-
def _approx_eq_(self, other: Any, *, atol:
|
|
32
|
+
def _approx_eq_(self, other: Any, *, atol: float) -> bool:
|
|
33
33
|
"""Approximate comparator.
|
|
34
34
|
|
|
35
35
|
Types implementing this protocol define their own logic for approximate
|
|
@@ -47,7 +47,7 @@ class SupportsApproximateEquality(Protocol):
|
|
|
47
47
|
"""
|
|
48
48
|
|
|
49
49
|
|
|
50
|
-
def approx_eq(val: Any, other: Any, *, atol:
|
|
50
|
+
def approx_eq(val: Any, other: Any, *, atol: float = 1e-8) -> bool:
|
|
51
51
|
"""Approximately compares two objects.
|
|
52
52
|
|
|
53
53
|
If `val` implements SupportsApproxEquality protocol then it is invoked and
|
|
@@ -120,7 +120,7 @@ def approx_eq(val: Any, other: Any, *, atol: Union[int, float] = 1e-8) -> bool:
|
|
|
120
120
|
return val == other
|
|
121
121
|
|
|
122
122
|
|
|
123
|
-
def _approx_eq_iterables(val: Iterable, other: Iterable, *, atol:
|
|
123
|
+
def _approx_eq_iterables(val: Iterable, other: Iterable, *, atol: float) -> bool:
|
|
124
124
|
"""Iterates over arguments and calls approx_eq recursively.
|
|
125
125
|
|
|
126
126
|
Types of `val` and `other` does not necessarily needs to match each other.
|
|
@@ -161,7 +161,7 @@ def _approx_eq_iterables(val: Iterable, other: Iterable, *, atol: Union[int, flo
|
|
|
161
161
|
return True
|
|
162
162
|
|
|
163
163
|
|
|
164
|
-
def _isclose(a: Any, b: Any, *, atol:
|
|
164
|
+
def _isclose(a: Any, b: Any, *, atol: float) -> bool:
|
|
165
165
|
"""Convenience wrapper around np.isclose."""
|
|
166
166
|
|
|
167
167
|
# support casting some standard numeric types
|
|
@@ -74,17 +74,17 @@ class SupportsCommutes(Protocol):
|
|
|
74
74
|
|
|
75
75
|
|
|
76
76
|
@overload
|
|
77
|
-
def commutes(v1: Any, v2: Any, *, atol:
|
|
77
|
+
def commutes(v1: Any, v2: Any, *, atol: float = 1e-8) -> bool: ...
|
|
78
78
|
|
|
79
79
|
|
|
80
80
|
@overload
|
|
81
81
|
def commutes(
|
|
82
|
-
v1: Any, v2: Any, *, atol:
|
|
82
|
+
v1: Any, v2: Any, *, atol: float = 1e-8, default: TDefault
|
|
83
83
|
) -> Union[bool, TDefault]: ...
|
|
84
84
|
|
|
85
85
|
|
|
86
86
|
def commutes(
|
|
87
|
-
v1: Any, v2: Any, *, atol:
|
|
87
|
+
v1: Any, v2: Any, *, atol: float = 1e-8, default: Any = RaiseTypeErrorIfNotProvided
|
|
88
88
|
) -> Any:
|
|
89
89
|
"""Determines whether two values commute.
|
|
90
90
|
|
|
@@ -147,7 +147,7 @@ def commutes(
|
|
|
147
147
|
)
|
|
148
148
|
|
|
149
149
|
|
|
150
|
-
def definitely_commutes(v1: Any, v2: Any, *, atol:
|
|
150
|
+
def definitely_commutes(v1: Any, v2: Any, *, atol: float = 1e-8) -> bool:
|
|
151
151
|
"""Determines whether two values definitely commute.
|
|
152
152
|
|
|
153
153
|
Returns:
|
|
@@ -158,7 +158,7 @@ def definitely_commutes(v1: Any, v2: Any, *, atol: Union[int, float] = 1e-8) ->
|
|
|
158
158
|
|
|
159
159
|
|
|
160
160
|
def _strat_commutes_from_commutes(
|
|
161
|
-
v1: Any, v2: Any, *, atol:
|
|
161
|
+
v1: Any, v2: Any, *, atol: float = 1e-8
|
|
162
162
|
) -> Union[bool, NotImplementedType, None]:
|
|
163
163
|
"""Attempts to determine commutativity via the objects' _commutes_
|
|
164
164
|
method."""
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
|
|
15
15
|
import numbers
|
|
16
16
|
from collections.abc import Iterable
|
|
17
|
-
from typing import Any
|
|
17
|
+
from typing import Any
|
|
18
18
|
|
|
19
19
|
import numpy as np
|
|
20
20
|
from typing_extensions import Protocol
|
|
@@ -28,7 +28,7 @@ class SupportsEqualUpToGlobalPhase(Protocol):
|
|
|
28
28
|
"""Object which can be compared for equality mod global phase."""
|
|
29
29
|
|
|
30
30
|
@doc_private
|
|
31
|
-
def _equal_up_to_global_phase_(self, other: Any, *, atol:
|
|
31
|
+
def _equal_up_to_global_phase_(self, other: Any, *, atol: float) -> bool:
|
|
32
32
|
"""Approximate comparator.
|
|
33
33
|
|
|
34
34
|
Types implementing this protocol define their own logic for comparison
|
|
@@ -46,7 +46,7 @@ class SupportsEqualUpToGlobalPhase(Protocol):
|
|
|
46
46
|
"""
|
|
47
47
|
|
|
48
48
|
|
|
49
|
-
def equal_up_to_global_phase(val: Any, other: Any, *, atol:
|
|
49
|
+
def equal_up_to_global_phase(val: Any, other: Any, *, atol: float = 1e-8) -> bool:
|
|
50
50
|
"""Determine whether two objects are equal up to global phase.
|
|
51
51
|
|
|
52
52
|
If `val` implements a `_equal_up_to_global_phase_` method then it is
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
# limitations under the License.
|
|
14
14
|
|
|
15
15
|
import itertools
|
|
16
|
-
from typing import Any, Dict, Optional, Sequence, Type
|
|
16
|
+
from typing import Any, Dict, Optional, Sequence, Type
|
|
17
17
|
|
|
18
18
|
import numpy as np
|
|
19
19
|
import sympy
|
|
@@ -175,7 +175,7 @@ def _assert_meets_standards_helper(
|
|
|
175
175
|
|
|
176
176
|
|
|
177
177
|
def assert_commutes_magic_method_consistent_with_unitaries(
|
|
178
|
-
*vals: Sequence[Any], atol:
|
|
178
|
+
*vals: Sequence[Any], atol: float = 1e-8
|
|
179
179
|
) -> None:
|
|
180
180
|
if any(isinstance(val, ops.Operation) for val in vals):
|
|
181
181
|
raise TypeError('`_commutes_` need not be consistent with unitaries for `Operation`.')
|
cirq/value/periodic_value.py
CHANGED
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
# See the License for the specific language governing permissions and
|
|
13
13
|
# limitations under the License.
|
|
14
14
|
|
|
15
|
-
from typing import AbstractSet, Any, TYPE_CHECKING
|
|
15
|
+
from typing import AbstractSet, Any, TYPE_CHECKING
|
|
16
16
|
|
|
17
17
|
import sympy
|
|
18
18
|
|
|
@@ -36,7 +36,7 @@ class PeriodicValue:
|
|
|
36
36
|
interval.
|
|
37
37
|
"""
|
|
38
38
|
|
|
39
|
-
def __init__(self, value:
|
|
39
|
+
def __init__(self, value: 'cirq.TParamVal', period: 'cirq.TParamVal'):
|
|
40
40
|
"""Initializes the equivalence class.
|
|
41
41
|
|
|
42
42
|
Args:
|
cirq/value/timestamp.py
CHANGED
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
"""A typed location in time that supports picosecond accuracy."""
|
|
15
15
|
|
|
16
16
|
from datetime import timedelta
|
|
17
|
-
from typing import
|
|
17
|
+
from typing import overload
|
|
18
18
|
|
|
19
19
|
from cirq.value.duration import Duration
|
|
20
20
|
|
|
@@ -24,9 +24,7 @@ class Timestamp:
|
|
|
24
24
|
|
|
25
25
|
Supports affine operations against Duration."""
|
|
26
26
|
|
|
27
|
-
def __init__(
|
|
28
|
-
self, *, picos: Union[int, float] = 0, nanos: Union[int, float] = 0 # Forces keyword args.
|
|
29
|
-
) -> None:
|
|
27
|
+
def __init__(self, *, picos: float = 0, nanos: float = 0) -> None: # Forces keyword args.
|
|
30
28
|
"""Initializes a Timestamp with a time specified in ns and/or ps.
|
|
31
29
|
|
|
32
30
|
The time is relative to some unspecified "time zero". If both picos and
|
{cirq_core-1.5.0.dev20250207140934.dist-info → cirq_core-1.5.0.dev20250207174300.dist-info}/METADATA
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: cirq-core
|
|
3
|
-
Version: 1.5.0.
|
|
3
|
+
Version: 1.5.0.dev20250207174300
|
|
4
4
|
Summary: A framework for creating, editing, and invoking Noisy Intermediate Scale Quantum (NISQ) circuits.
|
|
5
5
|
Home-page: http://github.com/quantumlib/cirq
|
|
6
6
|
Author: The Cirq Developers
|
{cirq_core-1.5.0.dev20250207140934.dist-info → cirq_core-1.5.0.dev20250207174300.dist-info}/RECORD
RENAMED
|
@@ -4,8 +4,8 @@ cirq/_compat_test.py,sha256=Qq3ZcfgD-Nb81cEppQdJqhAyrVqXKtfXZYGXT0p-Wh0,34718
|
|
|
4
4
|
cirq/_doc.py,sha256=yDyWUD_2JDS0gShfGRb-rdqRt9-WeL7DhkqX7np0Nko,2879
|
|
5
5
|
cirq/_import.py,sha256=p9gMHJscbtDDkfHOaulvd3Aer0pwUF5AXpL89XR8dNw,8402
|
|
6
6
|
cirq/_import_test.py,sha256=6K_v0riZJXOXUphHNkGA8MY-JcmGlezFaGmvrNhm3OQ,1015
|
|
7
|
-
cirq/_version.py,sha256=
|
|
8
|
-
cirq/_version_test.py,sha256=
|
|
7
|
+
cirq/_version.py,sha256=ZrJJ-1I_NIGXpaz031NvV1qcKqcOaN1O7ck0yUbU9kM,1206
|
|
8
|
+
cirq/_version_test.py,sha256=WSZXUff8GbiufEuVHuvw7WI_WeimnhKof5gB64qoOnw,147
|
|
9
9
|
cirq/conftest.py,sha256=X7yLFL8GLhg2CjPw0hp5e_dGASfvHx1-QT03aUbhKJw,1168
|
|
10
10
|
cirq/json_resolver_cache.py,sha256=p-vEOa-8GQ2cFIAdze-kd6C1un1uRvtujVPljVKaHBg,13557
|
|
11
11
|
cirq/py.typed,sha256=VFSlmh_lNwnaXzwY-ZuW-C2Ws5PkuDoVgBdNCs0jXJE,63
|
|
@@ -16,7 +16,7 @@ cirq/circuits/_box_drawing_character_data.py,sha256=QLoCXwcLL7091RdxEKO259goxt4R
|
|
|
16
16
|
cirq/circuits/_box_drawing_character_data_test.py,sha256=XO94z0piwZRHaNZHTf-5tKHQ4MKcDruMeRIKdT8GbYA,1624
|
|
17
17
|
cirq/circuits/_bucket_priority_queue.py,sha256=hxFuii2fKD8G6EKT_aVLEsA7FmSfqFXPwIbA0KsoSC4,6745
|
|
18
18
|
cirq/circuits/_bucket_priority_queue_test.py,sha256=t6u_hG7K2e2WKWrgCsKxNRtp4ghKwiCrp0_WSY0W25k,5288
|
|
19
|
-
cirq/circuits/circuit.py,sha256=
|
|
19
|
+
cirq/circuits/circuit.py,sha256=tnjeicaaYZdgC4nfNnXTOA2MXrOTuEwtUDkHAuCH2Pw,118161
|
|
20
20
|
cirq/circuits/circuit_operation.py,sha256=ebI2KBvQLcBYgjQXKO6y6jB2EDLgwtxdZBRs3hSYaLM,36438
|
|
21
21
|
cirq/circuits/circuit_operation_test.py,sha256=SFyM12Ky7-OVwl-jK3OTMMN0DD5hR6tWfx_v7m6HUMo,48866
|
|
22
22
|
cirq/circuits/circuit_test.py,sha256=BZjwavIekWR2hgG1yV0Acgt7-Q05cOjugozrLgYdx7k,161268
|
|
@@ -24,13 +24,13 @@ cirq/circuits/frozen_circuit.py,sha256=qSbLHqIszCbVipNZQy4N829v_mWf8N2926cYRzpxG
|
|
|
24
24
|
cirq/circuits/frozen_circuit_test.py,sha256=rHyii8hLhOQ6jdA8dC1OcYPGnyeBC4uY5Q53XspkkCk,4133
|
|
25
25
|
cirq/circuits/insert_strategy.py,sha256=L0OLXuo24TtBfdJGOAG2PsVDMrbvQl4iN5lUk6IPuyo,2851
|
|
26
26
|
cirq/circuits/insert_strategy_test.py,sha256=dgz13_ssa_GWqzzx5W4G4sJJw4SUHC3-g3K0_Z4TRiA,686
|
|
27
|
-
cirq/circuits/moment.py,sha256=
|
|
27
|
+
cirq/circuits/moment.py,sha256=Sv1Xxo1LIChH0Da2iHegbthOWd2Ibq0fsnj5ZrqqEkQ,26191
|
|
28
28
|
cirq/circuits/moment_test.py,sha256=oNHNXhiPEoCKbzeh16tRwiW1qZWlg4X2O_uiVDP1D58,27375
|
|
29
29
|
cirq/circuits/optimization_pass.py,sha256=uw3ne0-ebZo6GNjwfQMuQ3b5u9RCgyaXRfhpbljlxao,6468
|
|
30
30
|
cirq/circuits/optimization_pass_test.py,sha256=eQB0NBJ9EvqjgSFGQMgaHIh5niQhksdnvqSXhsj3nOg,5947
|
|
31
31
|
cirq/circuits/qasm_output.py,sha256=fHbD2OeRzC0ZIvpN551JMaXDMTih7z9ZUIeCY6zQDQU,13090
|
|
32
32
|
cirq/circuits/qasm_output_test.py,sha256=PawmzjqGpwauWgESqoi_U_iaYVZAMg_eIhZ_2VrPkPw,13634
|
|
33
|
-
cirq/circuits/text_diagram_drawer.py,sha256=
|
|
33
|
+
cirq/circuits/text_diagram_drawer.py,sha256=w--5J7YoLGQO2b6kFEg0KAQP0YbjVSnrDqnRABdsPyo,16572
|
|
34
34
|
cirq/circuits/text_diagram_drawer_test.py,sha256=2bSoBIeQajRi0aQxqYDpbMlT2eqpx_f-Cmg9XO6A9Jk,10750
|
|
35
35
|
cirq/contrib/__init__.py,sha256=Mha0eF2ci88OVQX3laQiXgdEVo0yGwM7R5a13ryQ8jM,1065
|
|
36
36
|
cirq/contrib/json.py,sha256=zX1l2tVWECSub076q8BmTLEZGl5FUS3Hnf-L2hQblsg,753
|
|
@@ -258,7 +258,7 @@ cirq/linalg/predicates.py,sha256=Q8BTlR4EvPg2KP9VodK78UEWYJbSCOTqRahn1DnFmSc,120
|
|
|
258
258
|
cirq/linalg/predicates_test.py,sha256=UVDkNH2ujI80JwJwsDjbTgyALZUQJAVVCoFN1T_LLf0,21503
|
|
259
259
|
cirq/linalg/tolerance.py,sha256=yHYVSHx2aoRci1aac9ZiM8OH1Bvy1Em-Rybnar701nE,1870
|
|
260
260
|
cirq/linalg/tolerance_test.py,sha256=wnmuXIGEn_mugGoNm3AigSgjV2DMFdj8xpgRTMBbO7A,2355
|
|
261
|
-
cirq/linalg/transformations.py,sha256=
|
|
261
|
+
cirq/linalg/transformations.py,sha256=iQZimH95XRaEomy264F75hcis6n_ycRhp_2KSIstofg,32119
|
|
262
262
|
cirq/linalg/transformations_test.py,sha256=ofrqw8H9109vVDBelSGkMjTPkmNinYsin4rvUE_iSn4,25095
|
|
263
263
|
cirq/neutral_atoms/__init__.py,sha256=VoQBkmZ5m4TPxjxShRixjqJbnc-IAnAWkGOPu8MBS5o,813
|
|
264
264
|
cirq/neutral_atoms/convert_to_neutral_atom_gates.py,sha256=SsXFh1-NoBGqp4yX8-jIbIw-AK40baA-qh-iTL1wS6Q,1070
|
|
@@ -271,7 +271,7 @@ cirq/ops/boolean_hamiltonian.py,sha256=li003lNq6zS8pNPTobqzfzYJvyvaIpCVo3wkliI6H
|
|
|
271
271
|
cirq/ops/boolean_hamiltonian_test.py,sha256=1ey5yfYZPKZDsfM3jpCPAOpbPs_y8i4K_WvDK2d5_4Y,8518
|
|
272
272
|
cirq/ops/classically_controlled_operation.py,sha256=M4NAcChYcz-a88oyIwOnV4uP06S18Cbef4VnhMmjyrA,10374
|
|
273
273
|
cirq/ops/classically_controlled_operation_test.py,sha256=nIYyXfNH4E2IibZSLk6QDVHpfJQbuI_iWwirCH8rhi8,50209
|
|
274
|
-
cirq/ops/clifford_gate.py,sha256=
|
|
274
|
+
cirq/ops/clifford_gate.py,sha256=ANMz7d05Lf8F99gvoWYSa2HBK5O70KtsAIdChoo9yNI,39750
|
|
275
275
|
cirq/ops/clifford_gate_test.py,sha256=zEdXXDA-M7wkHO6GTlltcWz6qyEiF0UaiWP8NwRTUmY,39270
|
|
276
276
|
cirq/ops/common_channels.py,sha256=go4yhaRw0XNAr3TUBJ59SOhn2SKxf6bHmmrOHPbBYCY,37259
|
|
277
277
|
cirq/ops/common_channels_test.py,sha256=nQsSSxu7vtedb3ZUuw4hNKIX7MYI4x8lxvLyWMZNt10,30079
|
|
@@ -285,7 +285,7 @@ cirq/ops/controlled_gate.py,sha256=8ELuov5mOUp_cNwwrwMEjB4NwDph4Cpi7ezABx86W8Y,1
|
|
|
285
285
|
cirq/ops/controlled_gate_test.py,sha256=oasofj1Qu4iD2xJffAGDSDB8FN0xzhn5t912rqkKUXI,23083
|
|
286
286
|
cirq/ops/controlled_operation.py,sha256=7X6NgihCuV5iaK-ya9cYZHlBAgN-eFcOFZ3PhGYlkFY,13998
|
|
287
287
|
cirq/ops/controlled_operation_test.py,sha256=iRRkzxMmsChYiWYMuz5-q3xq2mWV1wJY8Y8QQ1ieP5c,16443
|
|
288
|
-
cirq/ops/dense_pauli_string.py,sha256=
|
|
288
|
+
cirq/ops/dense_pauli_string.py,sha256=cDEWmS_r0mD4djxgUdxfE9zCsefB5P6pbkGP89stbIE,24457
|
|
289
289
|
cirq/ops/dense_pauli_string_test.py,sha256=duvgzhgTV9wuem4kDSwtL62SEUCThkz1tdP984-C4_s,21504
|
|
290
290
|
cirq/ops/diagonal_gate.py,sha256=_-Pzt3T6U1Oq6DwExIjCmVYBBSWY6EoBNCKHpzWIRzk,9021
|
|
291
291
|
cirq/ops/diagonal_gate_test.py,sha256=cPHxjc7g2oTcXt5UFm470oo0eJupubSNzs4TccKHlSc,6223
|
|
@@ -297,7 +297,7 @@ cirq/ops/fsim_gate.py,sha256=Avzlcb_O201K0_tBmNR5m9fWkpBM7Nby0MfJjNJ9g_8,20136
|
|
|
297
297
|
cirq/ops/fsim_gate_test.py,sha256=4kFk0ALzTmaskQURHPl6JerNvw8gbZn49nt1_WAjpdY,25671
|
|
298
298
|
cirq/ops/gate_features.py,sha256=414mSi3kgKSwLOeAG_WEZKn8ZMaLtOowed7os1qSnM4,1049
|
|
299
299
|
cirq/ops/gate_features_test.py,sha256=mnlqJnSpllcOnTUdvmUs_ssnPRhAIgHhKIAK2Z86Dfg,2347
|
|
300
|
-
cirq/ops/gate_operation.py,sha256=
|
|
300
|
+
cirq/ops/gate_operation.py,sha256=VHyA2T-G7afqEjYhEA7yRT72tsQOPGxg8ULsGrSDBJc,13708
|
|
301
301
|
cirq/ops/gate_operation_test.py,sha256=3sXTtOR3tkrF6C0jCcDexC0qrHCiqcjRClsvc9NXPq8,17457
|
|
302
302
|
cirq/ops/gateset.py,sha256=Tx1CIlve0RhnX9jHZsCVw7EHtfC6b3drbBncmCEtcsQ,21634
|
|
303
303
|
cirq/ops/gateset_test.py,sha256=BY5UJ1k3NC0jz0d4yocyO1qcQU6e4UbN9mapWE7z7AM,16361
|
|
@@ -334,12 +334,12 @@ cirq/ops/pauli_interaction_gate_test.py,sha256=U9ORW5Ayx5PESPFiGESzWY-02qHklYcM1
|
|
|
334
334
|
cirq/ops/pauli_measurement_gate.py,sha256=AS9tzLGAOhJzRzVsW9m-WPz5Wx0sMS1jzhppn5qtW84,7239
|
|
335
335
|
cirq/ops/pauli_measurement_gate_test.py,sha256=uh3J0Ps3V3578V8qkRiEgIl6jBiv8DsXlk_vzLvOEhQ,6720
|
|
336
336
|
cirq/ops/pauli_string.py,sha256=M40LNLf6_RhEtMW2VmF2rzySTCbQlmBELFEzp6msES0,67402
|
|
337
|
-
cirq/ops/pauli_string_phasor.py,sha256=
|
|
337
|
+
cirq/ops/pauli_string_phasor.py,sha256=M5AGwwMueY-y7bl50KJHiYql7PF4AcsdBBZhsxkhCWE,17519
|
|
338
338
|
cirq/ops/pauli_string_phasor_test.py,sha256=91YXIm9RbqrG8dPdA18E9i4G7JT1epGvM4BZu6_YVzw,27796
|
|
339
339
|
cirq/ops/pauli_string_raw_types.py,sha256=6CgdPWYmOziP4uZbrIsRW0sDSMmV1GioGdAk0owFITU,2240
|
|
340
340
|
cirq/ops/pauli_string_raw_types_test.py,sha256=SZPluslZPGffPq93F5apESBygWZ2cj7BEX6dQuawRQE,2648
|
|
341
341
|
cirq/ops/pauli_string_test.py,sha256=ht9FDsphSQgb-dU2YqMuQvzzFKTMS3yS1hMrYbIvawY,74663
|
|
342
|
-
cirq/ops/pauli_sum_exponential.py,sha256=
|
|
342
|
+
cirq/ops/pauli_sum_exponential.py,sha256=_9JERthST1PRwunplPQKIaJaOL45Kbl1oJ5CYUJWlTU,4876
|
|
343
343
|
cirq/ops/pauli_sum_exponential_test.py,sha256=wVnJ3FSpEimHT8ERVkmljALrgSuuDYo6GRg91uJ7ztk,5370
|
|
344
344
|
cirq/ops/permutation_gate.py,sha256=2h8n76N2M3nu5MA8JkRQgVLByq5cOEluKUN042ClSRs,4196
|
|
345
345
|
cirq/ops/permutation_gate_test.py,sha256=SwXRgsZNLn5jnGhfcKPJ0J0CIssNzElbFaqylV2TXD8,3281
|
|
@@ -347,7 +347,7 @@ cirq/ops/phased_iswap_gate.py,sha256=Q-1PuSc4F3gsZL9UUN8EgrO31Ix6mA-7HoUIndvePbk
|
|
|
347
347
|
cirq/ops/phased_iswap_gate_test.py,sha256=tB1MqH8Y0Kgr0QIxs1kq1yl2g0mKYI7Q_AaadBhFe2U,7360
|
|
348
348
|
cirq/ops/phased_x_gate.py,sha256=RPZAdxRh9tJk8TFU5cttSjQSx66156t8j1hVupfJ_tM,9961
|
|
349
349
|
cirq/ops/phased_x_gate_test.py,sha256=IpY-Z-MsqtYbyIEdxWu1NqgAJF2B7nddxPc2Hxafr4s,10202
|
|
350
|
-
cirq/ops/phased_x_z_gate.py,sha256=
|
|
350
|
+
cirq/ops/phased_x_z_gate.py,sha256=VIPSaVqwdCCMrApKln7W4152RDQFeauLabWRE2zTiLI,11518
|
|
351
351
|
cirq/ops/phased_x_z_gate_test.py,sha256=KK5-FD5zoaqZkw7p6UKxFddzaFWoxnQnE8LpCiKtIk8,10690
|
|
352
352
|
cirq/ops/projector.py,sha256=y3ignrYFmthdPm_pjJ0Y0xp8SGPviqcT07Y9KEZ231Y,5646
|
|
353
353
|
cirq/ops/projector_test.py,sha256=Wq7ddj-PV30yUXJxJoT3XIw2sIUC1AilnZ9m9N5Ejr8,9063
|
|
@@ -360,7 +360,7 @@ cirq/ops/qubit_order_or_list.py,sha256=WVnhQcOYCgAhiB4t47Kji-pN1tnvs--X5deCQwwGV
|
|
|
360
360
|
cirq/ops/qubit_order_test.py,sha256=B9xMIxlaI7YjRUNA6AkHJuUCFejGYw-lT7ZaSl31yTU,4238
|
|
361
361
|
cirq/ops/random_gate_channel.py,sha256=gKDqZa6AwdCIuuh2UOvO5oxCdGRDOInA7fI3ZLQ-LTY,5121
|
|
362
362
|
cirq/ops/random_gate_channel_test.py,sha256=U3EAaAlCZkgFIYxqwcSkPsaVGrKA2PSeG_DK2ou--AE,8606
|
|
363
|
-
cirq/ops/raw_types.py,sha256=
|
|
363
|
+
cirq/ops/raw_types.py,sha256=pBnjIMgnX5426rzC6KQuUSbI3VL1iLAjpFrsqSygjtY,42092
|
|
364
364
|
cirq/ops/raw_types_test.py,sha256=U2sAzc6DjpOmgHafGv94VJXqZHm7J898khmJoHAawHQ,33940
|
|
365
365
|
cirq/ops/state_preparation_channel.py,sha256=PjVtoLbjBAy_XqnFAY40Am-NifeuCFVVLW6RJxph5sQ,4778
|
|
366
366
|
cirq/ops/state_preparation_channel_test.py,sha256=yKUvLw_ft6cvIgRJcFQ779wZS-V6V-pzQq-rZRWdCmU,5922
|
|
@@ -374,7 +374,7 @@ cirq/ops/two_qubit_diagonal_gate.py,sha256=7ALyJs1ueE3i3v8FesFraaQC8nPp8h73tqeYI
|
|
|
374
374
|
cirq/ops/two_qubit_diagonal_gate_test.py,sha256=qiuREluCDKMok3ormBOdDYCFlOS9u1zFLqTsORO5JtM,4000
|
|
375
375
|
cirq/ops/uniform_superposition_gate.py,sha256=WTO2AUBWIpUtcPGG2eI0r3KWG-pO_tuCV0J_Ka4Chvw,4725
|
|
376
376
|
cirq/ops/uniform_superposition_gate_test.py,sha256=9N8woRmaFWeuaPMy2K1JlXyTG8bICIpsfmOzXc3NysU,3551
|
|
377
|
-
cirq/ops/wait_gate.py,sha256=
|
|
377
|
+
cirq/ops/wait_gate.py,sha256=PQt2Wg9nbqtGUFgBntr6AoYZ3QOcxfLwlvXTezzODfw,5581
|
|
378
378
|
cirq/ops/wait_gate_test.py,sha256=2Uw8ZjFkYGhDosoxbJr_IW2wWdxY8kXR-CLyC69DYRg,3543
|
|
379
379
|
cirq/protocols/__init__.py,sha256=JvMKV92kF8qxm8mXNM9iY8TMyn87mwSwaafnvuphcgY,6087
|
|
380
380
|
cirq/protocols/act_on_protocol.py,sha256=pRjl2lHqxuYWlJopkWCSPiwrHPggHOdRMb0nu-kHe2I,6886
|
|
@@ -385,17 +385,17 @@ cirq/protocols/apply_mixture_protocol.py,sha256=YknZTAF4jXQYDvnB-galWd0QCrqT-2_C
|
|
|
385
385
|
cirq/protocols/apply_mixture_protocol_test.py,sha256=6sNZhauFDec2MvHmUsvmkVF-qjH1WLDnZO35RT0OtRY,10793
|
|
386
386
|
cirq/protocols/apply_unitary_protocol.py,sha256=giJwec5XCEt5s0_uyNEuhGBlcDeJymPvuoIVx08hszY,29772
|
|
387
387
|
cirq/protocols/apply_unitary_protocol_test.py,sha256=ajjHvcBBv5n8Qh_hMPZkdsOvy1xJ774q4kuC25DJnKM,26136
|
|
388
|
-
cirq/protocols/approximate_equality_protocol.py,sha256=
|
|
388
|
+
cirq/protocols/approximate_equality_protocol.py,sha256=HvcPk-kOKbHw7PF3WGZb6RcTLvat_0KxjFkxnERnVbU,6258
|
|
389
389
|
cirq/protocols/approximate_equality_protocol_test.py,sha256=BYGw5iNU3lsdH5BUDPnqd9xfvfIo9-j5j0og_yXCQyY,9174
|
|
390
390
|
cirq/protocols/circuit_diagram_info_protocol.py,sha256=R8LiAgmCZjuFT7_8ZGQ6Mvl2H0rOGRkB5DaSgM6N3hA,16011
|
|
391
391
|
cirq/protocols/circuit_diagram_info_protocol_test.py,sha256=dSvjaGEbMGuSrs4kpFen5Z-_dC1JzPvl27Dg47di4A0,10415
|
|
392
|
-
cirq/protocols/commutes_protocol.py,sha256=
|
|
392
|
+
cirq/protocols/commutes_protocol.py,sha256=n7EQYs2giG3_Kh0bVhOXYQD7we7vTwj8IklBqQdolgM,7394
|
|
393
393
|
cirq/protocols/commutes_protocol_test.py,sha256=h0Lky4jrs7Hxrh4MeHxmxNciuofKGGZ2eC-ceWP8wKU,5849
|
|
394
394
|
cirq/protocols/control_key_protocol.py,sha256=sq4CswLr5TDHPmviNMF1shlL14D6XXlPxt3P985Esy0,2614
|
|
395
395
|
cirq/protocols/control_key_protocol_test.py,sha256=190gp4QBu5QpP2doMmzx9RkAkp6VZOOWGOXp0RIFgqc,970
|
|
396
396
|
cirq/protocols/decompose_protocol.py,sha256=fFy75GOLiJWwNRVDNtl00-19xCJcI_n9J7GiKuMY2wU,18903
|
|
397
397
|
cirq/protocols/decompose_protocol_test.py,sha256=5L5lQN_FV9qtE3NHPsnxtdgUtY5uDEIfxZkBHbgDrGs,16025
|
|
398
|
-
cirq/protocols/equal_up_to_global_phase_protocol.py,sha256=
|
|
398
|
+
cirq/protocols/equal_up_to_global_phase_protocol.py,sha256=7uF0v5c8pzmj9j7SbgG-dJ9nd4zddKMRf8tPx-Zr8Ys,4070
|
|
399
399
|
cirq/protocols/equal_up_to_global_phase_protocol_test.py,sha256=5uypo6WHTp8AQU1KURl48euQG2J123AXEVFQ6v6cIeE,5964
|
|
400
400
|
cirq/protocols/has_stabilizer_effect_protocol.py,sha256=XH6Lv9SGuYhuuSB0mi5v8Eg5emR-vbICKUjjqfxDw1U,4295
|
|
401
401
|
cirq/protocols/has_stabilizer_effect_protocol_test.py,sha256=0ia7ehyGpmscjRP448dBANZKwnlbqSODdPUYRUhDEN0,3879
|
|
@@ -974,7 +974,7 @@ cirq/testing/consistent_pauli_expansion.py,sha256=NVloOg1I8LGGIEoZxvtUQIUHRvMgo9
|
|
|
974
974
|
cirq/testing/consistent_pauli_expansion_test.py,sha256=Gy95osE-L4uQs1E1oxAKHCgVguXl-hjI5UNQJW5cEdI,2402
|
|
975
975
|
cirq/testing/consistent_phase_by.py,sha256=oSZcZnKMOIJnBS0HgYi-8aRaVJmHGgI--WAUGC5JxQ8,2085
|
|
976
976
|
cirq/testing/consistent_phase_by_test.py,sha256=YbI0n0FpWpBkbgYp0-yGZSeesDZEst0cmYtXgJE2LQY,3273
|
|
977
|
-
cirq/testing/consistent_protocols.py,sha256=
|
|
977
|
+
cirq/testing/consistent_protocols.py,sha256=psJnmdn8e6bburuMgWO4P6uRo7RNFbdttjXTcHnqMa4,7754
|
|
978
978
|
cirq/testing/consistent_protocols_test.py,sha256=ZShgGWBWrzClusc-6idmnIBdCL_OAxXLHay8baqRh1g,10004
|
|
979
979
|
cirq/testing/consistent_qasm.py,sha256=DaZCJHfrqMe5U3ccORuKs0seFPRGhePLMAavSwd-QuM,5021
|
|
980
980
|
cirq/testing/consistent_qasm_test.py,sha256=IM1BDeqZflv0Tui669KRLOlKKWyYnJ9JA-Xoy4lI9Bs,2883
|
|
@@ -1159,7 +1159,7 @@ cirq/value/linear_dict.py,sha256=KlyntK71PZOlozh35K6ZTIQoNxDnQ_i5z3wQSMhuCwU,127
|
|
|
1159
1159
|
cirq/value/linear_dict_test.py,sha256=H7-3yABo7J9T8HF8_orAE0DsIUrTjNIwArTkhgpQdsc,19872
|
|
1160
1160
|
cirq/value/measurement_key.py,sha256=glvyn36NylWMdtHYLFsD72jPZJsnKpFqQXKh8XpOX4Q,5200
|
|
1161
1161
|
cirq/value/measurement_key_test.py,sha256=GnEX5QdEVbmi0dR9URcgXQH23aqW7Y_PKmTb2eIdRCg,4466
|
|
1162
|
-
cirq/value/periodic_value.py,sha256=
|
|
1162
|
+
cirq/value/periodic_value.py,sha256=T1oXVzKB-8QfFFtjZSEr6nUXYZRUzJ70C2UmL_UKvRM,3923
|
|
1163
1163
|
cirq/value/periodic_value_test.py,sha256=mMvj_Ai2T8BWRbc7jdvb7JPX8OZxlL4H7jtdvy54ono,4319
|
|
1164
1164
|
cirq/value/probability.py,sha256=FxbvxZJhQ4ttN8dBR3bhV1aQmOawUAl8fbcWc4zfzUg,1582
|
|
1165
1165
|
cirq/value/probability_test.py,sha256=QXfihRBOfOIA_IoXlSbhoe7L-VGCBLLXYS99pL-R1yE,932
|
|
@@ -1167,7 +1167,7 @@ cirq/value/product_state.py,sha256=5h-dM2o9JCTsJQsCZbED1TFjrbPswaoqrQ2VXFiZDYU,9
|
|
|
1167
1167
|
cirq/value/product_state_test.py,sha256=-xEbZ7TCPvkBcveKvDO6FgbPzvqdQCuZndFZK7Gwwjs,5945
|
|
1168
1168
|
cirq/value/random_state.py,sha256=SA4owzMPof8P5FLPhGUPN7ODfciKAIY24PgxfmnJ5AY,2063
|
|
1169
1169
|
cirq/value/random_state_test.py,sha256=0VyxtuBYgrbHsNCXFZtcgucd5KwI1obMjILH2ZTZ5BU,1348
|
|
1170
|
-
cirq/value/timestamp.py,sha256=
|
|
1170
|
+
cirq/value/timestamp.py,sha256=a7PFlJgvmGln7LJzhJK7g0JJt8cQD7JnHjC6BEYMFs0,3604
|
|
1171
1171
|
cirq/value/timestamp_test.py,sha256=eZt9LLVK6TQy-2Bo1djitUD4at7i7M4lN60bLCx9UPs,4029
|
|
1172
1172
|
cirq/value/type_alias.py,sha256=bmKOnIIiHbjU4x62QBxAPyvdzsyv9fGyMEBz_ivwBo8,1128
|
|
1173
1173
|
cirq/value/value_equality_attr.py,sha256=9tU54y5JUAGKsvNV9G1nCWJioP6gvTlYfGN7Pe3YebI,10545
|
|
@@ -1202,8 +1202,8 @@ cirq/work/sampler.py,sha256=bE5tmVkcR6cZZMLETxDfHehdsYUMbx2RvBeIBetehI4,19187
|
|
|
1202
1202
|
cirq/work/sampler_test.py,sha256=hL2UWx3dz2ukZVNxWftiKVvJcQoLplLZdQm-k1QcA40,13282
|
|
1203
1203
|
cirq/work/zeros_sampler.py,sha256=x1C7cup66a43n-3tm8QjhiqJa07qcJW10FxNp9jJ59Q,2356
|
|
1204
1204
|
cirq/work/zeros_sampler_test.py,sha256=JIkpBBFPJe5Ba4142vzogyWyboG1Q1ZAm0UVGgOoZn8,3279
|
|
1205
|
-
cirq_core-1.5.0.
|
|
1206
|
-
cirq_core-1.5.0.
|
|
1207
|
-
cirq_core-1.5.0.
|
|
1208
|
-
cirq_core-1.5.0.
|
|
1209
|
-
cirq_core-1.5.0.
|
|
1205
|
+
cirq_core-1.5.0.dev20250207174300.dist-info/LICENSE,sha256=tAkwu8-AdEyGxGoSvJ2gVmQdcicWw3j1ZZueVV74M-E,11357
|
|
1206
|
+
cirq_core-1.5.0.dev20250207174300.dist-info/METADATA,sha256=qU7wwnV8ciLVJBQXNVEnQbzAmOC2JT5FA1D9vlUo5xE,4811
|
|
1207
|
+
cirq_core-1.5.0.dev20250207174300.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
|
|
1208
|
+
cirq_core-1.5.0.dev20250207174300.dist-info/top_level.txt,sha256=Sz9iOxHU0IEMLSFGwiwOCaN2e9K-jFbBbtpPN1hB73g,5
|
|
1209
|
+
cirq_core-1.5.0.dev20250207174300.dist-info/RECORD,,
|
{cirq_core-1.5.0.dev20250207140934.dist-info → cirq_core-1.5.0.dev20250207174300.dist-info}/LICENSE
RENAMED
|
File without changes
|
{cirq_core-1.5.0.dev20250207140934.dist-info → cirq_core-1.5.0.dev20250207174300.dist-info}/WHEEL
RENAMED
|
File without changes
|
|
File without changes
|