cirq-core 1.5.0.dev20250205200715__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 +1 -1
- cirq/_version_test.py +1 -1
- cirq/linalg/operator_spaces.py +20 -4
- cirq/linalg/operator_spaces_test.py +15 -2
- cirq/ops/common_gates.py +3 -3
- cirq/ops/linear_combinations.py +15 -9
- cirq/ops/linear_combinations_test.py +23 -4
- cirq/ops/raw_types.py +1 -1
- cirq/ops/raw_types_test.py +1 -0
- {cirq_core-1.5.0.dev20250205200715.dist-info → cirq_core-1.5.0.dev20250206124432.dist-info}/METADATA +1 -1
- {cirq_core-1.5.0.dev20250205200715.dist-info → cirq_core-1.5.0.dev20250206124432.dist-info}/RECORD +14 -14
- {cirq_core-1.5.0.dev20250205200715.dist-info → cirq_core-1.5.0.dev20250206124432.dist-info}/LICENSE +0 -0
- {cirq_core-1.5.0.dev20250205200715.dist-info → cirq_core-1.5.0.dev20250206124432.dist-info}/WHEEL +0 -0
- {cirq_core-1.5.0.dev20250205200715.dist-info → cirq_core-1.5.0.dev20250206124432.dist-info}/top_level.txt +0 -0
cirq/_version.py
CHANGED
cirq/_version_test.py
CHANGED
cirq/linalg/operator_spaces.py
CHANGED
|
@@ -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:
|
|
82
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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):
|
cirq/ops/linear_combinations.py
CHANGED
|
@@ -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,
|
|
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(
|
|
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
|
|
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(
|
|
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,
|
|
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(
|
|
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
|
|
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):
|
|
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(
|
|
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
|
-
[
|
|
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
|
|
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
|
|
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:
|
|
309
|
+
self, coefficient: 'cirq.TParamValComplex' = 1
|
|
310
310
|
) -> 'cirq.LinearCombinationOfGates':
|
|
311
311
|
"""Returns a LinearCombinationOfGates with this gate.
|
|
312
312
|
|
cirq/ops/raw_types_test.py
CHANGED
|
@@ -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):
|
{cirq_core-1.5.0.dev20250205200715.dist-info → cirq_core-1.5.0.dev20250206124432.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.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
|
{cirq_core-1.5.0.dev20250205200715.dist-info → cirq_core-1.5.0.dev20250206124432.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=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
|
|
256
|
-
cirq/linalg/operator_spaces_test.py,sha256=
|
|
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=
|
|
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=
|
|
313
|
-
cirq/ops/linear_combinations_test.py,sha256=
|
|
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=
|
|
364
|
-
cirq/ops/raw_types_test.py,sha256=
|
|
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.
|
|
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.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,,
|
{cirq_core-1.5.0.dev20250205200715.dist-info → cirq_core-1.5.0.dev20250206124432.dist-info}/LICENSE
RENAMED
|
File without changes
|
{cirq_core-1.5.0.dev20250205200715.dist-info → cirq_core-1.5.0.dev20250206124432.dist-info}/WHEEL
RENAMED
|
File without changes
|
|
File without changes
|