Metadata-Version: 2.1
Name: QuantumCatch
Version: 0.1
Summary: Package for the simulation and evaluation of continuous quantum measurements
Project-URL: Homepage, https://github.com/MarkusSifft/QuantumCatch
Project-URL: Bug Tracker, https://github.com/MarkusSifft/QuantumCatch/issues
Author-email: Markus Sifft <markus.sifft@rub.de>
License-File: LICENSE
Keywords: analysis,continuous quantum measurement,quantum measurement,quantum polyspectra,signal processing,spectra
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: BSD License
Classifier: Operating System :: MacOS
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: POSIX
Classifier: Operating System :: Unix
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Scientific/Engineering
Requires-Python: >=3.7
Requires-Dist: arrayfire
Requires-Dist: cachetools
Requires-Dist: h5py
Requires-Dist: ipywidgets
Requires-Dist: lmfit
Requires-Dist: matplotlib
Requires-Dist: numba
Requires-Dist: numpy
Requires-Dist: pandas
Requires-Dist: plotly
Requires-Dist: psutil
Requires-Dist: scipy
Requires-Dist: signalsnap
Requires-Dist: tqdm
Description-Content-Type: text/markdown

# QuantumCatch: a Python Package for the Analysis and Simulation of Quantum Measurements 
by M. Sifft and D. Hägele

The QuantumCatch package is open-source software for analyzing and simulating quantum measurements in terms 
of so-called quantum polyspectra. Here we refer to the polyspectra as second to fourth order spectra 
(powerspectrum, bispectrum, and 2D cut through trispectrum). The simulation of measurement traces 
(integration of the stochastic master equation) is implemented via the QuTiP toolbox whereas the 
calculation of polyspectra from Hamiltonians or measurements traces recorded in the lab is performed 
as described in [this paper](https://link.aps.org/doi/10.1103/PhysRevB.98.205143) and [this paper](https://arxiv.org/abs/2011.07992) which also shows the utilization of quantum 
polyspectra to extract Hamiltonian parameters from a quantum measurement. 

## Documentation
The package is divided into two parts: the **simulation** module and the **fitting-tools** module. 
### Simulation Module
This module connects any measurement trace as defined by a time-independet stochastic master equation with its corresponding polyspectra. Notice that spectra can be inferred via an actual simulation of the measurement trace by integration of the SME or (much quicker) by directly evaluating the ???formulas as shown [here](https://link.aps.org/doi/10.1103/PhysRevB.98.205143). 
### Fitting-Tools Module
This module allows for a convenient calculation of polyspectra from any measurement performed in the laboratory using state-of-the-art cumulant estimators and window function. Error estimation is done automatically. All routines are implemented using the ArrayFire library which allows the code to run on any CPU and GPU (Nvidia and AMD). GPUs are highly recommended for measurement trace exceeding 3 GB (binary size, not as .csv). The module also comes with a helper function for the conversion between .csv files to .h5 files which are needed to run the routines. Moreover, it come pre-equiped with a function for the estimation of parameters of telegraph noise.

### Examples
Examples for every function of the package are currently added to the folder Examples

## Support
The development of the QuantumPolyspectra package is supported by the working group Spectroscopy of Condensed Matter of the Faculty of Physics and Astronomy at the Ruhr University Bochum.

## Dependencies
For the package multiple libraries are used for the numerics and displaying the results:
* NumPy
* SciPy
* Pandas
* Cachetools
* QuTiP
* MatPlotLib
* Plotly
* tqdm
* Numba
* Lmfit
* h5py
* ArrayFire
* labellines
