Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Misurazione di qubit specifici con Open 3.0 QASM
Il simulatore vettoriale statale locale e il simulatore di matrice di densità locale forniti da Amazon Braket supportano l'invio di OpenQASM programmi in cui è possibile misurare selettivamente un sottoinsieme dei qubit del circuito. Questa capacità, spesso denominata misurazione parziale, consente calcoli quantistici più mirati ed efficienti. Ad esempio, nel seguente frammento di codice, è possibile creare un circuito a due qubit e scegliere di misurare solo il primo qubit, lasciando il secondo qubit non misurato.
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]; """
In questo esempio, abbiamo un circuito quantistico con due qubit q[0]
eq[1]
, ma siamo interessati solo a misurare lo stato del primo qubit. Ciò è ottenuto dalla lineab[0] = measure q[0]
, che misura lo stato del qubit [0] e memorizza il risultato nel classico bit b [0]. Per eseguire questo scenario di misurazione parziale, possiamo eseguire il codice seguente sul simulatore vettoriale dello stato locale fornito da Amazon Braket.
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)
Puoi verificare se un dispositivo supporta la misurazione parziale ispezionando il requiresAllQubitsMeasurement
campo nelle sue proprietà di azione; in caso affermativoFalse
, è supportata la misurazione parziale.
from braket.devices import Devices AwsDevice(Devices.Rigetti.Ankaa2).properties.action['braket.ir.openqasm.program'].requiresAllQubitsMeasurement
Qui requiresAllQubitsMeasurement
èFalse
, il che indica che non tutti i qubit devono essere misurati.