Skip to main content
IBM Quantum Platform

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- ZZ de un solo qubit. Por lo tanto, una medición da 0 o 1, dependiendo del solapamiento con los estados propios de Pauli- ZZ 0|0\rangle y 1|1\rangle :

qmeasure{0(outcome+1),with probability p0=q02,1(outcome1),with probability p1=q12.|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}

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 0

Output:

<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

Recomendaciones
¿Le ha resultado útil esta página?
Informe de un error, de una errata o solicite contenido en GitHub.