cirq-core 1.5.0.dev20250205201333__py3-none-any.whl → 1.5.0.dev20250206124432__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 CHANGED
@@ -28,4 +28,4 @@ if sys.version_info < (3, 10, 0): # pragma: no cover
28
28
  'of cirq (e.g. "python -m pip install cirq==1.1.*")'
29
29
  )
30
30
 
31
- __version__ = "1.5.0.dev20250205201333"
31
+ __version__ = "1.5.0.dev20250206124432"
cirq/_version_test.py CHANGED
@@ -3,4 +3,4 @@ import cirq
3
3
 
4
4
 
5
5
  def test_version():
6
- assert cirq.__version__ == "1.5.0.dev20250205201333"
6
+ assert cirq.__version__ == "1.5.0.dev20250206124432"
@@ -13,13 +13,17 @@
13
13
  # limitations under the License.
14
14
 
15
15
  """Utilities for manipulating linear operators as elements of vector space."""
16
- from typing import Dict, Tuple
16
+ from typing import Dict, Tuple, TYPE_CHECKING
17
17
 
18
18
  import numpy as np
19
+ import sympy
19
20
 
20
21
  from cirq import value
21
22
  from cirq._doc import document
22
23
 
24
+ if TYPE_CHECKING:
25
+ import cirq
26
+
23
27
  PAULI_BASIS = {
24
28
  'I': np.eye(2),
25
29
  'X': np.array([[0.0, 1.0], [1.0, 0.0]]),
@@ -78,8 +82,17 @@ def matrix_from_basis_coefficients(
78
82
 
79
83
 
80
84
  def pow_pauli_combination(
81
- ai: value.Scalar, ax: value.Scalar, ay: value.Scalar, az: value.Scalar, exponent: int
82
- ) -> Tuple[value.Scalar, value.Scalar, value.Scalar, value.Scalar]:
85
+ ai: 'cirq.TParamValComplex',
86
+ ax: 'cirq.TParamValComplex',
87
+ ay: 'cirq.TParamValComplex',
88
+ az: 'cirq.TParamValComplex',
89
+ exponent: int,
90
+ ) -> Tuple[
91
+ 'cirq.TParamValComplex',
92
+ 'cirq.TParamValComplex',
93
+ 'cirq.TParamValComplex',
94
+ 'cirq.TParamValComplex',
95
+ ]:
83
96
  """Computes non-negative integer power of single-qubit Pauli combination.
84
97
 
85
98
  Returns scalar coefficients bi, bx, by, bz such that
@@ -96,7 +109,10 @@ def pow_pauli_combination(
96
109
  if exponent == 0:
97
110
  return 1, 0, 0, 0
98
111
 
99
- v = np.sqrt(ax * ax + ay * ay + az * az).item()
112
+ if any(isinstance(a, sympy.Basic) for a in [ax, ay, az]):
113
+ v = sympy.sqrt(ax * ax + ay * ay + az * az)
114
+ else:
115
+ v = np.sqrt(ax * ax + ay * ay + az * az).item()
100
116
  s = (ai + v) ** exponent
101
117
  t = (ai - v) ** exponent
102
118
 
@@ -17,6 +17,7 @@ import itertools
17
17
  import numpy as np
18
18
  import pytest
19
19
  import scipy.linalg
20
+ import sympy
20
21
 
21
22
  import cirq
22
23
 
@@ -287,11 +288,21 @@ def test_expand_is_inverse_of_reconstruct(m1, basis):
287
288
  (-1, -2, 3, 4),
288
289
  (1j, 2j, 3j, 4j),
289
290
  (1j, 2j, 3, 4),
291
+ (sympy.Symbol('i'), sympy.Symbol('x'), sympy.Symbol('y'), sympy.Symbol('z')),
292
+ (
293
+ sympy.Symbol('i') * 1j,
294
+ -sympy.Symbol('x'),
295
+ -sympy.Symbol('y') * 1j,
296
+ sympy.Symbol('z'),
297
+ ),
290
298
  ),
291
299
  (0, 1, 2, 3, 4, 5, 100, 101),
292
300
  ),
293
301
  )
294
302
  def test_pow_pauli_combination(coefficients, exponent):
303
+ is_symbolic = any(isinstance(a, sympy.Basic) for a in coefficients)
304
+ if is_symbolic and exponent > 2:
305
+ return # too slow
295
306
  i = cirq.PAULI_BASIS['I']
296
307
  x = cirq.PAULI_BASIS['X']
297
308
  y = cirq.PAULI_BASIS['Y']
@@ -303,5 +314,7 @@ def test_pow_pauli_combination(coefficients, exponent):
303
314
 
304
315
  bi, bx, by, bz = cirq.pow_pauli_combination(ai, ax, ay, az, exponent)
305
316
  result = bi * i + bx * x + by * y + bz * z
306
-
307
- assert np.allclose(result, expected_result)
317
+ if is_symbolic:
318
+ assert cirq.approx_eq(result, expected_result)
319
+ else:
320
+ assert np.allclose(result, expected_result)
cirq/ops/common_gates.py CHANGED
@@ -261,8 +261,8 @@ class XPowGate(eigen_gate.EigenGate):
261
261
  if self._dimension != 2:
262
262
  return NotImplemented
263
263
  phase = 1j ** (2 * self._exponent * (self._global_shift + 0.5))
264
- angle = _pi(self._exponent) * self._exponent / 2
265
264
  lib = sympy if protocols.is_parameterized(self) else np
265
+ angle = lib.pi * self._exponent / 2
266
266
  return value.LinearDict({'I': phase * lib.cos(angle), 'X': -1j * phase * lib.sin(angle)})
267
267
 
268
268
  def _circuit_diagram_info_(
@@ -466,8 +466,8 @@ class YPowGate(eigen_gate.EigenGate):
466
466
 
467
467
  def _pauli_expansion_(self) -> value.LinearDict[str]:
468
468
  phase = 1j ** (2 * self._exponent * (self._global_shift + 0.5))
469
- angle = _pi(self._exponent) * self._exponent / 2
470
469
  lib = sympy if protocols.is_parameterized(self) else np
470
+ angle = lib.pi * self._exponent / 2
471
471
  return value.LinearDict({'I': phase * lib.cos(angle), 'Y': -1j * phase * lib.sin(angle)})
472
472
 
473
473
  def _circuit_diagram_info_(
@@ -767,8 +767,8 @@ class ZPowGate(eigen_gate.EigenGate):
767
767
  if self._dimension != 2:
768
768
  return NotImplemented
769
769
  phase = 1j ** (2 * self._exponent * (self._global_shift + 0.5))
770
- angle = _pi(self._exponent) * self._exponent / 2
771
770
  lib = sympy if protocols.is_parameterized(self) else np
771
+ angle = lib.pi * self._exponent / 2
772
772
  return value.LinearDict({'I': phase * lib.cos(angle), 'Z': -1j * phase * lib.sin(angle)})
773
773
 
774
774
  def _phase_by_(self, phase_turns: float, qubit_index: int):
@@ -81,7 +81,7 @@ class LinearCombinationOfGates(value.LinearDict[raw_types.Gate]):
81
81
  2 * cirq.X - 2 * cirq.Z
82
82
  """
83
83
 
84
- def __init__(self, terms: Mapping[raw_types.Gate, value.Scalar]) -> None:
84
+ def __init__(self, terms: Mapping[raw_types.Gate, 'cirq.TParamValComplex']) -> None:
85
85
  """Initializes linear combination from a collection of terms.
86
86
 
87
87
  Args:
@@ -149,17 +149,19 @@ class LinearCombinationOfGates(value.LinearDict[raw_types.Gate]):
149
149
  )
150
150
 
151
151
  def _is_parameterized_(self) -> bool:
152
- return any(protocols.is_parameterized(gate) for gate in self.keys())
152
+ return any(protocols.is_parameterized(item) for item in self.items())
153
153
 
154
154
  def _parameter_names_(self) -> AbstractSet[str]:
155
- return {name for gate in self.keys() for name in protocols.parameter_names(gate)}
155
+ return {name for item in self.items() for name in protocols.parameter_names(item)}
156
156
 
157
157
  def _resolve_parameters_(
158
158
  self, resolver: 'cirq.ParamResolver', recursive: bool
159
159
  ) -> 'LinearCombinationOfGates':
160
160
  return self.__class__(
161
161
  {
162
- protocols.resolve_parameters(gate, resolver, recursive): coeff
162
+ protocols.resolve_parameters(
163
+ gate, resolver, recursive
164
+ ): protocols.resolve_parameters(coeff, resolver, recursive)
163
165
  for gate, coeff in self.items()
164
166
  }
165
167
  )
@@ -222,7 +224,7 @@ class LinearCombinationOfOperations(value.LinearDict[raw_types.Operation]):
222
224
  by the identity operator. Note that A may not be unitary or even normal.
223
225
  """
224
226
 
225
- def __init__(self, terms: Mapping[raw_types.Operation, value.Scalar]) -> None:
227
+ def __init__(self, terms: Mapping[raw_types.Operation, 'cirq.TParamValComplex']) -> None:
226
228
  """Initializes linear combination from a collection of terms.
227
229
 
228
230
  Args:
@@ -264,17 +266,19 @@ class LinearCombinationOfOperations(value.LinearDict[raw_types.Operation]):
264
266
  return LinearCombinationOfOperations({i: bi, x: bx, y: by, z: bz})
265
267
 
266
268
  def _is_parameterized_(self) -> bool:
267
- return any(protocols.is_parameterized(op) for op in self.keys())
269
+ return any(protocols.is_parameterized(item) for item in self.items())
268
270
 
269
271
  def _parameter_names_(self) -> AbstractSet[str]:
270
- return {name for op in self.keys() for name in protocols.parameter_names(op)}
272
+ return {name for item in self.items() for name in protocols.parameter_names(item)}
271
273
 
272
274
  def _resolve_parameters_(
273
275
  self, resolver: 'cirq.ParamResolver', recursive: bool
274
276
  ) -> 'LinearCombinationOfOperations':
275
277
  return self.__class__(
276
278
  {
277
- protocols.resolve_parameters(op, resolver, recursive): coeff
279
+ protocols.resolve_parameters(op, resolver, recursive): protocols.resolve_parameters(
280
+ coeff, resolver, recursive
281
+ )
278
282
  for op, coeff in self.items()
279
283
  }
280
284
  )
@@ -353,7 +357,9 @@ def _is_linear_dict_of_unit_pauli_string(linear_dict: value.LinearDict[UnitPauli
353
357
  return True
354
358
 
355
359
 
356
- def _pauli_string_from_unit(unit: UnitPauliStringT, coefficient: Union[int, float, complex] = 1):
360
+ def _pauli_string_from_unit(
361
+ unit: UnitPauliStringT, coefficient: Union[int, float, 'cirq.TParamValComplex'] = 1
362
+ ):
357
363
  return PauliString(qubit_pauli_map=dict(unit), coefficient=coefficient)
358
364
 
359
365
 
@@ -153,6 +153,10 @@ def test_non_unitary_linear_combination_of_gates_has_no_unitary(terms):
153
153
  ),
154
154
  ({cirq.X: 2, cirq.H: 1}, {'X': 2 + np.sqrt(0.5), 'Z': np.sqrt(0.5)}),
155
155
  ({cirq.XX: -2, cirq.YY: 3j, cirq.ZZ: 4}, {'XX': -2, 'YY': 3j, 'ZZ': 4}),
156
+ (
157
+ {cirq.X: sympy.Symbol('x'), cirq.Y: -sympy.Symbol('y')},
158
+ {'X': sympy.Symbol('x'), 'Y': -sympy.Symbol('y')},
159
+ ),
156
160
  ),
157
161
  )
158
162
  def test_linear_combination_of_gates_has_correct_pauli_expansion(terms, expected_expansion):
@@ -206,7 +210,11 @@ def test_linear_combinations_of_gates_invalid_powers(terms, exponent):
206
210
 
207
211
  @pytest.mark.parametrize(
208
212
  'terms, is_parameterized, parameter_names',
209
- [({cirq.H: 1}, False, set()), ({cirq.X ** sympy.Symbol('t'): 1}, True, {'t'})],
213
+ [
214
+ ({cirq.H: 1}, False, set()),
215
+ ({cirq.X ** sympy.Symbol('t'): 1}, True, {'t'}),
216
+ ({cirq.X: sympy.Symbol('t')}, True, {'t'}),
217
+ ],
210
218
  )
211
219
  @pytest.mark.parametrize('resolve_fn', [cirq.resolve_parameters, cirq.resolve_parameters_once])
212
220
  def test_parameterized_linear_combination_of_gates(
@@ -225,7 +233,7 @@ def get_matrix(
225
233
  cirq.GateOperation,
226
234
  cirq.LinearCombinationOfGates,
227
235
  cirq.LinearCombinationOfOperations,
228
- ]
236
+ ],
229
237
  ) -> np.ndarray:
230
238
  if isinstance(operator, (cirq.LinearCombinationOfGates, cirq.LinearCombinationOfOperations)):
231
239
  return operator.matrix()
@@ -243,13 +251,13 @@ def assert_linear_combinations_are_equal(
243
251
 
244
252
  actual_matrix = get_matrix(actual)
245
253
  expected_matrix = get_matrix(expected)
246
- assert np.allclose(actual_matrix, expected_matrix)
254
+ assert cirq.approx_eq(actual_matrix, expected_matrix)
247
255
 
248
256
  actual_expansion = cirq.pauli_expansion(actual)
249
257
  expected_expansion = cirq.pauli_expansion(expected)
250
258
  assert set(actual_expansion.keys()) == set(expected_expansion.keys())
251
259
  for name in actual_expansion.keys():
252
- assert abs(actual_expansion[name] - expected_expansion[name]) < 1e-12
260
+ assert cirq.approx_eq(actual_expansion[name], expected_expansion[name])
253
261
 
254
262
 
255
263
  @pytest.mark.parametrize(
@@ -279,6 +287,8 @@ def assert_linear_combinations_are_equal(
279
287
  ),
280
288
  ((cirq.X + cirq.Y + cirq.Z) ** 0, cirq.I),
281
289
  ((cirq.X - 1j * cirq.Y) ** 0, cirq.I),
290
+ (cirq.Y - sympy.Symbol('s') * cirq.Y, (1 - sympy.Symbol('s')) * cirq.Y),
291
+ ((cirq.X + cirq.Z) * sympy.Symbol('s') / np.sqrt(2), cirq.H * sympy.Symbol('s')),
282
292
  ),
283
293
  )
284
294
  def test_gate_expressions(expression, expected_result):
@@ -659,6 +669,10 @@ def test_non_unitary_linear_combination_of_operations_has_no_unitary(terms):
659
669
  {'IIZI': 1, 'IZII': 1, 'IZZI': -1},
660
670
  ),
661
671
  ({cirq.CNOT(q0, q1): 2, cirq.Z(q0): -1, cirq.X(q1): -1}, {'II': 1, 'ZX': -1}),
672
+ (
673
+ {cirq.X(q0): -sympy.Symbol('x'), cirq.Y(q0): sympy.Symbol('y')},
674
+ {'X': -sympy.Symbol('x'), 'Y': sympy.Symbol('y')},
675
+ ),
662
676
  ),
663
677
  )
664
678
  def test_linear_combination_of_operations_has_correct_pauli_expansion(terms, expected_expansion):
@@ -716,6 +730,7 @@ def test_linear_combinations_of_operations_invalid_powers(terms, exponent):
716
730
  [
717
731
  ({cirq.H(cirq.LineQubit(0)): 1}, False, set()),
718
732
  ({cirq.X(cirq.LineQubit(0)) ** sympy.Symbol('t'): 1}, True, {'t'}),
733
+ ({cirq.X(cirq.LineQubit(0)): sympy.Symbol('t')}, True, {'t'}),
719
734
  ],
720
735
  )
721
736
  @pytest.mark.parametrize('resolve_fn', [cirq.resolve_parameters, cirq.resolve_parameters_once])
@@ -788,6 +803,10 @@ def test_parameterized_linear_combination_of_ops(
788
803
  cirq.LinearCombinationOfOperations({cirq.X(q1): 2, cirq.Z(q1): 3}) ** 0,
789
804
  cirq.LinearCombinationOfOperations({cirq.I(q1): 1}),
790
805
  ),
806
+ (
807
+ cirq.LinearCombinationOfOperations({cirq.X(q0): sympy.Symbol('s')}) ** 2,
808
+ cirq.LinearCombinationOfOperations({cirq.I(q0): sympy.Symbol('s') ** 2}),
809
+ ),
791
810
  ),
792
811
  )
793
812
  def test_operation_expressions(expression, expected_result):
cirq/ops/raw_types.py CHANGED
@@ -306,7 +306,7 @@ class Gate(metaclass=value.ABCMetaImplementAnyOneOf):
306
306
  return operations
307
307
 
308
308
  def wrap_in_linear_combination(
309
- self, coefficient: Union[complex, float, int] = 1
309
+ self, coefficient: 'cirq.TParamValComplex' = 1
310
310
  ) -> 'cirq.LinearCombinationOfGates':
311
311
  """Returns a LinearCombinationOfGates with this gate.
312
312
 
@@ -258,6 +258,7 @@ def test_default_qudit_inverse():
258
258
  (cirq.CZ * 1, cirq.CZ / 1),
259
259
  (-cirq.CSWAP * 1j, cirq.CSWAP / 1j),
260
260
  (cirq.TOFFOLI * 0.5, cirq.TOFFOLI / 2),
261
+ (-cirq.X * sympy.Symbol('s'), -sympy.Symbol('s') * cirq.X),
261
262
  ),
262
263
  )
263
264
  def test_gate_algebra(expression, expected_result):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: cirq-core
3
- Version: 1.5.0.dev20250205201333
3
+ Version: 1.5.0.dev20250206124432
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
@@ -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=nDewyRfDawPbE40P0oO2mCpVpZ-2r-kE4o5C99s5Rmg,1206
8
- cirq/_version_test.py,sha256=0NMzzNDtTGQIDw2S2p21thzaUGEWUpfMj0zQj31px2w,147
7
+ cirq/_version.py,sha256=RrxFnjOvRlvSDNy8tiocma47nefokXK8ADwpkEJGTK8,1206
8
+ cirq/_version_test.py,sha256=95VtVDUQWBslOEZgovv8oHCbiJmAag9AyBj1y9Xtfv8,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
@@ -252,8 +252,8 @@ cirq/linalg/decompositions.py,sha256=cNIcKylK4tnGgIreO7X4cpsRmwvOycKRSS8xf9gaIG0
252
252
  cirq/linalg/decompositions_test.py,sha256=S6p9AJO_9wwQdmNHYTAgBK4TL6_lz1U93sLNNuUJmBw,25840
253
253
  cirq/linalg/diagonalize.py,sha256=Ym7C0JTAC9xfRQDYI72U6NxMYg0DfchjfXcbdg_92QE,10051
254
254
  cirq/linalg/diagonalize_test.py,sha256=H-JcLvcCBdN-DrKo2o1Gs7B8Q9SU70oAZmdT4yTLAi4,9089
255
- cirq/linalg/operator_spaces.py,sha256=uZSc9154p63R2UqFw6pniuWcUo20epe5RK6bL3tpkbM,3813
256
- cirq/linalg/operator_spaces_test.py,sha256=k2aVBYuU6ehXx_6puApE-sFxEBrOki0t0KeNbBK94hs,10097
255
+ cirq/linalg/operator_spaces.py,sha256=-i5DEAW-b_sgmfZKXFf37XzX5h7cZ7R6EeW7RcFNeE0,4128
256
+ cirq/linalg/operator_spaces_test.py,sha256=Hbm8e4kGbGw9c4O3v5o0kYbcikwDkdIoAy3V8EofJr4,10605
257
257
  cirq/linalg/predicates.py,sha256=Q8BTlR4EvPg2KP9VodK78UEWYJbSCOTqRahn1DnFmSc,12056
258
258
  cirq/linalg/predicates_test.py,sha256=UVDkNH2ujI80JwJwsDjbTgyALZUQJAVVCoFN1T_LLf0,21503
259
259
  cirq/linalg/tolerance.py,sha256=ZBZOc5h7UgrKzyOStlcTRwupkjVzQu9-AwjNCCz1ZKE,1879
@@ -277,7 +277,7 @@ cirq/ops/common_channels.py,sha256=go4yhaRw0XNAr3TUBJ59SOhn2SKxf6bHmmrOHPbBYCY,3
277
277
  cirq/ops/common_channels_test.py,sha256=nQsSSxu7vtedb3ZUuw4hNKIX7MYI4x8lxvLyWMZNt10,30079
278
278
  cirq/ops/common_gate_families.py,sha256=e5M8wlDYtdrpWBrhdns6iizIvSqzfxDyIsBdxt8hVMc,8611
279
279
  cirq/ops/common_gate_families_test.py,sha256=Oo3C7BPO3gt3ePuqwsI_lx_lY38et8Ps4AuVydX2Aww,5275
280
- cirq/ops/common_gates.py,sha256=0kQPjqB5vZmjKyUiQj-B_08cZ5wxTfa8e_5wfu4ce50,58209
280
+ cirq/ops/common_gates.py,sha256=izKH25lp0i_1Vrx9gwGzOIk1PxzOmMnq4MlFu4da4Vk,58170
281
281
  cirq/ops/common_gates_test.py,sha256=tNymwCOXCgVe6JnrHSq7kwzCO-ucQZYHdBF9cvdZRMo,46731
282
282
  cirq/ops/control_values.py,sha256=nNDN6pgz_aWkUfrpOZ9zHHD42AGFaplWhVQj9rmJwbQ,13410
283
283
  cirq/ops/control_values_test.py,sha256=iDtdQjL39u80MaR16XLp00LRZqWgJqC54cIeADWf0IY,12906
@@ -309,8 +309,8 @@ cirq/ops/identity.py,sha256=FtsDwxqmnHenOD0H1H5p6TGgDQ76LZfk3Z_2vpijNDY,5887
309
309
  cirq/ops/identity_test.py,sha256=OIrm8v4wBVq8bbAGZ-f5TERt8Hl6aD1bL8iHCOEhzNo,7939
310
310
  cirq/ops/kraus_channel.py,sha256=tCPAEzr_GAL5vTwI43rBoiOnT04l-ebZanuuEuYWDo8,5085
311
311
  cirq/ops/kraus_channel_test.py,sha256=qH2Y9cngXzKCabd-Mq5xBYcM_wyL8c6KkrXw8kZr7Dc,4726
312
- cirq/ops/linear_combinations.py,sha256=WqQ2STxGpgO6KUj4yc6LfSI9OWCdzlmWMt6BkTkf2wA,39694
313
- cirq/ops/linear_combinations_test.py,sha256=qpzRo53mJtcidYE11loKMP2b9guKMGtzrKWQ_u0jr4Y,66387
312
+ cirq/ops/linear_combinations.py,sha256=fxguoESKkiVxeDMUj4vcgZs9JgQkBg42hy3U4Txobo8,39928
313
+ cirq/ops/linear_combinations_test.py,sha256=ip-wN8T8nUQviD3ql42eet7k_MQ6DVUfIK8aX-_ygOs,67217
314
314
  cirq/ops/matrix_gates.py,sha256=inBhKPsNx7ZeejNpmbPEGl5hgyrTqmA852BVlKMUZmg,9297
315
315
  cirq/ops/matrix_gates_test.py,sha256=m5rMwq_sqVvsmkc5opVr3Ikd1ERuULmSRNAvGZUg7ds,14224
316
316
  cirq/ops/measure_util.py,sha256=wkT0XC6rIddOkqNGwkvI-m7Ncr8j5QPN_evwecc6nrw,7390
@@ -360,8 +360,8 @@ 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=n_v0flAXTxHFVNOKrOZRcOIPx1LIZ3F7wYfGJiAF9qk,42176
364
- cirq/ops/raw_types_test.py,sha256=AtcaAgu50IK_bsMXo4MkM_fjWQj9EQrkn9ved0_cJoo,33872
363
+ cirq/ops/raw_types.py,sha256=nhbEjkR0mKqNMQ9j_2TokAZ4u14CGPXEYjjicd6XuEM,42173
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
367
367
  cirq/ops/swap_gates.py,sha256=8DrW7Hn-m0dx0e57FUPfjggRF0zC_HGbr3Eomm54jfE,11634
@@ -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.dev20250205201333.dist-info/LICENSE,sha256=tAkwu8-AdEyGxGoSvJ2gVmQdcicWw3j1ZZueVV74M-E,11357
1206
- cirq_core-1.5.0.dev20250205201333.dist-info/METADATA,sha256=Ji0iuB7GwJ49DlicolSpOULUknuqSLy7ZRINdeanHw8,4811
1207
- cirq_core-1.5.0.dev20250205201333.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
1208
- cirq_core-1.5.0.dev20250205201333.dist-info/top_level.txt,sha256=Sz9iOxHU0IEMLSFGwiwOCaN2e9K-jFbBbtpPN1hB73g,5
1209
- cirq_core-1.5.0.dev20250205201333.dist-info/RECORD,,
1205
+ cirq_core-1.5.0.dev20250206124432.dist-info/LICENSE,sha256=tAkwu8-AdEyGxGoSvJ2gVmQdcicWw3j1ZZueVV74M-E,11357
1206
+ cirq_core-1.5.0.dev20250206124432.dist-info/METADATA,sha256=z8b9XO0wOI_PL60u53I7Xc78WPZmTTJuKl5MMBmRMoU,4811
1207
+ cirq_core-1.5.0.dev20250206124432.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
1208
+ cirq_core-1.5.0.dev20250206124432.dist-info/top_level.txt,sha256=Sz9iOxHU0IEMLSFGwiwOCaN2e9K-jFbBbtpPN1hB73g,5
1209
+ cirq_core-1.5.0.dev20250206124432.dist-info/RECORD,,