About cookies on this site Our websites require some cookies to function properly (required). In addition, other cookies may be used with your consent to analyze site usage, improve the user experience and for advertising. For more information, please review your options. By visiting our website, you agree to our processing of information as described in IBM’sprivacy statement. To provide a smooth navigation, your cookie preferences will be shared across the IBM web domains listed here.
qiskit.pulse.builder.measure
measure(qubits, registers=None)
Measure a qubit within the currently active builder context.
At the pulse level a measurement is composed of both a stimulus pulse and an acquisition instruction which tells the systems measurement unit to acquire data and process it. We provide this measurement macro to automate the process for you, but if desired full control is still available with acquire()
and play()
.
To use the measurement it is as simple as specifying the qubit you wish to measure:
from qiskit import pulse
from qiskit.providers.fake_provider import FakeOpenPulse2Q
backend = FakeOpenPulse2Q()
qubit = 0
with pulse.build(backend) as pulse_prog:
# Do something to the qubit.
qubit_drive_chan = pulse.drive_channel(0)
pulse.play(pulse.Constant(100, 1.0), qubit_drive_chan)
# Measure the qubit.
reg = pulse.measure(qubit)
For now it is not possible to do much with the handle to reg
but in the future we will support using this handle to a result register to build up ones program. It is also possible to supply this register:
with pulse.build(backend) as pulse_prog:
pulse.play(pulse.Constant(100, 1.0), qubit_drive_chan)
# Measure the qubit.
mem0 = pulse.MemorySlot(0)
reg = pulse.measure(qubit, mem0)
assert reg == mem0
Note
Requires the active builder context to have a backend set.
Parameters
- qubits (
Union
[List
[int
],int
]) – Physical qubit to measure. - registers (
Union
[List
[NewType()
(StorageLocation
,Union
[MemorySlot
,RegisterSlot
])],NewType()
(StorageLocation
,Union
[MemorySlot
,RegisterSlot
]),None
]) – Register to store result in. If not selected the current behavior is to return theMemorySlot
with the same index asqubit
. This register will be returned.
Return type
Union
[List
[NewType()
(StorageLocation
, Union
[MemorySlot
, RegisterSlot
])], NewType()
(StorageLocation
, Union
[MemorySlot
, RegisterSlot
])]
Returns
The register
the qubit measurement result will be stored in.
Was this page helpful?
Report a bug or request content on GitHub.