The Boulder Opal Toolkits are currently in beta phase of development.
Breaking changes may be introduced.
The Boulder Opal Toolkits provide convenience nodes, classes, and functions that can
simplify developing and deploying workflows in Boulder Opal.
The toolkits are built on top of the existing Boulder Opal functions and graph operations, and
are designed for a particular physical system, or system-agnostic tasks. For example,
the superconducting toolkit contains functionalities to simulate and optimize superconducting
qubit systems, and the pulse library provides various forms of commonly used control signals.
Each toolkit provides convenience functions, which can be accessed through its corresponding
namespace from the Qctrl object. For example, all functions in the utility toolkit
live in the namespace of utils of the Qctrl object. For ease of use,
some toolkits also define classes for creating abstractions for the physical system.
For example, the Cavity class in the superconducting toolkit. These classes also live
in the corresponding superconducting namespace of the Qctrl object.
Finally, toolkits may also host convenience graph nodes, which can be used together with other
nodes for defining a general computation graph for your task. These operations
live in the corresponding namespace of a Graph object.
For example, you can access the nodes for defining pulses from the pulses namespace of
a Graph object.
For more context on the role of toolkits and their usage in Boulder Opal, see the
Boulder Opal Toolkits topic.
Following is a list of toolkits in Boulder Opal:
Toolkit for closed-loop optimizations.
Toolkit for trapped ion systems.
Toolkit for pulse library.
Toolkit for superconducting qubits.
Toolkit for system-agnostic functionality.