You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
So far, when we instantiate a POVMImplementation object, we set a number of qubits and assume that the POVM will act on all of the qubits of the circuit that will later be supplied.
Would it be interesting to be able to initialize POVMImplementation objects by specifying a subset of qubits to be measured (for instance as a sequence of QubitSpecifier or a list of integers) ?
The text was updated successfully, but these errors were encountered:
In fact, now that we require some part of transpilation to already have been completed, we should consider that a circuit may already be transpiled for a device's coupling map (i.e. span e.g. 127 qubits) while the actual circuit may only act on a subset of these. Without the proposed feature, we won't be able to tell the POVM which qubits to measure on (despite the fact that we won't be able to tell it not to randomize measurements over all 127 qubits).
Actually with the transpilation/routing PR #13, this specific case of circuit transpiled for a device's coupling map is already tackled and dealt within the povm_implementation.compose_circuits method:
defcompose_circuits(self, circuit: QuantumCircuit) ->QuantumCircuit:
...
ifisinstance(circuit.layout, TranspileLayout):
# Extract the final layout of the transpiled circuit (ancillas are filtered).index_layout=circuit.layout.final_index_layout(filter_ancillas=True)
...
# Compose the two circuits with the correct routing.returncircuit.compose(self.msmt_qc, qubits=index_layout)
Still we should generalize this and enable the option for the end user to specify on which qubits the POVM acts in general.
Question : once we enable this feature, should we keep this "under the hood" routing shown above or should we require the end user to take care of this routing for transpiled circuits?
So far, when we instantiate a
POVMImplementation
object, we set a number of qubits and assume that the POVM will act on all of the qubits of the circuit that will later be supplied.Would it be interesting to be able to initialize
POVMImplementation
objects by specifying a subset of qubits to be measured (for instance as a sequence ofQubitSpecifier
or a list of integers) ?The text was updated successfully, but these errors were encountered: