Skip to main content

No project description provided

Project description

qarray-rust-core

GitHub Workflow Status PyPI

Rust logo Python logo

Quantum Dot Constant Capacitance Simulator is a high-performance Python package that leverages the power of Rust and Rayon to provide a fully parallelised and optimised simulation environment for quantum dots with constant capacitance.

This package provides core functionality; it is not intended that the user will interact with it directly.

Features

  • Ultra-fast Simulation: Harnesses the speed of Rust and the parallelism of Rayon to deliver lightning-fast simulations.
  • Constant Capacitance: Specialized for simulating quantum dots with constant capacitance, allowing precise modelling of charge dynamics.
  • User-Friendly: Designed with ease of use in mind, making it accessible to both experts and newcomers in quantum dot simulations.
  • Extensive Documentation: Comprehensive documentation and examples to help you get started quickly.

Installation

Install Quantum Dot Constant Capacitance Simulator using pip:

pip install qarray-rust-core

Usage

This package exposes two functions to be called from python:

  • ground_state_open - computes the lowest energy state of a quantum dot array with constant capacitance and which is open, such that the total number of changes is not fixed.
  • ground_state_closed - computes the lowest energy state of a quantum dot array with constant capacitance and which is closed, such that the total number of changes is fixed.

The python code to call these functions is as follows:

from qarray-rust-core import (ground_state_open, ground_state_closed)
import numpy as np 

# the dot-dot capacitance matrix
cdd = np.array([
     [1, -0.1],
     [-0.1, 1]
])
cdd_inv = np.linalg.inv(cdd)

# the dot-gate capacitance matrix
cgd = np.array([
       [1, 0.3],
       [0.3, 1]
 ])

# define a matrix of gate voltages to sweep over the first gate
vg = np.stack([np.linspace(-1, 1, 100), np.zeros(100)], axis = -1)

n_charge = 3 # the number of changes to confine in the quantum dot array for the closed case 
threshold = 1 # threshold to avoid having to consider all possible charge states, setting it 1 is always correct, however has a computatinal cost. 

n_open = ground_state_open(vg, cgd, cdd_inv, threshold)
n_closed = ground_state_closed(vg, n_charge, cgd, cdd, cdd_inv, threshold)

It is not intended the user ever call these functions directly.

There is a pure Python wrapper that provides a more user-friendly interface to this core functionality. See Quantum Dot Constant Capacitance Simulator. This package provides:

  • A user-friendly interface to the core functionality.
  • Plotting, charge sensing, virtual gate and gate voltage sweeping (1d and 2d) functionality.
  • Advanced type checking using pydantic.
  • Automated testing including for the functionality in this package.
  • More examples.

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_rust_core-1.2.0.tar.gz (14.0 kB view hashes)

Uploaded Source

Built Distributions

qarray_rust_core-1.2.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (835.5 kB view hashes)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

qarray_rust_core-1.2.0-pp310-pypy310_pp73-manylinux_2_12_i686.manylinux2010_i686.whl (851.6 kB view hashes)

Uploaded PyPy manylinux: glibc 2.12+ i686

qarray_rust_core-1.2.0-cp312-none-win_amd64.whl (273.1 kB view hashes)

Uploaded CPython 3.12 Windows x86-64

qarray_rust_core-1.2.0-cp312-none-win32.whl (248.0 kB view hashes)

Uploaded CPython 3.12 Windows x86

qarray_rust_core-1.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (835.3 kB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64

qarray_rust_core-1.2.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl (1.0 MB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ s390x

qarray_rust_core-1.2.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (870.4 kB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ ppc64le

qarray_rust_core-1.2.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (821.2 kB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ ARM64

qarray_rust_core-1.2.0-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.whl (851.4 kB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.12+ i686

qarray_rust_core-1.2.0-cp312-cp312-macosx_11_0_arm64.whl (386.4 kB view hashes)

Uploaded CPython 3.12 macOS 11.0+ ARM64

qarray_rust_core-1.2.0-cp311-none-win_amd64.whl (272.3 kB view hashes)

Uploaded CPython 3.11 Windows x86-64

qarray_rust_core-1.2.0-cp311-none-win32.whl (248.1 kB view hashes)

Uploaded CPython 3.11 Windows x86

qarray_rust_core-1.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (836.1 kB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

qarray_rust_core-1.2.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl (1.0 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ s390x

qarray_rust_core-1.2.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (871.6 kB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ ppc64le

qarray_rust_core-1.2.0-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (841.1 kB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ ARMv7l

qarray_rust_core-1.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (821.8 kB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ ARM64

qarray_rust_core-1.2.0-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.whl (852.0 kB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.12+ i686

qarray_rust_core-1.2.0-cp311-cp311-macosx_11_0_arm64.whl (385.9 kB view hashes)

Uploaded CPython 3.11 macOS 11.0+ ARM64

qarray_rust_core-1.2.0-cp310-none-win_amd64.whl (272.3 kB view hashes)

Uploaded CPython 3.10 Windows x86-64

qarray_rust_core-1.2.0-cp310-none-win32.whl (248.1 kB view hashes)

Uploaded CPython 3.10 Windows x86

qarray_rust_core-1.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (835.9 kB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

qarray_rust_core-1.2.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl (1.0 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ s390x

qarray_rust_core-1.2.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (871.7 kB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ppc64le

qarray_rust_core-1.2.0-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (841.1 kB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ARMv7l

qarray_rust_core-1.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (821.9 kB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ARM64

qarray_rust_core-1.2.0-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl (852.0 kB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.12+ i686

qarray_rust_core-1.2.0-cp310-cp310-macosx_11_0_arm64.whl (386.0 kB view hashes)

Uploaded CPython 3.10 macOS 11.0+ ARM64

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