Skip to content

scqubits/qfit

Repository files navigation

QFit: Interactive Parameter Fitting for Superconducting Circuits

Notice: This package is currently in beta testing. Bugs and issues are expected. We greatly appreciate your feedback and bug reports to help us improve.

Developers: Tianpu Zhao, Danyang Chen, Jens Koch

UI/UX designer: Tianying Lyu

Overview

QFit is your go-to Python application for extracting parameters of superconducting circuits from measured spectroscopy data. Following the four-step workflow, you can get your circuit parameters in no time:

  1. Calibration: QFit helps to establish the mapping from voltage (your experimental tunable input) to circuit parameters (your simulation ingredients).

  2. Point Extraction: With just a click, you can locate the peak of the spectrum sweep data with computer-assistance. The extracted data can be simply grouped as a transition and labeled. QFit even provides filters and coloring options for enhancing data visualization.

  3. Interactive Pre-fit: See your numerical model result and the data on the same plot for intuitive comparison. Adjust the numerical simulator with simple sliders to improve your fit.

  4. Automated Fitting: With one click, let the numerical optimizers do the work. You can easily configure your fitting: adjust which paramters are fixed or free, set their range, and more.

QFit supports a wide variety of circuit quantum electrodynamic systems, thanks to the powerful Python library scqubits as its backend simulator. Once you've extracted your parameters, you can pass them directly to scQubits for any further numerical simulations you need to do.

Join us in refining QFit during its beta phase! Your insights and reports are invaluable in making QFit a robust tool for this community. Dive in and explore what QFit can do for you, and let us know your experience!

Installation and Usage

Follow these steps to install QFit:

  1. (Optional but highly Recommended) Create a virtual environment with python (version > 3.10). If you are using conda, run on terminal
    conda create -n <env name> python=3.10
    conda activate <env name>
  1. On terminal, install QFit by
    pip install qfit

Once done, the application can be launched in a jupyter notebook session via

    from qfit import Fit
    Fit(<HilbertSpace>)

where <HilbertSpace> is a scqubits.HilbertSpace object, the circuit model you want to fit against.

Check out the notebook QFit_Quick_Start.ipynb for a quick intro tutorial, and QFit_Advanced_Tips.ipynb for further information.

License

license

You are free to use this software, with or without modification, provided that the conditions listed in the LICENSE file are satisfied.

qfit uses Qt library under license GNU Lesser General Public License v3.0.

qfit uses CoreUI icons and Font Awesome icons licensed under CC BY 4.0, and SVG Reop icons licensed under the MIT license.

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.