QArray
QArray - a GPU accelerated constant capacitance simulator for quantum dots
Install / Use
/learn @b-vanstraaten/QArrayREADME
QArray
Documentation:https://qarray.readthedocs.io/en/latest/introduction.html
<p align="center"> <img src="https://github.com/b-vanstraaten/qarray/blob/main/docs/source/figures/GUI.jpg" alt="structure" width="800"> </p>QArray harnesses the speed of the systems programming language Rust or the compute power of GPUs using JAX XLA to deliver constant capacitance model charge stability diagrams in seconds or milliseconds. It couples highly optimised and parallelised code with two new algorithms to compute the ground state charge configuration. These algorithms scale better than the traditional brute-force approach and do not require the user to specify the maximum number of charge carriers a priori. QArray includes a graphical user interface (GUI) that allows users to interact with the simulation in real-time.
<p align="center"> <img src="https://github.com/b-vanstraaten/qarray/blob/main/docs/source/figures/structure.jpg" alt="structure" width="400"> </p>QArray runs on both CPUs and GPUs and is designed to be easy to use and integrate into your existing workflow. It was developed on macOS running on Apple Silicon and is continuously tested on Windows-lastest, macOs13, macOS14 and Ubuntu-latest.
Finally, QArray captures physical effects such as measuring the charge stability diagram with a SET and thermal broadening of charge transitions. The combination of these effects permits the simulation of charge stability diagrams that are visually similar to those measured experimentally. The plots on the right below are measured experimentally, and the plots on the left are simulated using QArray.
<p align="center"> <img src="https://github.com/b-vanstraaten/qarray/blob/main/docs/source/figures/structure.jpg" alt="structure" width="400"> </p>Figure (a) shows the charge stability diagram of an open quadruple quantum dot array recreated with permission from [1] while (b) is a simulated using QArray.
Figure (c) shows the charge stability diagram of a closed five dot quantum recreated with permission from [2] and (d) is simulated using QArray.
Installation
We have tried to precompile the binaries for as many platforms as possible if you are running one of those operating systems, you can install QArray with just pip:
pip install qarray
If you slip through the gaps, then the pip install will try to compile the binaries for you. This might require you to install some additional dependencies. In particular, might need to have cmake and rust installed.
Install Rust from: https://www.rust-lang.org/tools/install
Install CMake from: https://cmake.org/download/ however, on macOS and Ubuntu, you can install cmake using homebrew and apt, respectively.
Also, setting up JAX on macOS running on M series chips can be a bit finicky. We outline the steps that worked for us
in macOS installation. Alternatively, just spin up
a Github Codespace, then pip install qarray and
you are done.
For more information on the installation process, see the installation guide.
Getting started - double quantum dot example
from qarray import DotArray
Cdd = [
[0., 0.2, 0.05, 0.01],
[0.2, 0., 0.2, 0.05],
[0.05, 0.2, 0.0, 0.2],
[0.01, 0.05, 0.2, 0]
]
Cgd = [
[1., 0, 0, 0],
[0, 1., 0, 0.0],
[0, 0, 1., 0],
[0, 0, 0, 1]
]
# setting up the constant capacitance model_threshold_1
model = DotArray(
Cdd=Cdd,
Cgd=Cgd,
)
model.run_gui()
Examples
The examples folder contains a number of examples that demonstrate how to use the package to simulate different quantum dot systems.
- Double Quantum Dot
- Linear Triple Quantum Dot
- Linear Quadruple Quantum Dot
- Charge sensed double quantum dot
References
<a name="[1]"></a> [1] Full control of quadruple quantum dot circuit charge states in the single electron regime
<a name="[2]"></a> [2] Coherent control of individual electron spins in a two-dimensional quantum dot array
Related Skills
YC-Killer
2.7kA library of enterprise-grade AI agents designed to democratize artificial intelligence and provide free, open-source alternatives to overvalued Y Combinator startups. If you are excited about democratizing AI access & AI agents, please star ⭐️ this repository and use the link in the readme to join our open source AI research team.
best-practices-researcher
The most comprehensive Claude Code skills registry | Web Search: https://skills-registry-web.vercel.app
research_rules
Research & Verification Rules Quote Verification Protocol Primary Task "Make sure that the quote is relevant to the chapter and so you we want to make sure that we want to have it identifie
groundhog
398Groundhog's primary purpose is to teach people how Cursor and all these other coding agents work under the hood. If you understand how these coding assistants work from first principles, then you can drive these tools harder (or perhaps make your own!).
