From ace7dbde2a5180beb2c78ca0eabfd1a36c7d2652 Mon Sep 17 00:00:00 2001 From: daxfohl Date: Fri, 8 Apr 2022 11:35:36 -0700 Subject: [PATCH 1/2] Fix default QuantumStateRepresentation sampler for qudits --- cirq-core/cirq/qis/clifford_tableau.py | 2 +- cirq-core/cirq/sim/simulator_base_test.py | 11 ----------- 2 files changed, 1 insertion(+), 12 deletions(-) diff --git a/cirq-core/cirq/qis/clifford_tableau.py b/cirq-core/cirq/qis/clifford_tableau.py index 8a192e6c24e..3ce1f056a4e 100644 --- a/cirq-core/cirq/qis/clifford_tableau.py +++ b/cirq-core/cirq/qis/clifford_tableau.py @@ -70,7 +70,7 @@ def sample( for _ in range(repetitions): state = self.copy() measurements.append(state.measure(axes, prng)) - return np.array(measurements, dtype=bool) + return np.array(measurements, dtype=np.uint8) def kron(self: TSelf, other: TSelf) -> TSelf: """Joins two state spaces together.""" diff --git a/cirq-core/cirq/sim/simulator_base_test.py b/cirq-core/cirq/sim/simulator_base_test.py index 7d42328ac65..b1afaadbafe 100644 --- a/cirq-core/cirq/sim/simulator_base_test.py +++ b/cirq-core/cirq/sim/simulator_base_test.py @@ -95,17 +95,6 @@ def allows_factoring(self): class CountingStepResult(cirq.StepResultBase[CountingActOnArgs, CountingActOnArgs]): - def sample( - self, - qubits: List[cirq.Qid], - repetitions: int = 1, - seed: cirq.RANDOM_STATE_OR_SEED_LIKE = None, - ) -> np.ndarray: - measurements: List[List[int]] = [] - for _ in range(repetitions): - measurements.append(self._merged_sim_state._perform_measurement(qubits)) - return np.array(measurements, dtype=int) - def _simulator_state(self) -> CountingActOnArgs: return self._merged_sim_state From 441a937e2ffa32d8ffc85ffecd68e5a1bf153ae2 Mon Sep 17 00:00:00 2001 From: daxfohl Date: Fri, 8 Apr 2022 15:17:40 -0700 Subject: [PATCH 2/2] Remove a TODO --- .../cirq/ops/classically_controlled_operation_test.py | 8 -------- 1 file changed, 8 deletions(-) diff --git a/cirq-core/cirq/ops/classically_controlled_operation_test.py b/cirq-core/cirq/ops/classically_controlled_operation_test.py index 52018b25218..1b2558163ef 100644 --- a/cirq-core/cirq/ops/classically_controlled_operation_test.py +++ b/cirq-core/cirq/ops/classically_controlled_operation_test.py @@ -343,11 +343,7 @@ def test_key_unset_in_subcircuit_outer_scope(): q0, q1 = cirq.LineQubit.range(2) circuit = cirq.Circuit( cirq.measure(q0, key='a'), - ) - # TODO (daxfohl): This will not need an InsertStrategy after scope PR. - circuit.append( cirq.CircuitOperation(cirq.FrozenCircuit(cirq.X(q1).with_classical_controls('a'))), - strategy=cirq.InsertStrategy.NEW, ) circuit.append(cirq.measure(q1, key='b')) result = cirq.Simulator().run(circuit) @@ -360,11 +356,7 @@ def test_key_set_in_subcircuit_outer_scope(): circuit = cirq.Circuit( cirq.X(q0), cirq.measure(q0, key='a'), - ) - # TODO (daxfohl): This will not need an InsertStrategy after scope PR. - circuit.append( cirq.CircuitOperation(cirq.FrozenCircuit(cirq.X(q1).with_classical_controls('a'))), - strategy=cirq.InsertStrategy.NEW, ) circuit.append(cirq.measure(q1, key='b')) result = cirq.Simulator().run(circuit)