量子ビットを測定する
このページのコードは、以下の要件に基づいて開発された。 これらのバージョンまたは新しいバージョンの使用をお勧めします。
qiskit[all]~=2.5.1
量子ビットの状態に関する情報を得るには、それを古典ビットの上で測定すればよい。 Qiskitでは、測定は計算基底、すなわち1量子ビットPauli- 基底で行われる。 したがって、パウリ 固有状態 と との重なりによって、測定結果は0か1になる:
回路に測定を適用する
回路に測定を適用する方法はいくつかある:
QuantumCircuit.measureメソッド
を使用する。 measure メソッドを使って QuantumCircuit.
例:
from qiskit import QuantumCircuit
qc = QuantumCircuit(5, 5)
qc.x(0)
qc.x(1)
qc.x(4)
qc.measure(
range(5), range(5)
) # Measures all qubits into the corresponding clbit.Output:
<qiskit.circuit.instructionset.InstructionSet at 0x7ff250007af0>
from qiskit import QuantumCircuit
qc = QuantumCircuit(3, 1)
qc.x([0, 2])
qc.measure(1, 0) # Measure qubit 1 into the classical bit 0.Output:
<qiskit.circuit.instructionset.InstructionSet at 0x7ff250007ca0>
Measure クラス
Qiskit Measure クラスは、指定された量子ビットを測定します。
from qiskit.circuit import Measure
qc = QuantumCircuit(3, 1)
qc.x([0, 1])
qc.append(Measure(), [0], [0]) # measure qubit 0 into clbit 0Output:
<qiskit.circuit.instructionset.InstructionSet at 0x7ff250007760>
QuantumCircuit.measure_allメソッド
すべての量子ビットを対応する古典ビットに変換するには measure_all メソッドを使う。 デフォルトでは、この方法はこれらの測定値を保存するために、 ClassicalRegister に新しいクラシックビットを追加する。
from qiskit import QuantumCircuit
qc = QuantumCircuit(3, 1)
qc.x([0, 2])
qc.measure_all() # Measure all qubits.QuantumCircuit.measure_activeメソッド
アイドル状態でないすべての量子ビットを測定するには measure_active メソッドを使います。 このメソッドは、測定中の非アイドル量子ビットの数に等しいサイズの新しい ClassicalRegister 。
from qiskit import QuantumCircuit
qc = QuantumCircuit(3, 1)
qc.x([0, 2])
qc.measure_active() # Measure qubits that are not idle, that is, qubits 0 and 2.次のステップ
推奨事項
Measureクラスmeasure_all方法measure_active方法random_circuit方法- 回路中間点での測定 ( IBM Quantum Compute Service を使用している場合のみ利用可能です。)
このページは役に立ちましたか?
バグや誤字の報告、またはコンテンツの要求はGitHubで行ってください。