Skip to main content

Qarray, a GPU accelerated quantum dot array simulator, leveraging parallelised Rust and JAX XLA acceleration

Project description

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

qarray-1.3.5.tar.gz (5.6 MB view details)

Uploaded Source

Built Distribution

qarray-1.3.5-py3-none-any.whl (50.5 kB view details)

Uploaded Python 3

File details

Details for the file qarray-1.3.5.tar.gz.

File metadata

  • Download URL: qarray-1.3.5.tar.gz
  • Upload date:
  • Size: 5.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-requests/2.32.3

File hashes

Hashes for qarray-1.3.5.tar.gz
Algorithm Hash digest
SHA256 16c4683426ab4674d2f013d3ee75d3e76573e92135029ddfd1a85fa3d80d78b0
MD5 6ac38357ee783e78681aadaddfc522f4
BLAKE2b-256 a11d7f35194b761a11baf073649f1e8f63a4cecaaf003fc8d8fbc822b616074f

See more details on using hashes here.

File details

Details for the file qarray-1.3.5-py3-none-any.whl.

File metadata

  • Download URL: qarray-1.3.5-py3-none-any.whl
  • Upload date:
  • Size: 50.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-requests/2.32.3

File hashes

Hashes for qarray-1.3.5-py3-none-any.whl
Algorithm Hash digest
SHA256 38d21d11971fe638f5f603ab9aff52f066c8e8b4b249e268ecc2892379d9807e
MD5 f3ac9d88393a43901d919057e343b292
BLAKE2b-256 9612e6227976ac6aa020364e0773c9706312b682d27bca3f092f8a55c541d0bc

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page