Skip to content

Commit 36d67c1

Browse files
authored
Make Collector and PauliSumCollector work with AbstractCircuit (#6109)
1 parent 16ed00d commit 36d67c1

File tree

2 files changed

+11
-10
lines changed

2 files changed

+11
-10
lines changed

cirq-core/cirq/work/collector.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
import duet
2020
import numpy as np
2121

22-
from cirq import circuits, study, value
22+
from cirq import study, value
2323

2424
if TYPE_CHECKING:
2525
import cirq
@@ -29,7 +29,7 @@
2929
class CircuitSampleJob:
3030
"""Describes a sampling task."""
3131

32-
def __init__(self, circuit: circuits.Circuit, *, repetitions: int, tag: Any = None):
32+
def __init__(self, circuit: 'cirq.AbstractCircuit', *, repetitions: int, tag: Any = None):
3333
"""Inits CircuitSampleJob.
3434
3535
Args:

cirq-core/cirq/work/pauli_sum_collector.py

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717

1818
import numpy as np
1919

20-
from cirq import circuits, ops
20+
from cirq import ops
2121
from cirq.work import collector
2222

2323
if TYPE_CHECKING:
@@ -29,7 +29,7 @@ class PauliSumCollector(collector.Collector):
2929

3030
def __init__(
3131
self,
32-
circuit: 'cirq.Circuit',
32+
circuit: 'cirq.AbstractCircuit',
3333
observable: 'cirq.PauliSumLike',
3434
*,
3535
samples_per_term: int,
@@ -99,11 +99,12 @@ def estimated_energy(self) -> Union[float, complex]:
9999

100100

101101
def _circuit_plus_pauli_string_measurements(
102-
circuit: 'cirq.Circuit', pauli_string: 'cirq.PauliString'
103-
) -> 'cirq.Circuit':
102+
circuit: 'cirq.AbstractCircuit', pauli_string: 'cirq.PauliString'
103+
) -> 'cirq.AbstractCircuit':
104104
"""A circuit measuring the given observable at the end of the given circuit."""
105105
assert pauli_string
106-
circuit = circuit.copy()
107-
circuit.append(circuits.Moment(pauli_string.to_z_basis_ops()))
108-
circuit.append(circuits.Moment([ops.measure(*sorted(pauli_string.keys()), key='out')]))
109-
return circuit
106+
return circuit.from_moments(
107+
*circuit,
108+
pauli_string.to_z_basis_ops(),
109+
ops.measure(*sorted(pauli_string.keys()), key='out'),
110+
)

0 commit comments

Comments
 (0)