Skip to content

Releases: scqubits/qfit

v3.0.2: Bug fix - standalone canvas can't be properly created

14 Aug 21:38

Choose a tag to compare

Bug fix

  • standalone canvas can't be properly created when calling create_standalone_canvas

v3.0.1: bug fixes

16 Jul 21:54

Choose a tag to compare

Enhancements

  • Renamed methods for retrieving circuit parameters, extracted points and calibration results. Now these methods are named get_<...> instead of export_<...>. Added more details in the docstrings. Updated __repr__ strings for easier use of the FullCalibrationResult and PartialCalibrationResult classes.
  • Minor adjustment in the UI for the main canvas file tabs.
  • The setting panel is now implemented as a standalone window, which can be dragged out of the main window.
  • The Z data selection is now moved to the plot button panel.

Bug Fixes

  • Canvas was not responsive after zooming out and reset. This is now fixed.
  • The Z data selection was not working. This is fixed now.
  • Previously, the denoise filter option may fail due to the missing dependency pywavelet. This package is now added in the list of dependencies.
  • Previously, error messages show up when attempting to plot spectra that were not computed ever. This is fixed now by checking if spectra exist when plotting.
  • Previously, opening a fit instance via menu causes the calibration table loaded incorrectly, this is now fixed.
  • Images loading was broken, which is now fixed.
  • Previously, when renaming qfit file externally and then opening a session from the renamed file, saving the session is broken. Now this is fixed.
  • Duplicated axis candidates are removed when loading images.

v3.0.0: Full-feature Canvas, New Export and Initialization Methods

05 Jul 21:58

Choose a tag to compare

QFit version 3.0.0 is released! The new version brings full-feature canvases with clearer transition labeling, improved zoom controls, and uniform colormaps for consistent visualization. New export tools simplify saving calibration results, circuit parameters, and extracted points, while YAML-based initialization enables seamless batch processing. Key visualization and slider bugs are also fixed, making this a cleaner, more robust release for routine workflows.

Enhancements

  • Full Feature Canvases
    • A button for easy zoom out is included in the main canvas
    • The standalone canvases now include a native matplotlib canvas control panel.
    • Both main and standalone canvases now try to label all the theoretical transitions that are visible in the canvas.
    • The newly computed theoretical transitions will span the full range of the x-axis of canvas (in the past, the spectrum spanned over the x range of measurement data).
    • Measurement colormap for each figure now auto-centers at the median of the figure’s z data (e.g. transmission amplitude) for a uniform presentation.
    • The visibility of theoretical transitions can be toggled.
  • A set of more versatile export tools (available as methods of the Fit class). The user can now call
    • export_calibration_result to export calibration results, which returns an instance of PartialCalibrationResult or FullCalibrationResult classes that gathers data and functionalities related to calibrations, such as the map from dc biases to control parameters.
    • export_circuit_parameters to export circuit’s parameters (such as EJ, EC, EL, interaction strength) as a dictionary.
    • export_extracted_points to export all the extracted transition point information, including coordinates, tag types, labels, photon numbers.
  • Initialize QFit with a YAML file. This automates the workflow from data import to fitting parameter configuration, which is particularly useful for batch-processing, such as when characterizing multiple, similar qubits. To use this functionality, fill in a template from generate_yaml_template and launch by Fit.new_by_yaml().

Bug Fixes

  • Backend Models
    • Silence the scqubits warning when there is a standalone canvas.
  • Views
    • If the user changes in min/max ranges of prefit sliders, the displayed parameter values would be incorrectly updated. This is fixed.
    • If the provided x axis was in descending order, the transition labels were missing in the canvas. This is fixed.
    • When there were multiple Y candidates in the import view and one of them was a constant, there was a chance that the figure was not correctly visualized. Now this is fixed.
    • When the canvas was zoomed / panned, the calibrated axis would be wrongly presented in the canvas. Now this is fixed.

v2.3.2 Emergent bug fix on standalone canvas

17 Jun 17:13

Choose a tag to compare

  • Fixed a bug for standalone canvas not showing the full range of selected datasets.

v2.3.1: Emergency fixes

15 Jun 01:35

Choose a tag to compare

Bug fixes:

  • Fixed a critical error in v2.3.0 when performing pre-fit and fit with a non-empty extraction of points.
  • When the provided x-axis values (say a list of control voltage) is reversely ordered, the canvas will display a wrongly reversed axis. This release fixes in this issue.

v2.3.0: Preparing for major updates on the cost function

12 Jun 20:09

Choose a tag to compare

Enhancements and changes

  • Include three helper functions to assist asynchronous execution of qfit operations. They are "qfit.block_exec()", "qfit.block_exec_until()", and "qfit.block_exec_until_success()", they block executions of python code while keeping qfit GUI unaffected. For now they are for mostly internal applications.

Under the hood

  • Update the storage datatypes to support adding weight in the cost function evaluation.

v2.2.3: tutorial notebook update and minor fix

20 May 00:12

Choose a tag to compare

Enhancement and changes

  • Updated tutorial notebook

Bug fixes

  • Fixed a bug where the example notebook cannot run when the entire repo is downloaded (cloned) and QFit is not installed from the downloaded repo (e.g. installed via conda). The fix relocates the tutorial notebook to example_notebooks folder

v2.2.2: Bug fixes, and uploaded on conda!

15 May 19:12

Choose a tag to compare

Ta-da, now the package is uploaded to condo-forge and can be installed via conda install -c condo-forge qfit!

Enhancement and changes

  • Renamed externally-accessible methods to comply with PEP8.
  • Minor language changes.
  • Minor rearrangements of user interfaces.

Bug fixes

  • Fixed a bug where transition lines occasionally not showing up. The bug is caused by the code for positioning labels of lines.
  • Fixed a bug where the .qfit file saved with old-version apps (v1.0 and previous ones) cannot be read with the newer version.

v2.2.1: Plotting enhancements

20 Mar 18:42

Choose a tag to compare

New feature

  • Implemented a new feature for creating a separate standalone canvas, which shows different pieces of spectroscopy datasets in the same plot. Currently only support the case where there is only one voltage/current tuning knob.

Enhancement

  • Optimized positions of transition labels.

Bug fix

  • Fixed a bug where the transition labels are not shown if the theoretical transition is not identified.

v2.2.0: Uncertain labeling for a transition

05 Mar 16:07

Choose a tag to compare

Enhancements and changes

  • The nature of some resonance peaks is sometimes unknown during the initial stage of fitting. QFit accommodates this uncertainty by allowing transitions to have no labels or uncertain labels. For example, consider measuring the spectrum of a fluxonium qubit near its half-flux sweet spot, where low-lying excited states may be thermally populated. Users can specify the initial state of a transition as ``0, 0; 1, 0'' using bare labels, indicating that the transition may originate from either the ground state (0, 0) or the first excited state (1, 0) of the fluxonium-resonator system.
  • In the past, change circuit parameter in the GUI cause changes in the HilbertSpace object in the notebook. This is because qfit only "reference" the object that is stored externally. Now we provide option to initialize the GUI with a copy of the HilbertSpace object by
Fit(<HilbertSpace>, 
    <measurementFileName>,
    deepcopy = True,
)

Under the hood

  • When qfit is closed (either in the notebook or by clicking "x" in the GUI), the garbage will be collected.