使用 OpenQASM 3.0 測量特定量子位 - Amazon Braket

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用 OpenQASM 3.0 測量特定量子位

局部狀態向量模擬器和局部密度矩陣模擬器支持提交OpenQASM程序,其中可以測量電路的量子位的子集。這通常稱為局部測量。例如,在下面的代碼中,您可以創建一個雙量子比特電路,並僅測量第一個量子比特。

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]; """

有兩個量子比特q[0]q[1]但我們在這裡只測量量子位 0:. b[0] = measure q[0] 現在,在本地狀態向量模擬器上運行以下命令。

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)

您可以檢查裝置的動作屬性中的requiresAllQubitsMeasurement欄位,以檢查裝置是否支援局部量測;如果是False,則支援局部量測。

AwsDevice(Devices.Rigetti.AspenM3).properties.action['braket.ir.openqasm.program'].requiresAllQubitsMeasurement

這裡,requiresAllQubitsMeasurementFalse,這表明不是所有的量子位必須測量。