Scqubits

Latest version: v4.2.0

Safety actively analyzes 682487 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 3 of 4

2.2

**BUG FIXES**
* Use of `<ParameterSweep>.plot_transitions` could previously lead to a spurious switch of `<ParameterSweep>["evals"]` to transition energies.
* Include the +1/2 hbar omega term when diagonalizing fluxonium in the harmonic osc. basis. The omission of this only affected absolute energies, not the energy differences which are the relevant quantities in most cases. However, wavefunction plots for fluxonium were previously incorrectly positioned relative to the potential energy.
* Some dispersion calculations previously failed for qubits other than `Transmon` and `TunableTransmon`.
* Eliminated rare `NamedSlotsNdarray` indexing failure modes.
* `ParameterSweep` previously failed for a "sweep" over just one parameter value.
* Fixed issue where the depolarization time due to quasiparticle tunneling could be negative.
* Fixed issue where accumulating legend label information in multiple plots to the same figure would fail to produce the desired legend.

**ADDITIONS**
* Support access to `Figure`, `Axes` objects from `scq.GUI()`.
* Support access to `Figure`, `Axes` from `ParameterSweep.plot_transitions`.
* Support multi-photon transitions in `ParameterSweep.transitions()` and `.plot_transitions()` via new keyword argument `photon_number`
* Added functionality for naming quantum system instances and interaction terms via `id_str` at initialization. This supports easier dict-like access to objects interior to `ParameterSweep`. Added `deepcopy` option to `ParameterSweep` that disconnects global variables from a deep copy saved inside `ParameterSweep`.
* Refactored `Explorer` class for usage of new `ParameterSweep`
* `supported_noise_channels` and `effective_noise_channels` are now `classmethods` and can be called either directly through a class, or through a class instance.
* `t1_charge_impedance` is no longer returned by `effective_noise_channels` in the case of a `TunableTransmon` and `Transmon` qubits
* Added `about` function that shows basic information about `scqubits` as well as versions of some of the most important libraries that scqubits relies on.
* Extended pytests for enhanced coverage.

**DEPRECATIONS**
* Old version of `Explorer` is still available with deprecation warning, but will be phased out in the future.
* Deprecated `omega` parameter for `Oscillator` has been removed.

2.1

**BUG FIXES**
* Fixed a bug that overwrote `<ParameterSweep>["evals"]` data with transition data when using plot_transitions().
* Fixed proper integration of `ParameterSweep` into `CentralDispatch`, enabling proper warnings to the user when internal computed sweep data is out of sync with associated quantum system parameters.
* Fixed a bug that could occur when a `ParameterSweep` was applied to a `HilbertSpace` object involving only a single subsystem.

**UNDER THE HOOD**
* Enable use of `weakref` in `CentralDispatch` for proper garbage collection.
* Extended pytests to basic `CentralDispatch` functionality

2.0

**ADDITIONS**
* New graphical user interface illustrating single-qubit functionality of scqubits.
* Introducing `NamedSlotsNdarray` as a convenient subclass of ndarray with name-based and value-based slicing, and immediate support for basic plots
* Added functionality for extracting dispersive energy parameters (such as Kerr coupling strengths)
* Improved support for transition plots (subsystem transitions, sidebands etc.)
* Added `Cos2PhiQubit` class.
* Added `KerrOscillator` class
* Added `GenericQubit` (two-level system) so that toy models such as the Jaynes-Cummings model can be readily realized with `HilbertSpace`.
* Added `n` and `phi` operators to the Oscillator class
* Added helper methods `convert_to_E_osc` and `convert_to_l_osc` for `Oscillator` initialization
* New and enhanced interface for defining interaction terms in HilbertSpace objects via .add_interaction()
* Added option to input interaction as a Qobj, or specify interaction terms as string expressions; also represented in HilbertSpace GUI



**IMPROVEMENTS**
* Convergence for `ZeroPi` is now faster, thanks to a correction to the expression for the grid spacing in discretization.py.
* Refactored `ParameterSweep` class, now allowing for multi-dimensional parameter sweeps
* Added a warning describing total=True being the default in t1 calculations


**BUG FIXES**
* Fix to type conversion error affecting the `number` operator in operators.py
* Rectified orientation of `matrix2d` plots to match axes labels
* Use of `mode` in values displayed in matrix element plots



**INTERNALS**
* New support for higher-order stencils in discretized derivatives.
* Improved formatting of `__str__` methods (called when "printing" an scqubits class instance).
* Under the hood: use of Python 3.6 compatible type annotations; unified formatting enabled by the `black` package
* Improvements to fileIO speeding up operations (increased memory cache) and requiring less disk space (avoid literal redundancies in stored data).

1.3.2

**Bug fixes**

- bug fix: `<qubit>.create()` failed in jupyter notebooks due to missing image files
- bug fix: corrected the form of the quasiparticle noise operator

1.3.1

**Major changes/additions**
- Coherence calculations for the majority of qubits. These allow for estimating coherence times and rates due to various noise channels.
- A new units system: users can specify energy units of their system Hamiltonian. These units are automatically considered when plotting and in coherence time calculations.
- Separated documentation and example jupyter notebooks into individual repositories, see scqubits-doc and scqubits-examples.

**Minor changes/additions**
- Introduced tests for real-valuedness of zero-pi Hamiltonians for speedup.
- New options in plotting (e.g. grid).

**Bug fixes**

- Fixed bug preventing the proper disabling of the progress bar.
- Various bug fixes and improvements of file IO operations.
- Fixed issue with color legend bar in .plot_matrixelements.

1.2.3

**Bug fix**:
The `FullZeroPi` Hamiltonian contained an error affecting the case of nonzero `dC`.

**Additional changes and improvements**:
- improvement: Thanks to adjusted ARPACK options, diagonalization should be noticeably faster for `ZeroPi` and `FullZeroPi`.
- making `pathos` and `dill` the default for multiprocessing.

Page 3 of 4

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.