Lumaktaw sa pangunahing nilalaman

Sukatin ang mga Qubit

Mga bersyon ng package

Ang code sa pahinang ito ay ginawa gamit ang mga sumusunod na kinakailangan. Inirerekomenda namin ang paggamit ng mga bersyong ito o mas bago.

qiskit[all]~=2.4.0

Para makakuha ng impormasyon tungkol sa estado ng isang qubit, maaari mo itong sukatin sa isang classical bit. Sa Qiskit, ang mga sukat ay isinasagawa sa computational basis, ibig sabihin, ang single-qubit Pauli-ZZ basis. Kaya naman, ang isang sukat ay nagbubunga ng 0 o 1, depende sa overlap sa mga Pauli-ZZ eigenstate na ∣0⟩|0\rangle at ∣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}

Mag-apply ng sukat sa isang circuit​

Mayroong ilang paraan para mag-apply ng mga sukat sa isang circuit:

Paraan ng QuantumCircuit.measure​

Gamitin ang paraan ng measure para sukatin ang isang QuantumCircuit.

Mga halimbawa:

# Added by doQumentation — required packages for this notebook
!pip install -q qiskit
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 0x7eff8c636c20>
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 0x7eff8c636830>

Klase ng Measure​

Ang Qiskit Measure class ay sumusukat sa mga tinukoy na qubit.

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 0x7eff8c6369e0>

Paraan ng QuantumCircuit.measure_all​

Para sukatin ang lahat ng qubit sa kaukulang mga classical bit, gamitin ang paraan ng measure_all. Sa default, ang pamamaraang ito ay nagdadagdag ng mga bagong classical bit sa isang ClassicalRegister para iimbak ang mga sukat na ito.

from qiskit import QuantumCircuit

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

Paraan ng QuantumCircuit.measure_active​

Para sukatin ang lahat ng qubit na hindi idle, gamitin ang paraan ng measure_active. Ang pamamaraang ito ay lumilikha ng bagong ClassicalRegister na may sukat na katumbas ng bilang ng mga non-idle na qubit na sinusukat.

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.

Mga susunod na hakbang​

Mga rekomendasyon