diff --git a/doc/code/qml_measurements.rst b/doc/code/qml_measurements.rst index 122d36520e4..b635ad4d338 100644 --- a/doc/code/qml_measurements.rst +++ b/doc/code/qml_measurements.rst @@ -15,4 +15,4 @@ qml.measurements :no-heading: :include-all-objects: :inheritance-diagram: - :skip: MeasurementShapeError, MeasurementValueError, ObservableReturnTypes + :skip: MeasurementShapeError, ObservableReturnTypes diff --git a/pennylane/measurements/__init__.py b/pennylane/measurements/__init__.py index 462b5dfcee4..bb11974ccf2 100644 --- a/pennylane/measurements/__init__.py +++ b/pennylane/measurements/__init__.py @@ -213,7 +213,7 @@ def circuit(x): Variance, VnEntropy, ) -from .mid_measure import MeasurementValue, MeasurementValueError, MidMeasureMP, measure +from .mid_measure import MeasurementValue, MidMeasureMP, measure from .mutual_info import MutualInfoMP, mutual_info from .purity import PurityMP, purity from .probs import ProbabilityMP, probs diff --git a/pennylane/measurements/mid_measure.py b/pennylane/measurements/mid_measure.py index f48fea64883..9ae9720f87c 100644 --- a/pennylane/measurements/mid_measure.py +++ b/pennylane/measurements/mid_measure.py @@ -155,10 +155,6 @@ def hash(self): return hash(fingerprint) -class MeasurementValueError(ValueError): - """Error raised when an unknown measurement value is being used.""" - - class MeasurementValue(Generic[T]): """A class representing unknown measurement outcomes in the qubit model. diff --git a/pennylane/optimize/adaptive.py b/pennylane/optimize/adaptive.py index fefb9e2f375..00d4b95deed 100644 --- a/pennylane/optimize/adaptive.py +++ b/pennylane/optimize/adaptive.py @@ -188,14 +188,14 @@ def step_and_cost(self, circuit, operator_pool, drain_pool=False, params_zero=Tr qnode = copy.copy(circuit) if drain_pool: - repeated_gates = [ + operator_pool = [ gate for gate in operator_pool - for operation in circuit.tape.operations - if (gate.name == operation.name and gate.wires == operation.wires) + if all( + gate.name != operation.name or gate.wires != operation.wires + for operation in circuit.tape.operations + ) ] - for gate in repeated_gates: - operator_pool.remove(gate) params = np.array([gate.parameters[0] for gate in operator_pool], requires_grad=True) qnode.func = self._circuit