cirq-core 1.6.0.dev20250722040433__py3-none-any.whl → 1.6.0.dev20250722060449__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/matrix_gates.py +3 -3
- cirq/ops/matrix_gates_test.py +13 -0
- cirq/study/sweeps.py +4 -10
- cirq/study/sweeps_test.py +25 -0
- {cirq_core-1.6.0.dev20250722040433.dist-info → cirq_core-1.6.0.dev20250722060449.dist-info}/METADATA +1 -1
- {cirq_core-1.6.0.dev20250722040433.dist-info → cirq_core-1.6.0.dev20250722060449.dist-info}/RECORD +11 -11
- {cirq_core-1.6.0.dev20250722040433.dist-info → cirq_core-1.6.0.dev20250722060449.dist-info}/WHEEL +0 -0
- {cirq_core-1.6.0.dev20250722040433.dist-info → cirq_core-1.6.0.dev20250722060449.dist-info}/licenses/LICENSE +0 -0
- {cirq_core-1.6.0.dev20250722040433.dist-info → cirq_core-1.6.0.dev20250722060449.dist-info}/top_level.txt +0 -0
cirq/_version.py
CHANGED
cirq/_version_test.py
CHANGED
cirq/ops/matrix_gates.py
CHANGED
|
@@ -22,7 +22,7 @@ import numpy as np
|
|
|
22
22
|
|
|
23
23
|
from cirq import _import, linalg, protocols
|
|
24
24
|
from cirq._compat import proper_repr
|
|
25
|
-
from cirq.ops import global_phase_op,
|
|
25
|
+
from cirq.ops import global_phase_op, phased_x_z_gate, raw_types
|
|
26
26
|
|
|
27
27
|
if TYPE_CHECKING:
|
|
28
28
|
import cirq
|
|
@@ -170,8 +170,8 @@ class MatrixGate(raw_types.Gate):
|
|
|
170
170
|
return NotImplemented
|
|
171
171
|
# The above algorithms ignore phase, but phase is important to maintain if the gate is
|
|
172
172
|
# controlled. Here, we add it back in with a global phase op.
|
|
173
|
-
|
|
174
|
-
u =
|
|
173
|
+
circuit = Circuit(*decomposed)
|
|
174
|
+
u = circuit.unitary(qubit_order=qubits, qubits_that_should_be_present=qubits)
|
|
175
175
|
phase_delta = linalg.phase_delta(u, self._matrix)
|
|
176
176
|
# Phase delta is on the complex unit circle, so if real(phase_delta) >= 1, that means
|
|
177
177
|
# no phase delta. (>1 is rounding error).
|
cirq/ops/matrix_gates_test.py
CHANGED
|
@@ -413,3 +413,16 @@ def test_matrixgate_name_serialization():
|
|
|
413
413
|
gate_after_serialization3 = cirq.read_json(json_text=cirq.to_json(gate3))
|
|
414
414
|
assert gate3._name == ''
|
|
415
415
|
assert gate_after_serialization3._name == ''
|
|
416
|
+
|
|
417
|
+
|
|
418
|
+
def test_decompose_when_qubits_not_in_ascending_order():
|
|
419
|
+
# Previous code for preserving global phase would misorder qubits
|
|
420
|
+
q0, q1 = cirq.LineQubit.range(2)
|
|
421
|
+
circuit1 = cirq.Circuit()
|
|
422
|
+
matrix = cirq.testing.random_unitary(4, random_state=0)
|
|
423
|
+
circuit1.append(cirq.MatrixGate(matrix).on(q1, q0))
|
|
424
|
+
u1 = cirq.unitary(circuit1)
|
|
425
|
+
decomposed = cirq.decompose(circuit1)
|
|
426
|
+
circuit2 = cirq.Circuit(decomposed)
|
|
427
|
+
u2 = cirq.unitary(circuit2)
|
|
428
|
+
np.testing.assert_allclose(u1, u2, atol=1e-14)
|
cirq/study/sweeps.py
CHANGED
|
@@ -230,16 +230,10 @@ class Product(Sweep):
|
|
|
230
230
|
return length
|
|
231
231
|
|
|
232
232
|
def param_tuples(self) -> Iterator[Params]:
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
first, rest = factors[0], factors[1:]
|
|
238
|
-
for first_values in first.param_tuples():
|
|
239
|
-
for rest_values in _gen(rest):
|
|
240
|
-
yield first_values + rest_values
|
|
241
|
-
|
|
242
|
-
return _gen(self.factors)
|
|
233
|
+
yield from map(
|
|
234
|
+
lambda values: tuple(itertools.chain.from_iterable(values)),
|
|
235
|
+
itertools.product(*(factor.param_tuples() for factor in self.factors)),
|
|
236
|
+
)
|
|
243
237
|
|
|
244
238
|
def __repr__(self) -> str:
|
|
245
239
|
factors_repr = ', '.join(repr(f) for f in self.factors)
|
cirq/study/sweeps_test.py
CHANGED
|
@@ -158,6 +158,30 @@ def test_product():
|
|
|
158
158
|
assert _values(sweep, 'b') == [3, 3, 4, 4, 3, 3, 4, 4]
|
|
159
159
|
assert _values(sweep, 'c') == [5, 6, 5, 6, 5, 6, 5, 6]
|
|
160
160
|
|
|
161
|
+
sweep = cirq.Points('a', [1, 2]) * (cirq.Points('b', [3, 4, 5]))
|
|
162
|
+
assert list(map(list, sweep.param_tuples())) == [
|
|
163
|
+
[('a', 1), ('b', 3)],
|
|
164
|
+
[('a', 1), ('b', 4)],
|
|
165
|
+
[('a', 1), ('b', 5)],
|
|
166
|
+
[('a', 2), ('b', 3)],
|
|
167
|
+
[('a', 2), ('b', 4)],
|
|
168
|
+
[('a', 2), ('b', 5)],
|
|
169
|
+
]
|
|
170
|
+
|
|
171
|
+
sweep = cirq.Product(*[cirq.Points(str(i), [0]) for i in range(1025)])
|
|
172
|
+
assert list(map(list, sweep.param_tuples())) == [[(str(i), 0) for i in range(1025)]]
|
|
173
|
+
|
|
174
|
+
|
|
175
|
+
def test_nested_product_zip():
|
|
176
|
+
sweep = cirq.Product(
|
|
177
|
+
cirq.Product(cirq.Points('a', [0]), cirq.Points('b', [0])),
|
|
178
|
+
cirq.Zip(cirq.Points('c', [0, 1]), cirq.Points('d', [0, 1])),
|
|
179
|
+
)
|
|
180
|
+
assert list(map(list, sweep.param_tuples())) == [
|
|
181
|
+
[('a', 0), ('b', 0), ('c', 0), ('d', 0)],
|
|
182
|
+
[('a', 0), ('b', 0), ('c', 1), ('d', 1)],
|
|
183
|
+
]
|
|
184
|
+
|
|
161
185
|
|
|
162
186
|
def test_zip_addition():
|
|
163
187
|
zip_sweep = cirq.Zip(cirq.Points('a', [1, 2]), cirq.Points('b', [3, 4]))
|
|
@@ -172,6 +196,7 @@ def test_empty_product():
|
|
|
172
196
|
sweep = cirq.Product()
|
|
173
197
|
assert len(sweep) == len(list(sweep)) == 1
|
|
174
198
|
assert str(sweep) == 'Product()'
|
|
199
|
+
assert list(map(list, sweep.param_tuples())) == [[]]
|
|
175
200
|
|
|
176
201
|
|
|
177
202
|
def test_slice_access_error():
|
{cirq_core-1.6.0.dev20250722040433.dist-info → cirq_core-1.6.0.dev20250722060449.dist-info}/METADATA
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: cirq-core
|
|
3
|
-
Version: 1.6.0.
|
|
3
|
+
Version: 1.6.0.dev20250722060449
|
|
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.6.0.dev20250722040433.dist-info → cirq_core-1.6.0.dev20250722060449.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=EcZa_ZaPto_BO-qiBisQ-pq5BeODOB_T_vPRyzI5Cxw,1206
|
|
8
|
+
cirq/_version_test.py,sha256=PwWpQQ3wbr8l7ianH_rnV0MFP16YhOFOCrVMTM-drKg,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
|
|
@@ -319,8 +319,8 @@ cirq/ops/kraus_channel.py,sha256=uSLq2AG72zbwzcbiEETFOAZ35KNR9U9KIFO31HYzLKA,507
|
|
|
319
319
|
cirq/ops/kraus_channel_test.py,sha256=FhgCyCKa4bIgGc4yAQbqDKB80910TEVVWRknyyGbILg,4955
|
|
320
320
|
cirq/ops/linear_combinations.py,sha256=AQA0aFDuHXks44fFtevrc2Zl1chleSlf1A0LkmrZrW8,39883
|
|
321
321
|
cirq/ops/linear_combinations_test.py,sha256=EYqrWlFFThv8dl5B_9yIckEn_z3-Nfzh7rdVzGpIVWM,67351
|
|
322
|
-
cirq/ops/matrix_gates.py,sha256=
|
|
323
|
-
cirq/ops/matrix_gates_test.py,sha256=
|
|
322
|
+
cirq/ops/matrix_gates.py,sha256=or8Kc3kP1NFjLbAHemmrZIqYFgEeeteMogNVEzYjosk,10238
|
|
323
|
+
cirq/ops/matrix_gates_test.py,sha256=MEK1VsaAv2Li_aYhFIfD53gytCNo854l5-BXL9yZBFs,14770
|
|
324
324
|
cirq/ops/measure_util.py,sha256=iT7vrYLTo6L4z4_Zdm-8e8iiiKyQgF2v9Ui74Tg52aw,7261
|
|
325
325
|
cirq/ops/measure_util_test.py,sha256=WrbR2jr_bFXxpQe8n3ANLAKYo1hcf-SlgsFOi-ULRXU,5343
|
|
326
326
|
cirq/ops/measurement_gate.py,sha256=i7ThYTd1xdzOG274jzFnzqEz5Qmv6wggcubWa-3FDZE,11874
|
|
@@ -973,8 +973,8 @@ cirq/study/result.py,sha256=ci9Pg9IW4OMR4aZ4SaQ7TPVTgoSU-1WarjKEXBv2F2g,19214
|
|
|
973
973
|
cirq/study/result_test.py,sha256=Safhg93E1x7NA--bxvkMwOnTPAlT0VkfF6hdsEKvhEM,15627
|
|
974
974
|
cirq/study/sweepable.py,sha256=lVzlkF9d_PaT1RSLponKzwXebGoDXQ56zwd1XEMa6h0,4338
|
|
975
975
|
cirq/study/sweepable_test.py,sha256=gMKkCoy8JxaCDeMTiDLdmcbBrioWs-teYOnqrri_2rI,5539
|
|
976
|
-
cirq/study/sweeps.py,sha256=
|
|
977
|
-
cirq/study/sweeps_test.py,sha256=
|
|
976
|
+
cirq/study/sweeps.py,sha256=VhGc1Q4qJHF9QQlCpGh-X5rF3tKp0esUvWCy1y22S9M,21403
|
|
977
|
+
cirq/study/sweeps_test.py,sha256=fiOKKnDyD-Ju7xeQM7A9pKkfR58VHXKdc0qw9d0MwRA,17231
|
|
978
978
|
cirq/testing/__init__.py,sha256=QNkOC_QdYkiNrIxYuNjPsB_iWmTW8zUrUwOSiz_8LPg,6171
|
|
979
979
|
cirq/testing/circuit_compare.py,sha256=3vgAfXZoqfpR58dGDzYTfkitzW7zs7wVq4OsW5LrBUU,18723
|
|
980
980
|
cirq/testing/circuit_compare_test.py,sha256=4ov58dOiez9HSQUJDP5hW1Li2tL75Gkevts2PiyyfSU,19738
|
|
@@ -1224,8 +1224,8 @@ cirq/work/sampler.py,sha256=rxbMWvrhu3gfNSBjZKozw28lLKVvBAS_1EGyPdYe8Xg,19041
|
|
|
1224
1224
|
cirq/work/sampler_test.py,sha256=SsMrRvLDYELyOAWLKISjkdEfrBwLYWRsT6D8WrsLM3Q,13533
|
|
1225
1225
|
cirq/work/zeros_sampler.py,sha256=Fs2JWwq0n9zv7_G5Rm-9vPeHUag7uctcMOHg0JTkZpc,2371
|
|
1226
1226
|
cirq/work/zeros_sampler_test.py,sha256=lQLgQDGBLtfImryys2HzQ2jOSGxHgc7-koVBUhv8qYk,3345
|
|
1227
|
-
cirq_core-1.6.0.
|
|
1228
|
-
cirq_core-1.6.0.
|
|
1229
|
-
cirq_core-1.6.0.
|
|
1230
|
-
cirq_core-1.6.0.
|
|
1231
|
-
cirq_core-1.6.0.
|
|
1227
|
+
cirq_core-1.6.0.dev20250722060449.dist-info/licenses/LICENSE,sha256=tAkwu8-AdEyGxGoSvJ2gVmQdcicWw3j1ZZueVV74M-E,11357
|
|
1228
|
+
cirq_core-1.6.0.dev20250722060449.dist-info/METADATA,sha256=KXy-MZjTnnSAnOZcSu-CmL4hIWVacvLzA_DlY7a15W0,4857
|
|
1229
|
+
cirq_core-1.6.0.dev20250722060449.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
1230
|
+
cirq_core-1.6.0.dev20250722060449.dist-info/top_level.txt,sha256=Sz9iOxHU0IEMLSFGwiwOCaN2e9K-jFbBbtpPN1hB73g,5
|
|
1231
|
+
cirq_core-1.6.0.dev20250722060449.dist-info/RECORD,,
|
{cirq_core-1.6.0.dev20250722040433.dist-info → cirq_core-1.6.0.dev20250722060449.dist-info}/WHEEL
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|