Quantum Color Centers Analysis Toolbox
Project description
Quantum Color Centers Analysis Toolbox
QuaCCAToo is a Python library for simulating and analyzing spin dynamics of color centers for quantum technology applications.
The systems' time evolution under pulsed experiments are calculated through quantum master equations based on the provided Hamiltonian, with realistic pulses in the laboratory frame.
The software is built on top of QuTip, inheriting its object-oriented framework and the Qobj class.
For learning more about the package, we recommend first checking the tutorials section.
If you used QuaCCAToo in your work, please cite this repository and 10.1103/PhysRevA.111.022606.
Links
- Repository: https://github.com/QISS-HZB/QuaCCAToo
- Documentation: https://qiss-hzb.github.io/QuaCCAToo/
- PyPI: https://pypi.org/project/QuaCCAToo/
Installation
We strongly recommend using a virtual environment (use whichever tool like venv/conda/uv that you prefer) so that the system Python remains untouched.
pip install quaccatoo
Check here for detailed installation instructions.
Featured In
- L. Tsunaki, A. Singh, K. Volkova, S. Trofimov, T. Pregnolato, T. Schröder, & B. Naydenov. (2025). Ambiguous resonances in multipulse quantum sensing with nitrogen-vacancy centers. Physical Review A, 111(2), 022606. doi: 10.1103/PhysRevA.111.022606
- S. Trofimov, C. Thessalonikios, V. Deinhart, A. Spyrantis, L. Tsunaki, K. Volkova, K. Höflich, & B. Naydenov. (2025). Local nanoscale probing of electron spins using NV centers in diamond. arXiv:2507.13295 quant-ph. 2507.13295.
Class Hierarchy
QuaCCAToo is an object-oriented package organized with the following classes:
QSysdefines the quantum system of the problem. It has an obligatory intrinsic internal Hamiltonian $H_0$, optional initial state, observable and a set of collapse operators. OnQSys, calculates the eigenstates and eigenvalues of the system and has methods for truncating the systems and adding other spins. QuaCCAToo providesNVas a predefined system for nitrogen vacancy centers in diamonds, more systems will be provided soon.PulsedSimcontains the logic for performing the simulation of pulsed experiments upon aQSysobject. It has attributes of a pulse sequence containing a set of pulses and free evolutions, control Hamiltonian $H_1$, experiment variable and simulation results. Many predefined common pulse sequences are given inpredef_seqsandpredef_dd_seqsmodules. Different pulse shapes are predefined in thepulse_shapesmodule.ExpDatais a class to load experimental data and perform basic data processing, such as rescaling, subtracting columns or performing polynomial baseline corrections.Analysiscan be used either on simulation or experimental results, with a series of methods like for fitting (based onlmfit), Fourier transforms and data comparison. The class can also used for plotting the results in multiple forms, including density matrix histograms and Bloch spheres. Several fit models and functions relevant for analysis of color centers are provided in thefit_functionsmodule.
Contribution guidelines
Any contribution or bug report are welcome.
- To contribute, fork the main branch and make a pull request.
- We use
hatch/hatchlingas the build backend. The other development dependencies includepytestandruff. They can be installed by runningpip install -e '.[dev]'from within the cloned repository. See here for details. - Properly document everything in details following the
numpydocstring format. - Test your branch by running
pytestand the tutorial notebooks. Feel free to add more tests. - Please pay attention to linter warnings (
ruff check) and format your code withruff format. - Module level refactors require corresponding changes in the
sphinxsetup, too. - Use US-English, not British-English. Eg: analyze instead of analyse, color instead of colour, center instead of centre.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file quaccatoo-1.0.0.tar.gz.
File metadata
- Download URL: quaccatoo-1.0.0.tar.gz
- Upload date:
- Size: 48.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: python-httpx/0.28.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9c9674156c2c95b23ea8401c728bd7b81550113be228d6fcbcc1054b85715a6f
|
|
| MD5 |
e971e870db3d6c10b52fd4f7b0646d54
|
|
| BLAKE2b-256 |
8f16f95e410f0175479af741c080e18b39a9887522fbd47c617e80e334a9d7ac
|
File details
Details for the file quaccatoo-1.0.0-py3-none-any.whl.
File metadata
- Download URL: quaccatoo-1.0.0-py3-none-any.whl
- Upload date:
- Size: 40.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: python-httpx/0.28.1
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cd09e76c9a9931670f50edf922f5c1f7ba392cea9290a3f1938f9542f87dd8e3
|
|
| MD5 |
f9f073ffa57d6bec105bdea7743f17d8
|
|
| BLAKE2b-256 |
0a345b0d4de4e9c24ba0f552e1ce55ee9f3d6f7fde93af7c6ba583e7cd81f2e0
|