Skip to main content

QArray

PyPI arXiv Read the Docs GitHub Workflow Status GitHub Workflow Status GitHub Workflow Status

Paper: QArray: a GPU-accelerated constant capacitance model simulator for large quantum dot arrays; Barnaby van Straaten, Joseph Hickie, Lucas Schorling, Jonas Schuff, Federico Fedele, Natalia Ares

Documentation:https://qarray.readthedocs.io/en/latest/introduction.html

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 runs on both CPUs and GPUs and is designed to be easy to use and integrate into existing workflows. It was developed on macOS running on Apple Silicon and is continuously tested on Ubuntu-latest, macOS13, macos14, Windows-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, which are visually similar to those measured experimentally.

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, you 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 the macOS installation section below. 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. To install directly from the repository use the command below:

    pip install git+https://github.com/b-vanstraaten/qarray.git@main

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 = 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.

  1. Double Quantum Dot
  2. Linear Triple Quantum Dot
  3. Linear Quadruple Quantum Dot
  4. Charge sensed double quantum dot

Release files for qarray 1.6.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for qarray 1.6.0
File Size Uploaded
qarray-1.6.0.tar.gz 5.0 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for qarray 1.6.0
File Interpreter ABI Platform
qarray-1.6.0-py3-none-any.whl Python 3 none any Details

Total release size: 5.0 MB

Release files / qarray-1.6.0.tar.gz

Download URL qarray-1.6.0.tar.gz
Size 5.0 MB
Tags Source
SHA-256 checksum
How to use checksums
8f9d9aa5223f6c292c754207cf292c15d2cafd70d1b4d95e5281a7327c6f00bd
BLAKE2b-256 checksum
How to use checksums
69eb7e41188fe123558a64623f5ed92ca32f2888ce13ca9f814db39bccb2ce30
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via python-requests/2.32.3

Release files / qarray-1.6.0-py3-none-any.whl

Download URL qarray-1.6.0-py3-none-any.whl
Size 60.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
dbcf762cd6937ef3fe6e24054927575ea357aa267945f5498338c6a29848acb9
BLAKE2b-256 checksum
How to use checksums
58dd61180bd39d920235e498ef3d0c9ccffa56611f5f4a6131cef8b17ab7cf0a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via python-requests/2.32.3

Release history Release notifications | RSS feed

This release

1.6.0 This release

2 release files

1.5.1

2 release files

1.5.0

2 release files

1.4.4

2 release files

1.4.3

2 release files

1.4.2

2 release files

1.4.1

2 release files

1.4.0

2 release files

1.3.5

2 release files

1.3.4

2 release files

1.3.3

2 release files

1.3.2

2 release files

1.3.1

2 release files

1.3.0

2 release files

1.2.0

2 release files

1.1.2

2 release files

1.1.1

2 release files

1.0.9

2 release files

1.0.8

2 release files

1.0.7

2 release files

1.0.6

2 release files

1.0.3

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.0

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page