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- basis. Kaya naman, ang isang pagsukat ay nagbubunga ng 0 o 1, depende sa overlap sa mga Pauli- eigenstate na at :
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
- Klase ng
Measure - Ang
measure_allna method - Ang
measure_activena method - Ang
random_circuitna method - Mga mid-circuit na pagsukat (Available lang kapag gumagamit ng IBM Quantum Compute Service.)