Lumaktaw sa pangunahing nilalaman
Ang proyektong ito ay nasa beta. Nakakita ng bug? Mag-bukas ng GitHub issue. May tanong o ideya? Magtanong sa Discussions — gusto naming marinig ang iyong feedback!
Gaano kaganda ang kalidad ng pagsasalin sa pahinang ito?

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.5.2

Para makakuha ng impormasyon tungkol sa estado ng isang qubit, maaari mo itong sukatin sa isang classical bit. Sa Qiskit, ang mga pagsukat ay isinasagawa sa computational basis, ibig sabihin, ang single-qubit Pauli-ZZ basis. Kaya naman, ang isang pagsukat 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 pagsukat sa isang circuit​

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

Paraan ng QuantumCircuit.measure​

Gamitin ang paraan ng measure para sukatin ang isang QuantumCircuit.

Mga halimbawa:

# 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 0x1068db370>
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 0x1068da4a0>

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

Paraan ng QuantumCircuit.measure_all​

Para sukatin ang lahat ng qubit sa kaukulang mga classical bit, gamitin ang measure_all na method. Sa default, ang method na ito ay nagdadagdag ng mga bagong classical bit sa isang ClassicalRegister para maimbak ang mga pagsukat 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 paraang ito ay lumilikha ng bagong ClassicalRegister na may laki na katumbas ng bilang ng mga qubit na hindi idle 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