Changelog
Stay up to date with the latest Boulder Opal release notes
Boulder Opal 21.0.1
March 20, 2023
New features
- We've added the function
plot_density_matrix
to the Q-CTRL Visualizer to create a heatmap with the absolute values of a density matrix’s elements. You can learn more about it in its reference page. - We've added a user guide on automating complex calibration tasks using the Q-CTRL Experiment Scheduler.
Bug fixes
- We've fixed an issue when trying to request a task with REVOKED status.
Boulder Opal 21.0.0
March 1, 2023
Breaking changes
- We've added enforcement for users in multiple organizations to specify the computing environment by passing an organization slug when instantiating a
Qctrl
object. - We've changed the default value of
optimization_count
in calculate_optimization and calculate_stochastic_optimization to 4. This updated value is sufficient for a wide range of optimization problems. However, depending on the optimization landscape, a larger value will help in finding lower costs at the expense of prolonging computation time.
New features
- We’re excited to announce the Boulder Opal basic plan as a free version to make it widely accessible to researchers, students and engineers in the quantum community. The Boulder Opal basic plan is powered by our enhanced cloud infrastructure (beta phase of development) that provides a dedicated computing environment to deliver a better user experience and accelerated computation.
- We've added a new node to calculate the steady state of a time-independent open quantum system. You can learn out more it in the reference documentation and in this user guide.
- We've added the function
plot_population_distributions
to the Q-CTRL Visualizer to create a bar graph of the population distribution for a state. You can learn more about it in its reference page. - We've deprecated the plot_populations function in the Q-CTRL Visualizer, and it will be removed in the future. Please use plot_population_dynamics instead.
Boulder Opal 20.2.0
February 20, 2023
New features
- We've added the functionality to cancel in-progress calculations. Now, when you cancel a calculation with
Queued
orRunning
status, for example, using a keyboard interrupt or interrupting a notebook kernel, the corresponding calculation on the server is also stopped. - We've added the functionality to cancel calculations with
Queued
status in activity monitor on Boulder Opal web app.
Improvements
- We've overhauled the look of the documentation.
Boulder Opal 20.1.1
February 10, 2023
What's new
- We've deprecated the
plot_smooth_controls
andplot_cost_history
functions in the Q-CTRL Visualizer, and they will be removed in the future. Please useplot_controls
andplot_cost_histories
instead. - We've added a
population_size
parameter to the CMA-ES optimizer. You can use this to tweak the search behavior of the optimization. - We've added the following to the documentation:
- We’ve updated and simplified the Boulder Opal overview topic with the latest product capabilities.
- We've improved and simplified the examples in the How to represent quantum systems user guide.
- We've overhauled the look of the Reference documentation.
Boulder Opal 20.1.0
January 19, 2023
What's new
- The Q-CTRL Python package now supports Python 3.11. Note that we will soon remove support for Python 3.7 since it will reach its end-of-life status on June 26th, 2023.
- When using the closed-loop optimization function, you can now cancel the calculation with a
KeyboardInterrupt
. The optimization will stop and return the best results obtained thus far. You can throw aKeyboardInterrupt
by pressing control+C when running a Python script, or interrupting the kernel when running a Jupyter notebook. - We've added an application note on designing robust Rydberg blockade two-qubit gates in cold atoms.
Boulder Opal 20.0.2
January 3, 2023
What's new
- You can now pass list or tuple input for
sample_times
in graph nodes such astime_evolution_operators_pwc
,state_evolution_pwc
orsample_stf
, simplifying the syntax for these operations when only a single sample is required.
Bug fixes
- Fixed an error where
graph.state_evolution_pwc
would fail when using an intkrylov_subspace_dimension
in eager graph execution mode.
Boulder Opal 20.0.1
December 21, 2022
What's new
- Upgraded
gql
package version to 8.1.0.
Boulder Opal 20.0.0
December 20, 2022
Breaking changes
- We've removed the optional
initial_covariance
parameter from the CMA-ES closed-loop optimizer. - We've removed the
action-export
andaction-input-export
commands from the CLI tool.
What's new
- We've deprecated the
rng_seed
parameter of the closed-loop optimizer initializer types in favor of aseed
parameter. The new parameter has the same behavior as the deprecated one. The deprecated parameter will be removed in the future.
Boulder Opal 19.7.3
December 9, 2022
Bug fixes
- We've fixed some broken links in the reference documentation.
Boulder Opal 19.7.2
December 8, 2022
What's new
- We've renamed the "pulses" toolkit to "signals". To update your code, change calls to, for instance,
graph.pulses.gaussian_pulse_pwc
tograph.signals.gaussian_pulse_pwc
. You can see the updated reference documentation. - We've added a
segmentation
parameter to graph.signals.square_pulse_pwc, graph.signals.gaussian_pulse_pwc, graph.signals.linear_ramp_pwc, and graph.signals.cosine_pulse_pwc. It allows you to choose between a uniform segmentation (default) and a minimal segmentation (reserving most of the segments for the non-constant parts of the signal). For more information, see the reference page of the nodes or of the segmentation type. You can also see an example in this user guide. - You can now provide Tensor operators to operations creating
SparsePwc
nodes (graph.sparse_pwc_operator and graph.constant_sparse_pwc_operator). They will be internally converted into a sparse representation, and allows you to build the operators inside of the graph itself. You can see an example in this user guide. - We've added a new function to the Visualizer to plot Wigner functions. You can see it in action in this application note.
- We've added the following to the documentation:
- We've added a new user guide for the gradient-free optimizer, which is useful when the gradient is very costly to compute or inaccessible.
- We've added a new application note on how to generate noise-robust gates for Rigetti Quil-T with Boulder Opal.
- We've added examples of the new graph-based filter function and frequency-domain noise operator nodes. You can see some of them in this user guide and this application note.
- We've updated the documentation to use the new filter function and frequency-domain noise operator nodes. You can see examples in this user guide.
- We've improved the navigation of the user guides page with an updated organization for their categories.