Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Mesurer des qubits spécifiques avec Open 3.0 QASM
Le simulateur de vecteur d'état local et le simulateur de matrice de densité locale permettent de soumettre OpenQASM des programmes dans lesquels un sous-ensemble des qubits du circuit peut être mesuré. C'est ce qu'on appelle souvent une mesure partielle. Par exemple, dans le code suivant, vous pouvez créer un circuit à deux qubits et mesurer uniquement le premier qubit.
partial_measure_qasm = """ OPENQASM 3.0; bit[1] b; qubit[2] q; h q[0]; cnot q[0], q[1]; b[0] = measure q[0]; """
Il y a deux qubits, q[0]
q[1]
mais nous ne mesurons que le qubit 0 ici :. b[0] = measure q[0]
Maintenant, exécutez ce qui suit sur le simulateur de vecteur d'état local.
from braket.devices import LocalSimulator local_sim = LocalSimulator() partial_measure_local_sim_task = local_sim.run(OpenQASMProgram(source=partial_measure_qasm), shots = 10) partial_measure_local_sim_result = partial_measure_local_sim_task.result() print(partial_measure_local_sim_result.measurement_counts) print("Measured qubits: ", partial_measure_local_sim_result.measured_qubits)
Vous pouvez vérifier si un appareil prend en charge les mesures partielles en inspectant le requiresAllQubitsMeasurement
champ dans ses propriétés d'action ; si c'est le casFalse
, les mesures partielles sont prises en charge.
AwsDevice(Devices.Rigetti.AspenM3).properties.action['braket.ir.openqasm.program'].requiresAllQubitsMeasurement
requiresAllQubitsMeasurement
VoilàFalse
, ce qui indique que tous les qubits ne doivent pas être mesurés.