Medir qubits
Versiones de paquetes
El código de esta página fue desarrollado con los siguientes requisitos. Recomendamos usar estas versiones o versiones más recientes.
qiskit[all]~=2.5.2
Para obtener información sobre el estado de un qubit, puedes medirlo en un bit clásico. En Qiskit, las mediciones se realizan en la base computacional, es decir, la base de Pauli- de un solo qubit. Por lo tanto, una medición produce 0 o 1, dependiendo del solapamiento con los estados propios de Pauli- y :
Aplicar una medición a un circuito
Hay varias formas de aplicar mediciones a un circuito:
Método QuantumCircuit.measure
Usa el método measure para medir un QuantumCircuit.
Ejemplos:
# 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>
Clase Measure
La clase Measure de Qiskit mide los qubits especificados.
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>
Método QuantumCircuit.measure_all
Para medir todos los qubits en los bits clásicos correspondientes, usa el método measure_all. Por defecto, este método agrega nuevos bits clásicos en un ClassicalRegister para almacenar estas mediciones.
from qiskit import QuantumCircuit
qc = QuantumCircuit(3, 1)
qc.x([0, 2])
qc.measure_all() # Measure all qubits.
Método QuantumCircuit.measure_active
Para medir todos los qubits que no están inactivos, usa el método measure_active. Este método crea un nuevo ClassicalRegister con un tamaño igual al número de qubits no inactivos que se están midiendo.
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.
Siguientes pasos
- Clase
Measure - Método
measure_all - Método
measure_active - Método
random_circuit - Mediciones a mitad del circuito (Disponible solo al usar IBM Quantum Compute Service.)