Lewati ke konten utama
Proyek ini masih dalam tahap beta. Menemukan bug? Buat isu GitHub. Punya pertanyaan atau ide? Tanya di Discussions — kami sangat menghargai masukan kamu!
Bagaimana kualitas terjemahan di halaman ini?

Mengukur Qubit

Versi paket

Kode di halaman ini dikembangkan menggunakan persyaratan berikut. Kami menyarankan untuk menggunakan versi ini atau yang lebih baru.

qiskit[all]~=2.5.2

Untuk mendapatkan informasi tentang keadaan sebuah qubit, Anda bisa mengukurnya ke sebuah classical bit. Di Qiskit, pengukuran dilakukan dalam basis komputasional, yaitu basis Pauli-ZZ satu-Qubit. Oleh karena itu, pengukuran menghasilkan 0 atau 1, tergantung pada tumpang tindih dengan eigenstate Pauli-ZZ ∣0⟩|0\rangle dan ∣1⟩|1\rangle:

∣q⟩→measure{0(outcome+1),with probability p0=∣⟨q∣0⟩∣2,1(outcome−1),with probability p1=∣⟨q∣1⟩∣2.|q\rangle \xrightarrow{measure}\begin{cases} 0 (\text{outcome}+1), \text{with probability } p_0=|\langle q|0\rangle|^{2}\text{,} \\ 1 (\text{outcome}-1), \text{with probability } p_1=|\langle q|1\rangle|^{2}\text{.} \end{cases}

Menerapkan pengukuran ke Circuit​

Ada beberapa cara untuk menerapkan pengukuran ke Circuit:

Metode QuantumCircuit.measure​

Gunakan metode measure untuk mengukur sebuah QuantumCircuit.

Contoh:

# Added by doQumentation — installs the packages this notebook needs if they are missing
import importlib.util

_needed = {"qiskit": "qiskit"}
_missing = [pip for module, pip in _needed.items()
if importlib.util.find_spec(module) is None]
# One at a time, so a package that fails to install does not block the others
for _pip in _missing:
%pip install -q {_pip}
if not _missing:
print("\u2713 All required packages are installed")
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.
<qiskit.circuit.instructionset.InstructionSet at 0x7f47d8dc24d0>
from qiskit import QuantumCircuit

qc = QuantumCircuit(3, 1)
qc.x([0, 2])
qc.measure(1, 0) # Measure qubit 1 into the classical bit 0.
<qiskit.circuit.instructionset.InstructionSet at 0x7f47d8dc34f0>

Kelas Measure​

Kelas Qiskit Measure mengukur qubit yang ditentukan.

from qiskit.circuit import Measure

qc = QuantumCircuit(3, 1)
qc.x([0, 1])
qc.append(Measure(), [0], [0]) # measure qubit 0 into clbit 0
<qiskit.circuit.instructionset.InstructionSet at 0x7f47d8dc2da0>

Metode QuantumCircuit.measure_all​

Untuk mengukur semua qubit ke classical bits yang sesuai, gunakan metode measure_all. Secara default, metode ini menambahkan classical bits baru di sebuah ClassicalRegister untuk menyimpan hasil pengukuran ini.

from qiskit import QuantumCircuit

qc = QuantumCircuit(3, 1)
qc.x([0, 2])
qc.measure_all() # Measure all qubits.

Metode QuantumCircuit.measure_active​

Untuk mengukur semua qubit yang tidak idle, gunakan metode measure_active. Metode ini membuat ClassicalRegister baru dengan ukuran yang sama dengan jumlah qubit non-idle yang diukur.

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.

Langkah berikutnya​

Rekomendasi