Skip to main contentIBM Quantum Documentation
This page is from an old version of Qiskit SDK and does not exist in the latest version. We recommend you migrate to the latest version. See the release notes for more information.

qiskit.pulse.builder.build

build(backend=None, schedule=None, name=None, default_alignment='left', default_transpiler_settings=None, default_circuit_scheduler_settings=None)

GitHub

Create a context manager for launching the imperative pulse builder DSL.

To enter a building context and starting building a pulse program:

from qiskit import execute, pulse
from qiskit.providers.fake_provider import FakeOpenPulse2Q
 
backend = FakeOpenPulse2Q()
 
d0 = pulse.DriveChannel(0)
 
with pulse.build() as pulse_prog:
    pulse.play(pulse.Constant(100, 0.5), d0)

While the output program pulse_prog cannot be executed as we are using a mock backend. If a real backend is being used, executing the program is done with:

qiskit.execute(pulse_prog, backend)

Parameters

  • backend (Backend) – A Qiskit backend. If not supplied certain builder functionality will be unavailable.
  • schedule (Optional[ScheduleBlock]) – A pulse ScheduleBlock in which your pulse program will be built.
  • name (Optional[str]) – Name of pulse program to be built.
  • default_alignment (Union[str, AlignmentKind, None]) – Default scheduling alignment for builder. One of left, right, sequential or an alignment context.
  • default_transpiler_settings (Optional[Dict[str, Any]]) – Default settings for the transpiler.
  • default_circuit_scheduler_settings (Optional[Dict[str, Any]]) – Default settings for the circuit to pulse scheduler.

Return type

AbstractContextManager[ScheduleBlock]

Returns

A new builder context which has the active builder initialized.

Was this page helpful?
Report a bug or request content on GitHub.