cirq-core 1.7.0.dev20250904220130__py3-none-any.whl → 1.7.0.dev20250905003713__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/ops/dense_pauli_string.py +4 -4
- cirq/ops/dense_pauli_string_test.py +4 -0
- cirq/ops/parity_gates_test.py +35 -0
- cirq/ops/pauli_string.py +11 -48
- cirq/ops/pauli_string_test.py +41 -0
- cirq/ops/raw_types.py +8 -0
- {cirq_core-1.7.0.dev20250904220130.dist-info → cirq_core-1.7.0.dev20250905003713.dist-info}/METADATA +1 -1
- {cirq_core-1.7.0.dev20250904220130.dist-info → cirq_core-1.7.0.dev20250905003713.dist-info}/RECORD +13 -13
- {cirq_core-1.7.0.dev20250904220130.dist-info → cirq_core-1.7.0.dev20250905003713.dist-info}/WHEEL +0 -0
- {cirq_core-1.7.0.dev20250904220130.dist-info → cirq_core-1.7.0.dev20250905003713.dist-info}/licenses/LICENSE +0 -0
- {cirq_core-1.7.0.dev20250904220130.dist-info → cirq_core-1.7.0.dev20250905003713.dist-info}/top_level.txt +0 -0
cirq/_version.py
CHANGED
cirq/_version_test.py
CHANGED
cirq/ops/dense_pauli_string.py
CHANGED
|
@@ -614,13 +614,13 @@ def _as_pauli_mask(val: Iterable[cirq.PAULI_GATE_LIKE] | np.ndarray) -> np.ndarr
|
|
|
614
614
|
|
|
615
615
|
|
|
616
616
|
def _attempt_value_to_pauli_index(v: cirq.Operation) -> tuple[int, int] | None:
|
|
617
|
-
if
|
|
617
|
+
if (ps := pauli_string._try_interpret_as_pauli_string(v)) is None:
|
|
618
618
|
return None
|
|
619
619
|
|
|
620
|
-
if
|
|
620
|
+
if len(ps.qubits) != 1:
|
|
621
621
|
return None # pragma: no cover
|
|
622
622
|
|
|
623
|
-
q =
|
|
623
|
+
q = ps.qubits[0]
|
|
624
624
|
from cirq import devices
|
|
625
625
|
|
|
626
626
|
if not isinstance(q, devices.LineQubit):
|
|
@@ -629,7 +629,7 @@ def _attempt_value_to_pauli_index(v: cirq.Operation) -> tuple[int, int] | None:
|
|
|
629
629
|
'other than `cirq.LineQubit` so its dense index is ambiguous.\n'
|
|
630
630
|
f'v={repr(v)}.'
|
|
631
631
|
)
|
|
632
|
-
return pauli_string.PAULI_GATE_LIKE_TO_INDEX_MAP[
|
|
632
|
+
return pauli_string.PAULI_GATE_LIKE_TO_INDEX_MAP[ps[q]], q.x
|
|
633
633
|
|
|
634
634
|
|
|
635
635
|
def _vectorized_pauli_mul_phase(lhs: int | np.ndarray, rhs: int | np.ndarray) -> complex:
|
|
@@ -507,6 +507,10 @@ def test_commutes() -> None:
|
|
|
507
507
|
assert cirq.commutes(f('IIIXII'), cirq.X(cirq.LineQubit(2)))
|
|
508
508
|
assert not cirq.commutes(f('IIIXII'), cirq.Z(cirq.LineQubit(3)))
|
|
509
509
|
assert cirq.commutes(f('IIIXII'), cirq.Z(cirq.LineQubit(2)))
|
|
510
|
+
assert cirq.commutes(f('IIIXII'), cirq.X(cirq.LineQubit(3)) ** 3)
|
|
511
|
+
assert cirq.commutes(f('IIIXII'), cirq.X(cirq.LineQubit(2)) ** 3)
|
|
512
|
+
assert not cirq.commutes(f('IIIXII'), cirq.Z(cirq.LineQubit(3)) ** 3)
|
|
513
|
+
assert cirq.commutes(f('IIIXII'), cirq.Z(cirq.LineQubit(2)) ** 3)
|
|
510
514
|
|
|
511
515
|
assert cirq.commutes(f('XX'), "test", default=NotImplemented) is NotImplemented
|
|
512
516
|
|
cirq/ops/parity_gates_test.py
CHANGED
|
@@ -352,3 +352,38 @@ def test_clifford_protocols(
|
|
|
352
352
|
else:
|
|
353
353
|
assert not cirq.has_stabilizer_effect(gate)
|
|
354
354
|
assert gate._decompose_into_clifford_with_qubits_(cirq.LineQubit.range(2)) is NotImplemented
|
|
355
|
+
|
|
356
|
+
|
|
357
|
+
def test_parity_gate_multiplication():
|
|
358
|
+
q1, q2, q3 = cirq.LineQubit.range(3)
|
|
359
|
+
|
|
360
|
+
# XX gate
|
|
361
|
+
xx_12 = cirq.XX(q1, q2)
|
|
362
|
+
xx_23 = cirq.XX(q2, q3)
|
|
363
|
+
result = xx_12 * xx_23
|
|
364
|
+
expected = cirq.PauliString({q1: cirq.X, q3: cirq.X})
|
|
365
|
+
assert result == expected
|
|
366
|
+
|
|
367
|
+
# YY gate
|
|
368
|
+
yy_12 = cirq.YY(q1, q2)
|
|
369
|
+
yy_23 = cirq.YY(q2, q3)
|
|
370
|
+
result_yy = yy_12 * yy_23
|
|
371
|
+
expected_yy = cirq.PauliString({q1: cirq.Y, q3: cirq.Y})
|
|
372
|
+
assert result_yy == expected_yy
|
|
373
|
+
|
|
374
|
+
# ZZ gate
|
|
375
|
+
zz_12 = cirq.ZZ(q1, q2)
|
|
376
|
+
zz_23 = cirq.ZZ(q2, q3)
|
|
377
|
+
result_zz = zz_12 * zz_23
|
|
378
|
+
expected_zz = cirq.PauliString({q1: cirq.Z, q3: cirq.Z})
|
|
379
|
+
assert result_zz == expected_zz
|
|
380
|
+
|
|
381
|
+
|
|
382
|
+
def test_parity_gate_multiplication_same_qubits():
|
|
383
|
+
q1, q2 = cirq.LineQubit.range(2)
|
|
384
|
+
|
|
385
|
+
# XX * XX should be identity
|
|
386
|
+
xx = cirq.XX(q1, q2)
|
|
387
|
+
result = xx * xx
|
|
388
|
+
expected = cirq.PauliString({q1: cirq.I, q2: cirq.I})
|
|
389
|
+
assert result == expected
|
cirq/ops/pauli_string.py
CHANGED
|
@@ -266,16 +266,9 @@ class PauliString(raw_types.Operation, Generic[TKey]):
|
|
|
266
266
|
pass
|
|
267
267
|
|
|
268
268
|
def __mul__(self, other):
|
|
269
|
-
|
|
270
|
-
if isinstance(other, raw_types.Operation) and isinstance(other.gate, identity.IdentityGate):
|
|
271
|
-
known = True
|
|
272
|
-
elif isinstance(other, (PauliString, numbers.Number)):
|
|
273
|
-
known = True
|
|
274
|
-
if known:
|
|
269
|
+
if isinstance(other, (PauliString, numbers.Number)):
|
|
275
270
|
return PauliString(
|
|
276
|
-
|
|
277
|
-
qubit_pauli_map=self._qubit_pauli_map,
|
|
278
|
-
coefficient=self.coefficient,
|
|
271
|
+
other, qubit_pauli_map=self._qubit_pauli_map, coefficient=self.coefficient
|
|
279
272
|
)
|
|
280
273
|
return NotImplemented
|
|
281
274
|
|
|
@@ -295,9 +288,6 @@ class PauliString(raw_types.Operation, Generic[TKey]):
|
|
|
295
288
|
qubit_pauli_map=self._qubit_pauli_map, coefficient=self._coefficient * other
|
|
296
289
|
)
|
|
297
290
|
|
|
298
|
-
if isinstance(other, raw_types.Operation) and isinstance(other.gate, identity.IdentityGate):
|
|
299
|
-
return self # pragma: no cover
|
|
300
|
-
|
|
301
291
|
# Note: PauliString case handled by __mul__.
|
|
302
292
|
return NotImplemented
|
|
303
293
|
|
|
@@ -1100,21 +1090,16 @@ def _validate_qubit_mapping(
|
|
|
1100
1090
|
)
|
|
1101
1091
|
|
|
1102
1092
|
|
|
1103
|
-
def _try_interpret_as_pauli_string(op: Any):
|
|
1093
|
+
def _try_interpret_as_pauli_string(op: Any) -> PauliString | None:
|
|
1104
1094
|
"""Return a reprepresentation of an operation as a pauli string, if it is possible."""
|
|
1105
|
-
if isinstance(op,
|
|
1106
|
-
|
|
1107
|
-
|
|
1108
|
-
|
|
1109
|
-
|
|
1110
|
-
|
|
1111
|
-
|
|
1112
|
-
|
|
1113
|
-
if exponent % 2 == 0:
|
|
1114
|
-
return PauliString()
|
|
1115
|
-
if exponent % 2 == 1:
|
|
1116
|
-
return pauli.on(op.qubits[0])
|
|
1117
|
-
return None
|
|
1095
|
+
if not isinstance(op, raw_types.Operation):
|
|
1096
|
+
return None
|
|
1097
|
+
|
|
1098
|
+
pauli_expansion_op = protocols.pauli_expansion(op, default=None)
|
|
1099
|
+
if pauli_expansion_op is None or len(pauli_expansion_op) != 1:
|
|
1100
|
+
return None
|
|
1101
|
+
gates, coef = next(iter(pauli_expansion_op.items()))
|
|
1102
|
+
return PauliString(dict(zip(op.qubits, gates)), coefficient=coef)
|
|
1118
1103
|
|
|
1119
1104
|
|
|
1120
1105
|
# Ignoring type because mypy believes `with_qubits` methods are incompatible.
|
|
@@ -1148,28 +1133,6 @@ class SingleQubitPauliStringGateOperation( # type: ignore
|
|
|
1148
1133
|
assert len(self.qubits) == 1
|
|
1149
1134
|
return self.qubits[0]
|
|
1150
1135
|
|
|
1151
|
-
def _as_pauli_string(self) -> PauliString:
|
|
1152
|
-
return PauliString(qubit_pauli_map={self.qubit: self.pauli})
|
|
1153
|
-
|
|
1154
|
-
def __mul__(self, other):
|
|
1155
|
-
if isinstance(other, SingleQubitPauliStringGateOperation):
|
|
1156
|
-
return self._as_pauli_string() * other._as_pauli_string()
|
|
1157
|
-
if isinstance(other, (PauliString, numbers.Complex)):
|
|
1158
|
-
return self._as_pauli_string() * other
|
|
1159
|
-
if (as_pauli_string := _try_interpret_as_pauli_string(other)) is not None:
|
|
1160
|
-
return self * as_pauli_string
|
|
1161
|
-
return NotImplemented
|
|
1162
|
-
|
|
1163
|
-
def __rmul__(self, other):
|
|
1164
|
-
if isinstance(other, (PauliString, numbers.Complex)):
|
|
1165
|
-
return other * self._as_pauli_string()
|
|
1166
|
-
if (as_pauli_string := _try_interpret_as_pauli_string(other)) is not None:
|
|
1167
|
-
return as_pauli_string * self
|
|
1168
|
-
return NotImplemented
|
|
1169
|
-
|
|
1170
|
-
def __neg__(self):
|
|
1171
|
-
return -self._as_pauli_string()
|
|
1172
|
-
|
|
1173
1136
|
def _json_dict_(self) -> dict[str, Any]:
|
|
1174
1137
|
return protocols.obj_to_dict_helper(self, ['pauli', 'qubit'])
|
|
1175
1138
|
|
cirq/ops/pauli_string_test.py
CHANGED
|
@@ -2097,3 +2097,44 @@ def test_pauli_ops_identity_gate_operation(gate1: cirq.Pauli, gate2: cirq.Pauli)
|
|
|
2097
2097
|
subtraction = pauli1 - pauli2
|
|
2098
2098
|
assert isinstance(subtraction, cirq.PauliSum)
|
|
2099
2099
|
assert np.array_equal(subtraction.matrix(), unitary1 - unitary2)
|
|
2100
|
+
|
|
2101
|
+
|
|
2102
|
+
def test_pauli_gate_multiplication_with_power():
|
|
2103
|
+
q = cirq.LineQubit(0)
|
|
2104
|
+
|
|
2105
|
+
# Test all Pauli gates (X, Y, Z)
|
|
2106
|
+
pauli_gates = [cirq.X, cirq.Y, cirq.Z]
|
|
2107
|
+
for pauli_gate in pauli_gates:
|
|
2108
|
+
gate = pauli_gate(q)
|
|
2109
|
+
|
|
2110
|
+
# Test multiplication
|
|
2111
|
+
assert gate**2 * gate * gate * gate == gate**5
|
|
2112
|
+
assert gate * gate**2 * gate * gate == gate**5
|
|
2113
|
+
assert gate * gate * gate**2 * gate == gate**5
|
|
2114
|
+
assert gate * gate * gate * gate**2 == gate**5
|
|
2115
|
+
|
|
2116
|
+
# Test with different powers
|
|
2117
|
+
assert gate**0 * gate**5 == gate**5
|
|
2118
|
+
assert gate**1 * gate**4 == gate**5
|
|
2119
|
+
assert gate**2 * gate**3 == gate**5
|
|
2120
|
+
assert gate**3 * gate**2 == gate**5
|
|
2121
|
+
assert gate**4 * gate**1 == gate**5
|
|
2122
|
+
assert gate**5 * gate**0 == gate**5
|
|
2123
|
+
|
|
2124
|
+
|
|
2125
|
+
def test_try_interpret_as_pauli_string():
|
|
2126
|
+
from cirq.ops.pauli_string import _try_interpret_as_pauli_string
|
|
2127
|
+
|
|
2128
|
+
q = cirq.LineQubit(0)
|
|
2129
|
+
|
|
2130
|
+
# Pauli gate operation
|
|
2131
|
+
x_gate = cirq.X(q)
|
|
2132
|
+
assert _try_interpret_as_pauli_string(x_gate) == cirq.PauliString({q: cirq.X})
|
|
2133
|
+
|
|
2134
|
+
# powered gates
|
|
2135
|
+
x_squared = x_gate**2
|
|
2136
|
+
assert _try_interpret_as_pauli_string(x_squared) == cirq.PauliString({q: cirq.I})
|
|
2137
|
+
|
|
2138
|
+
# non-Pauli operation
|
|
2139
|
+
h_gate = cirq.H(q)
|
|
2140
|
+
assert _try_interpret_as_pauli_string(h_gate) is None
|
cirq/ops/raw_types.py
CHANGED
|
@@ -482,10 +482,18 @@ class Gate(metaclass=value.ABCMetaImplementAnyOneOf):
|
|
|
482
482
|
|
|
483
483
|
def _mul_with_qubits(self, qubits: tuple[cirq.Qid, ...], other):
|
|
484
484
|
"""cirq.GateOperation.__mul__ delegates to this method."""
|
|
485
|
+
from cirq.ops.pauli_string import _try_interpret_as_pauli_string
|
|
486
|
+
|
|
487
|
+
if (as_pauli_string := _try_interpret_as_pauli_string(self.on(*qubits))) is not None:
|
|
488
|
+
return as_pauli_string * other
|
|
485
489
|
return NotImplemented
|
|
486
490
|
|
|
487
491
|
def _rmul_with_qubits(self, qubits: tuple[cirq.Qid, ...], other):
|
|
488
492
|
"""cirq.GateOperation.__rmul__ delegates to this method."""
|
|
493
|
+
from cirq.ops.pauli_string import _try_interpret_as_pauli_string
|
|
494
|
+
|
|
495
|
+
if (as_pauli_string := _try_interpret_as_pauli_string(self.on(*qubits))) is not None:
|
|
496
|
+
return other * as_pauli_string
|
|
489
497
|
return NotImplemented
|
|
490
498
|
|
|
491
499
|
def _json_dict_(self) -> dict[str, Any]:
|
{cirq_core-1.7.0.dev20250904220130.dist-info → cirq_core-1.7.0.dev20250905003713.dist-info}/METADATA
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: cirq-core
|
|
3
|
-
Version: 1.7.0.
|
|
3
|
+
Version: 1.7.0.dev20250905003713
|
|
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.7.0.dev20250904220130.dist-info → cirq_core-1.7.0.dev20250905003713.dist-info}/RECORD
RENAMED
|
@@ -4,8 +4,8 @@ cirq/_compat_test.py,sha256=emXpdD5ZvwLRlFAoQB8YatmZyU3b4e9jg6FppMTUhkU,33900
|
|
|
4
4
|
cirq/_doc.py,sha256=BrnoABo1hk5RgB3Cgww4zLHUfiyFny0F1V-tOMCbdaU,2909
|
|
5
5
|
cirq/_import.py,sha256=ixBu4EyGl46Ram2cP3p5eZVEFDW5L2DS-VyTjz4N9iw,8429
|
|
6
6
|
cirq/_import_test.py,sha256=oF4izzOVZLc7NZ0aZHFcGv-r01eiFFt_JORx_x7_D4s,1089
|
|
7
|
-
cirq/_version.py,sha256=
|
|
8
|
-
cirq/_version_test.py,sha256=
|
|
7
|
+
cirq/_version.py,sha256=2td_SW0o4k_dVeIeehxNpyyQ_b0GOAqZBKa2fPxHExE,1206
|
|
8
|
+
cirq/_version_test.py,sha256=RV9N2nrdM1YFCgzFBLI_PMfN3XHyL9cnWvQE9EpCCdQ,155
|
|
9
9
|
cirq/conftest.py,sha256=wSDKNdIQRDfLnXvOCWD3erheOw8JHRhdfQ53EyTUIXg,1239
|
|
10
10
|
cirq/json_resolver_cache.py,sha256=A5DIgFAY1hUNt9vai_C3-gGBv24116CJMzQxMcXOax4,13726
|
|
11
11
|
cirq/py.typed,sha256=VFSlmh_lNwnaXzwY-ZuW-C2Ws5PkuDoVgBdNCs0jXJE,63
|
|
@@ -303,8 +303,8 @@ cirq/ops/controlled_gate.py,sha256=3Hex9AdY6c_DedKoCqqpS4gx9rAgm9KZITbwUBXsoYg,1
|
|
|
303
303
|
cirq/ops/controlled_gate_test.py,sha256=jmIOlCx8dC3VId4NynX1ZYy7s7tkLav_d-fjiIZyVh0,29308
|
|
304
304
|
cirq/ops/controlled_operation.py,sha256=KAbQGf6-AXm-DV9nk05S3sqJumOgvG9P6jO4Zx1gxec,13561
|
|
305
305
|
cirq/ops/controlled_operation_test.py,sha256=hTqK6R0so-ZmZLcqS9xQl39ekNZ82UVYPbhmfbbh6vg,16699
|
|
306
|
-
cirq/ops/dense_pauli_string.py,sha256=
|
|
307
|
-
cirq/ops/dense_pauli_string_test.py,sha256=
|
|
306
|
+
cirq/ops/dense_pauli_string.py,sha256=lfnSfRhwgNLBknXDm11FTpAULGOvw7jd4-r9IuB8v04,24211
|
|
307
|
+
cirq/ops/dense_pauli_string_test.py,sha256=XlGZuLw_O10hJPhg1EMuvgZd2lAFNF-QbYWl_qxUIAU,22321
|
|
308
308
|
cirq/ops/diagonal_gate.py,sha256=HNMxcgKgfZ2ZcXGaPhcBp6yOwu_stpSN3_GtNeWnR5s,8909
|
|
309
309
|
cirq/ops/diagonal_gate_test.py,sha256=JRQWrL4cEYzVjwal-EewyIPgThUwLdrE6f9i7ifd6Rk,6319
|
|
310
310
|
cirq/ops/eigen_gate.py,sha256=OoUpOwHw6VZ2CpH0Qb-eQLD4c-cjj8wFwBr8NEc7C0g,17788
|
|
@@ -344,19 +344,19 @@ cirq/ops/op_tree_test.py,sha256=npk2P6asFc3Z-K_xQ0l9JNam4uBwWMZTGT8rDO5xUmQ,6104
|
|
|
344
344
|
cirq/ops/parallel_gate.py,sha256=B6uwL0lPJLiv_TL62U4HGyv7FZn_CvljSUK7jKTuu-M,6257
|
|
345
345
|
cirq/ops/parallel_gate_test.py,sha256=ruFdVnB8PS9LOPQLPZACdf0nh3l-sApQe9bk10EDBJI,6463
|
|
346
346
|
cirq/ops/parity_gates.py,sha256=aBvAn-04K6PpcGGPbESqk2lbkPweiuHSJhK-Q1KUq84,14260
|
|
347
|
-
cirq/ops/parity_gates_test.py,sha256
|
|
347
|
+
cirq/ops/parity_gates_test.py,sha256=z2i3qXtc1LBBFyYuoNFGONAXyFre9W7VzqYcqN0imTc,12509
|
|
348
348
|
cirq/ops/pauli_gates.py,sha256=hXChuK9F56DEft2KHcMhjf6cPyEHHB5BKy10Dsk0FNM,6776
|
|
349
349
|
cirq/ops/pauli_gates_test.py,sha256=YYzQBojxoZTM6WH7pD3PNwmQrIO6U7FTG6AaZ-6z-To,8334
|
|
350
350
|
cirq/ops/pauli_interaction_gate.py,sha256=1drxD57PLCmp7dI9p5oDX2HPzsqwh0rrqHltUjtbWZU,5539
|
|
351
351
|
cirq/ops/pauli_interaction_gate_test.py,sha256=9IGQjf4cRNe1EAsxVJjTMysoO2TxUhDlp-6lXJuAYD8,4643
|
|
352
352
|
cirq/ops/pauli_measurement_gate.py,sha256=OzbQeMzr9cHQsai8K-usg3Il74o8gdXZLksLuYr8RcU,7113
|
|
353
353
|
cirq/ops/pauli_measurement_gate_test.py,sha256=IDnbQgyaj-nbYw_sslPBccl8aRGTlMrADc_EEiAvluk,6929
|
|
354
|
-
cirq/ops/pauli_string.py,sha256=
|
|
354
|
+
cirq/ops/pauli_string.py,sha256=xKOfmvm4Kh2VhAYvdHMskjfCo07CwNfonxyv5_GFV_s,62611
|
|
355
355
|
cirq/ops/pauli_string_phasor.py,sha256=5Tm_OoR_v44Kb3AQAw5XIxpcmKtompdbq5ZefYGEUmk,18207
|
|
356
356
|
cirq/ops/pauli_string_phasor_test.py,sha256=ZIoraHH3kOFjtEfThXDS-sxUvSU8MYZ2avtdiPcyN6w,28309
|
|
357
357
|
cirq/ops/pauli_string_raw_types.py,sha256=mBOAwfBT_y7yiSyC6Hr-ofLyIkjyOH5urmK-gitD3-Y,2226
|
|
358
358
|
cirq/ops/pauli_string_raw_types_test.py,sha256=ZcOZ31KSVIc7ReZoO8WZEX8MOyPOhUWaYLppvGTE4-8,2761
|
|
359
|
-
cirq/ops/pauli_string_test.py,sha256=
|
|
359
|
+
cirq/ops/pauli_string_test.py,sha256=miI50nAuQ4fM7jKNR7JRNgvSlYmiOZKTbz4EIMqNdlA,79568
|
|
360
360
|
cirq/ops/pauli_sum_exponential.py,sha256=Zq8YBMZ7sLLEPQuoX4uR95I9VY4C38Ma8FtOEjQGr3k,4861
|
|
361
361
|
cirq/ops/pauli_sum_exponential_test.py,sha256=u9fVBUMuiIb6xOPC2GRTR3zFUeO6N3vanejUk5_u9_8,5485
|
|
362
362
|
cirq/ops/permutation_gate.py,sha256=mTCKrLSNP3nm2hPebfBJNR5mHO6qb1ZqDT3pFA0zM_M,4218
|
|
@@ -378,7 +378,7 @@ cirq/ops/qubit_order_or_list.py,sha256=5kChRv1gUnBKB-kF6okXoXcCa5CXbJ6HoB6ETpfl3
|
|
|
378
378
|
cirq/ops/qubit_order_test.py,sha256=8uOW9oLLQcjbYvd2DdXZLCbRS2sJuH6b8Bal3SgPo5M,4372
|
|
379
379
|
cirq/ops/random_gate_channel.py,sha256=i4eg9GA4CF6ZWQRrICa5lfYqvdZzN8oLEWwXHcxRStM,5115
|
|
380
380
|
cirq/ops/random_gate_channel_test.py,sha256=p-xtDOMIYBJ1wVHLJmrALi-ZU978l3AVuX0kgoan1Ac,8523
|
|
381
|
-
cirq/ops/raw_types.py,sha256=
|
|
381
|
+
cirq/ops/raw_types.py,sha256=OcRK1pv5k9f14R2z920Wg0mqV114iPGaJNuVF2T7Ilk,43836
|
|
382
382
|
cirq/ops/raw_types_test.py,sha256=CoooLVSYidx1QkAFWJM4gNbs3CwkHHtVKE8HW6gPAxs,35408
|
|
383
383
|
cirq/ops/state_preparation_channel.py,sha256=3qbqrrYaVN2eHL1qiBHcItj1Pzjxhtq10tSEkRz9GNM,4781
|
|
384
384
|
cirq/ops/state_preparation_channel_test.py,sha256=xFi6nOFPoQatxvnorCXujmhMvtf65lmyFfxbGlTKo4c,6039
|
|
@@ -1234,8 +1234,8 @@ cirq/work/sampler.py,sha256=rxbMWvrhu3gfNSBjZKozw28lLKVvBAS_1EGyPdYe8Xg,19041
|
|
|
1234
1234
|
cirq/work/sampler_test.py,sha256=SsMrRvLDYELyOAWLKISjkdEfrBwLYWRsT6D8WrsLM3Q,13533
|
|
1235
1235
|
cirq/work/zeros_sampler.py,sha256=Fs2JWwq0n9zv7_G5Rm-9vPeHUag7uctcMOHg0JTkZpc,2371
|
|
1236
1236
|
cirq/work/zeros_sampler_test.py,sha256=lQLgQDGBLtfImryys2HzQ2jOSGxHgc7-koVBUhv8qYk,3345
|
|
1237
|
-
cirq_core-1.7.0.
|
|
1238
|
-
cirq_core-1.7.0.
|
|
1239
|
-
cirq_core-1.7.0.
|
|
1240
|
-
cirq_core-1.7.0.
|
|
1241
|
-
cirq_core-1.7.0.
|
|
1237
|
+
cirq_core-1.7.0.dev20250905003713.dist-info/licenses/LICENSE,sha256=tAkwu8-AdEyGxGoSvJ2gVmQdcicWw3j1ZZueVV74M-E,11357
|
|
1238
|
+
cirq_core-1.7.0.dev20250905003713.dist-info/METADATA,sha256=PDoADT3dkGaaQErbjm8gobHac_uGwoJVyeN8BdUP6fc,4758
|
|
1239
|
+
cirq_core-1.7.0.dev20250905003713.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
1240
|
+
cirq_core-1.7.0.dev20250905003713.dist-info/top_level.txt,sha256=Sz9iOxHU0IEMLSFGwiwOCaN2e9K-jFbBbtpPN1hB73g,5
|
|
1241
|
+
cirq_core-1.7.0.dev20250905003713.dist-info/RECORD,,
|
{cirq_core-1.7.0.dev20250904220130.dist-info → cirq_core-1.7.0.dev20250905003713.dist-info}/WHEEL
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|