MeasurementTransformation

class braket.emulation.passes.circuit_passes.measurement_transformation.MeasurementTransformation[source]

Bases: TransformationPass

A transformation pass that automatically adds measurements to circuits that lack them.

This pass ensures that circuits have measurements for execution by adding measurements to all qubits in circuits that have neither explicit measurements nor result types.

Supported specifications:
  • Circuit: Adds measurements if needed

  • ProgramSet: Recursively applies to all contained circuits

Examples

>>> modifier = MeasurementModifier()
>>> circuit = Circuit().h(0).cnot(0, 1)  # No measurements
>>> modified = modifier(circuit)
>>> # Now has measurements on qubits 0 and 1

Initialize the measurement modifier.

transform(circuits)[source]

Add measurements to circuits that lack them.

For ProgramSets, we only apply if there are no observables.

Parameters:

circuits (Circuit | ProgramSet) – Circuit or ProgramSet to modify

Return type:

Circuit | ProgramSet

Returns:

Modified circuit(s) with measurements added where needed