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.4.0
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 — 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>
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 0x7eff8c6369e0>
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 - Mid-circuit measurements (Available only when using Qiskit Runtime.)