Changelog
Stay up to date with the latest Boulder Opal release notes
Boulder Opal 19.6.1
October 24, 2022
What's new
- Added
organization
property toQctrl
session.
Boulder Opal 19.6.0
October 20, 2022
Breaking changes
- We've improved the usability of the Q-CTRL Visualizer through a few changes:
- The
figure
parameter for all functions is now an optional keyword-only argument. This means you can omit it when calling, for instance,plot_controls
, and just pass the dictionary with your controls:plot_controls(controls)
. You can still pass a figure for the function to place the plot in it, using its keyword:plot_controls(controls, figure=your_figure)
. - The default value of
y_axis_log
in plot_cost_history has been changed from True to False. - The parameter
seq
of plot_sequences has been renamed tosequences
.
- The
What's new
- We've added a new ions toolkit to streamline the workflow of performing calculations trapped ions systems in Boulder Opal. Find out more in the new tutorial and the reference documentation for the
ions
toolkit namespace. - We've added new graph operations to create displacement operators and squeeze operators in Fock spaces.
- We've added a
seed
parameter to the calculate_optimization and calculate_stochastic_optimization functions. You can use it to obtain deterministic results from the initial values of optimizable graph nodes. Note that if your graph contains random operations, you need to set seeds for them as well for the optimization to be fully deterministic. - We've added a
cost_tolerance
parameter to thecalculate_optimization
function. You can use it to set an early stop condition for the optimizer, halting the optimization when the relative cost improvement over an iteration is smaller than the tolerance. See the reference documentation for more information. - We've added two parameters to the superconducting toolkit
optimize
function:max_iteration_count
: You can use this to set an early stop condition for the optimizer, halting the optimization if these many iterations have been taken.cost_history
: You can use this to retrieve the history of the cost function at each iteration during the optimization.- See the reference documentation for more information.
- We've improved the performance of the neural network closed-loop optimizer up to 3X speed-up, especially for large test points, by introducing early stopping threshold and parallelizing training.
- We've made changes to the layout of the documentation in order to improve accessibility and ease of navigation. You can see them in the Boulder Opal documentation.
- We've added a new user guide on obtaining optimized controls using a Hann basis.
Boulder Opal 19.5.0
September 19, 2022
What's new
- We've added a new closed-loop optimization toolkit to streamline the workflow of setting up and running closed-loop optimizations in Boulder Opal. Find out more in the updated tutorial and user guide.
- We've removed the reminder about using
qctrl.get_result
that was shown when running calculations on the cloud. You can find more information about retrieving results in this user guide. - We've added the following new documentation:
- New topic on libraries of pulses for Boulder Opal.
- New user guide on how to perform optimization and simulation in the same calculation.
- New user guide on how to reuse graph definitions in different calculations.
- New application note on performing noise spectroscopy in superconducting hardware.
Boulder Opal 19.4.0
September 2, 2022
What's new
- We have added a function to the Q-CTRL Visualizer to plot histograms of counts from quantum circuits: qctrlvisualizer.plot_bitstring_probabilities_histogram.
Boulder Opal 19.3.0
August 18, 2022
What's new
- You can now mute and unmute status messages when running calculations. See an example in this user guide.
- We have added a function that makes it easier for you to cite Boulder Opal in papers and other works. See an example in this user guide.
Boulder Opal 19.2.0
August 9, 2022
What's new
- We've added the Q-CTRL Visualizer package as a dependency of the Q-CTRL Python package. Now you can keep up-to-date with the Visualizer's latest features without having to install or upgrade it separately.
Boulder Opal 19.1.0
August 8, 2022
What's new
- We've added four new non-graph pulses to the pulse library:
- Linear ramps: qctrl.pulses.linear_ramp
- Hyperbolic tangent ramp: qctrl.pulses.tanh_ramp
- Hyperbolic secant pulse: qctrl.pulses.sech_ramp
- Gaussian pulse: qctrl.pulses.gaussian_pulse
- The optimization algorithm CMA-ES is now available to choose among the options for closed-loop optimization. To use it, pass the object CmaesInitializer when using the Boulder Opal function qctrl.functions.closed_loop_optimization_step.
Boulder Opal 19.0.0
August 3, 2022
Breaking changes
- We have removed the following deprecated graph operations and parameters:
- The graph operations
graph.pwc_operator_hermitian_part
andgraph.stf_operator_hermitian_part
have been deprecated in favor of the unified operation graph.hermitian_part. - The parameter
cut_off_frequency
of the operation graph.sinc_convolution_kernel has been deprecated in favor ofcutoff_frequency
.
- The graph operations
What's new
- We have added two non-graph pulses to the pulse library:
- Hann series: qctrl.pulses.hann_series
- Sinusoid: qctrl.pulses.sinusoid
- The message alerting you when there's a new version of the Q-CTRL Python package available now also contains a URL to this Changelog page.
Boulder Opal 18.9.0
July 27, 2022
What's new
- We've added new STF pulses in the pulse library.
- Sech pulse: graph.pulses.sech_pulse_stf
- Sinusoid pulse: graph.pulses.sinusoid_stf
- Linear ramp: graph.pulses.linear_ramp_stf
- We've added non-graph pulses to the pulse library. You can use the Pulse class methods to sample and export them to your hardware.
- Cosine pulse: qctrl.pulses.cosine_pulse
- Square pulse: qctrl.pulses.square_pulse
- We've added an
initial_values
parameter to graph.utils.real_optimizable_pwc_signal and graph.utils.complex_optimizable_pwc_signal nodes to initialize optimization searches with your desired values.
Bug fixes
- We've fixed an authentication issue when using
qctrl
commands in the terminal.
Boulder Opal 18.8.0
July 25, 2022
What's new
- We've added new toolkit functions for creating the following STF pulses:
- Gaussian pulses: graph.pulse.gaussian_pulse_stf.
- Hann series: graph.pulse.hann_series_stf.
- Hyperbolic tangent ramp: graph.pulse.tanh_ramp_stf.