本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用 Open QASM 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
这里,requiresAllQubitsMeasurement
是False
,这表明并非所有量子比特都必须进行测量。