Medir qubits
El código de esta página se ha desarrollado teniendo en cuenta los siguientes requisitos. Recomendamos utilizar estas versiones o versiones más recientes.
qiskit[all]~=2.5.0
Para obtener información sobre el estado de un qubit, se puede medir en un bit clásico. En Qiskit, las mediciones se realizan en la base computacional, es decir, la base Pauli- de un solo qubit. Por lo tanto, una medición da 0 o 1, dependiendo del solapamiento con los estados propios de Pauli- y :
Aplicar una medida a un circuito
Hay varias formas de aplicar medidas a un circuito:
Método de QuantumCircuit.measure
Utilice el measure método para medir un QuantumCircuit.
Ejemplos:
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.Output:
<qiskit.circuit.instructionset.InstructionSet at 0x7fbafe523f70>
from qiskit import QuantumCircuit
qc = QuantumCircuit(3, 1)
qc.x([0, 2])
qc.measure(1, 0) # Measure qubit 1 into the classical bit 0.Output:
<qiskit.circuit.instructionset.InstructionSet at 0x7fbb440af550>
Measure clase
La clase Qiskit Measure 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 0Output:
<qiskit.circuit.instructionset.InstructionSet at 0x7fbb440aeec0>
Método de QuantumCircuit.measure_all
Para medir todos los qubits en los bits clásicos correspondientes, utilice el método measure_all método. Por defecto, este método añade 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 de QuantumCircuit.measure_active
Para medir todos los qubits que no están inactivos, utilice el método measure_active método. Este método crea un nuevo ClassicalRegister con un tamaño igual al número de qubits no ociosos 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.Próximos pasos
Measureclasemeasure_allmétodomeasure_activemétodorandom_circuitmétodo- Mediciones en medio del circuito (Disponibles únicamente cuando se utiliza « Qiskit Runtime »)