OpenQASM 3.0 を使用した特定の量子ビットの測定 - Amazon Braket

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

OpenQASM 3.0 を使用した特定の量子ビットの測定

ローカルステートベクトルシミュレーターとローカル密度行列シミュレーターは、回路の量子ビットのサブセットを測定できるOpenQASMプログラムの送信をサポートします。これは多くの場合、部分測定と呼ばれます。例えば、次のコードでは、2 量子ビット回路を作成し、最初の量子ビットのみを測定できます。

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

量子ビットは 2 つ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、すべての量子ビットを測定する必要がないことを示します。