Skip to content

Releases: QuEraComputing/bloqade-python

Release 0.15.4

23 Jan 20:59
37dec2b
Compare
Choose a tag to compare
Release 0.15.4 Pre-release
Pre-release

Changes

  • Bug fix where AHS compiler fails when a duration of a linear waveform segment is assigned to 0. #879
  • Bug fix for ryberg_h function where the batch params create a condition where no tasks are compiled #886

Bloqade 0.15.3 release!

17 Jan 16:57
Compare
Choose a tag to compare
Pre-release

Changes

  • Fixed a bug which was caused by a missing catch of a Boto3 exception
  • Fixed pretty printing for IPython/Jupyter notebooks
  • Updated Tree printer to truncate very long lists as well as deep trees.

Patch to fix issues with QuEra Internal API.

10 Jan 14:58
20f0866
Compare
Choose a tag to compare

Changes

In this patch we update the QuEra backend to match the changes to the QuEra Internal API client that enables Bloqade to catch validation errors before submission implicitly.

Patch: Tweeks to Report Figure.

05 Jan 16:52
Compare
Choose a tag to compare
Pre-release

Changed report Figure for lattice visualization to have an equal aspect ratio.

0.15.0: New waveform compiler + other new features!

05 Jan 02:08
Compare
Choose a tag to compare

New in 0.15.0

In this release we have added a new compiler for bloqade waveforms to turn them from our bloqade waveform language to python functions. To enable this when running the bloqade python emulator specify the waveform_runtime=... with either:

  • "interpret" which corresponds to the original behavior
  • "python" which generates python function representing the waveform
  • "numba" Further compiles the python function with numba.

There is a slight performance gain when using the "python" option, and this really will only help for very complicated waveforms.

Note that this is pretty experimental; we have tested a decent number of waveforms, but there still might be some issues. It is easy to check by simply switching the waveform_runtime option

Other features

  1. Added some changes to the visualization of the lattice in the Report object
  2. Added visualization for programs with parallelize
  3. Added support for emulating the full Bloqade IR. This means you can append sequences together and execute them, more to come here.

Batch filters, run-time assignment expansion and bug fixes

06 Dec 02:20
Compare
Choose a tag to compare

New in Bloqade 0.14.0

New features:

  • Added method to filter tasks in batch based on parameters in your parameter scan
  • Added the ability to pass Vector-like parameters as run time assigned variables via args

Bug fixes:

  • Fixed issue related to .show() method of Report object.
  • Fixed issue with various Tutorial and Readme examples with regard to a previous change in the Bravais Lattice API

Engine Optimization + bug fixes.

28 Nov 15:24
261a37f
Compare
Choose a tag to compare
Pre-release

New in 0.13.0

Engine Optimization

  • Refactor AST visitor implementation which has improved performance and extensibility
  • Adding caching of object duration

Bug fixes

  • Issues with BravaisLattices with the new optional positional argument #795
  • Issues related to recent change with Report.counts #796

`RemoteBatch.retrieve` and Bug fixes.

15 Nov 17:00
6f5afe1
Compare
Choose a tag to compare
Pre-release

New in Bloqade 0.12.0

API updates:

  1. #785 Adding a method that will only fetch results that are not completed.

Bug fixes:

  1. Fixing deployment issues with the documentation

State Vector interface + API changes + Bug fixes

12 Nov 20:13
Compare
Choose a tag to compare

New in Bloqade 0.11.0

State Vector emulation interface: run_callback. #758

In this release, we are pleased to present a new feature for Bloqade emulation of the bloqade. python() backend, called run_callback. This callback function gives you access to the state-vector data via the StateVector object. This callback must have at least three arguments. The first three are the state vector, the second is the parameters of the particular task given as a named tuple, and the third argument is the Hamiltonian object used to generate the evolution for that specific task. The callback is called after running the emulation for each task given by the program's assignments.

The StateVector object contains a method called local_trace, which calculates the trace of an operator over the one- and two-site densities matrices. The Hamiltonian object has some method for calculating mean and variance of the energy given a particular StateVector and can even be involved at different times.

A caveat to remember: if you select multiprocessing=True when calling run_callback if your callback function updates any objects from within the callback function, e.g., has "side effects," you might get a race condition, or the function may not update the values as expected. This is because each call is run on another Python process that will not be able to update global variables and will contain copies of objects from the main process.

Other changes

  1. #772 Removing implementation of QuEra backend to a private package, Access to QuEra's internal API will only be given on an individual basis.
  2. #776 Adding the option to filter or not filter out shots that were not perfectly filled.
  3. #771 Improving test coverage for bloqade.tasks module.
  4. #769 A bug where the level coupling was not used to hash the operators in the CompileCache for the Bloqade emulator, which meant that if the hyperfine and rydberg both had the same spatial modulation, the second operator would not be stored.

Bug Fixes + New Lattice Interface.

03 Nov 16:04
6e7b7f2
Compare
Choose a tag to compare
Pre-release

Latest Changes in 0.10.0

New Features:

  1. Specify the number of unit cells along both Bravais Lattice vectors for Bravais Lattice objects, e.g. Square(2, 3, lattice_spacing=...) will now make a rectangular lattice.
  2. Function to extract the device capabilities for Aquila: bloqade.get_capabilities.
  3. Updates to documentation:
    a. Added some links to the Builder workflow diagram
    b. Extensive documentation on the device capabilities object.

Issues Fixed:

  1. Fixed bug in deserialization of QuEra tasks #755
  2. Made Waveform plots now have a fixed aspect ratio.
  3. Bug fix in subspace calculation for certain kinds of geometries.