No project description provided
Project description
qarray-rust-core
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
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 Distributions
Hashes for qarray_rust_core-1.0.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2abea78a4136e3e06d5d0db304ff02f0237a88951a431a76895f8fe90e6652a2 |
|
MD5 | fe3188c2579fff479967690b2b3321a5 |
|
BLAKE2b-256 | d669afa29108a6f4796ec02f90c39a2b0019768c7601627ff5ccaef595d33a23 |
Hashes for qarray_rust_core-1.0.1-pp310-pypy310_pp73-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b8ccdacd8e53843dd805f9f8af513bd98072d361227e48f8f1c8b2df62bc5f4d |
|
MD5 | e1bf42e93ed9c0afcc71f6318e58ac07 |
|
BLAKE2b-256 | 56635008c21eca0abaea6c9c49811379d329cfe804cbef9a244da2615994155a |
Hashes for qarray_rust_core-1.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c42ea0ee4a09b0606c63d30ca55a53f8c9a24b903190ed2996599acd06b42440 |
|
MD5 | f42b125b38be51caa5cdb841d7d40579 |
|
BLAKE2b-256 | 48c166ade38f0209a4d1716e97a5c4ed75fb3cdc62db18b99c82d00d6d187583 |
Hashes for qarray_rust_core-1.0.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9a77505e0c3bf6a4e63a6e94896fcab9afa304cc7e106c31cb48284882858373 |
|
MD5 | ba9b44efa595872ef9d1354644cf4f76 |
|
BLAKE2b-256 | 6e2da0928888e9c3bffaddb439791fd75641c812b0a0b2076db55f4894d4433e |
Hashes for qarray_rust_core-1.0.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 92bc27928fb2bbbc7530e6947dd4c7651954f7eb9ac471251b6b6740ab6f16c4 |
|
MD5 | 8f7c10aed8b3c97b36df07c7c4fe3ce3 |
|
BLAKE2b-256 | e87040a91961f98a656b078913417c2abb05f6b60bd8817f90743bf611e75b4b |
Hashes for qarray_rust_core-1.0.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1e3852b6ef9d6b01795d1d5ad54d647f34a56c40b2fcf4c5d9dc40a5f10f1bf0 |
|
MD5 | f1074649c406d99bd7b0fb2140231d45 |
|
BLAKE2b-256 | e65069627d49027d186f03efbef5b787369dd5d7bdf01b68c3d46eb3601d5823 |
Hashes for qarray_rust_core-1.0.1-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 141c82fa52ef20b03f0687b5221cce7a7fee414392dc4181ebf808484353bd0e |
|
MD5 | f5a8164ee9dae165f91d3a55fe4dff44 |
|
BLAKE2b-256 | fbe3c6aea0510a98af5f1b6a0035b24e974fb97fa387eaad133f21d719042c45 |
Hashes for qarray_rust_core-1.0.1-cp311-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 31d45688db8a30780f6acd89eb269f2401ce1197eb8fb42ce957c447c62c80f2 |
|
MD5 | 4771ceb7c2cc5770f2ffea37d906f951 |
|
BLAKE2b-256 | f661cc139de716eb678b60a0b00874f8e81cb9385c212c646d240f1cf94bcae6 |
Hashes for qarray_rust_core-1.0.1-cp311-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 244b8e963797ce54956bfed5a990afa844c46692b9a7bc432ffdd13d15175f33 |
|
MD5 | 7731c3cdfa83d1b53531391591787ea6 |
|
BLAKE2b-256 | d7bc2445047c9902892046a9b42ca4d09fca1b9498a5cc90ae0bc871ed7021c8 |
Hashes for qarray_rust_core-1.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bde0103772e0563a722a4b87818dae50989f355cba97bef5a2d3caf37a6ce1dd |
|
MD5 | 9921d29b6b2baae7dc5046cb1ea277da |
|
BLAKE2b-256 | 828b3c27f7a548bbd3ebb36c2eacb17d59d822f481f28413f644c2bb950fbc2a |
Hashes for qarray_rust_core-1.0.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8b2a87d031d125128126989ec70b61487cd693c80137023b10f77c081618dbff |
|
MD5 | 67629fde11487ba041e676af02942bff |
|
BLAKE2b-256 | 40a0ade3be0475ab7df174780e7722fcf343481cd8df3e896447d51d8eecf5f5 |
Hashes for qarray_rust_core-1.0.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 892320d49143e300ae86843a77ef21ac0f802a0c979b2b4f1188fc2b5e1a6711 |
|
MD5 | a56ca37574b2fddcd0e81a8d6a58d115 |
|
BLAKE2b-256 | fab78a30ce8fa4ae7c3d7dfcf2f2dc24f9a0b8ef7d6525c67d3f19451e77bb94 |
Hashes for qarray_rust_core-1.0.1-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7c8db7c935fa38acc301c47d007b562e9317c975f816ec2476f58e8530dd8e3b |
|
MD5 | aca0af4e9f196cf01357a4a0da3dff00 |
|
BLAKE2b-256 | be19f42c13b521a78690d676c7170e0649e1ed4b1a1a307a891fe51578659f74 |
Hashes for qarray_rust_core-1.0.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 706df64a65466f245598cc9749d4eb51d1bd258a6b1edc57e7d706249c95dc09 |
|
MD5 | e5a39b36567bd456f507f1599a6ce21e |
|
BLAKE2b-256 | 63202597db3d9ddf353ecc2a3dd3e04e95c258b3f8b82a83c2d9d95dcd555f5f |
Hashes for qarray_rust_core-1.0.1-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8fc72638f13555fd0b836d418e8d7db04c46b140f38370933a32671e85a8a05c |
|
MD5 | f63c65a21680c8a4221a836fa11dc002 |
|
BLAKE2b-256 | cedab716f8c90c2b134c484efb53e80c274ea97389429fd64399277d92bc56cf |
Hashes for qarray_rust_core-1.0.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7505f8c9c3cf33d435badb2f7627b13e239b30fbe4ade51811806af514311510 |
|
MD5 | 5f0812fdbb579b89c1391765a5352a1b |
|
BLAKE2b-256 | 9adc7dfdc393fce9e456088eb49a62dbd5678b3c1b5a6894676d2c32961d6165 |
Hashes for qarray_rust_core-1.0.1-cp310-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1ef833e7a72bc30ae94967142b6b84b472f9ab5b8bdddeabb31c9701c7591a8d |
|
MD5 | d0b990de8652a252a8df0fb7eb2eee7c |
|
BLAKE2b-256 | 656828621ca7f5b1f25ecf29f8b2eba9f761d478b382b8bcc88c50c093321440 |
Hashes for qarray_rust_core-1.0.1-cp310-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6cf7b7e5b8357bdc3478fec9a4c416de819328c2d73811b73d01cc2ace31bd90 |
|
MD5 | b39d3d376ab1e0ffda89b59934119922 |
|
BLAKE2b-256 | 4e2e12eaba8e98b4d5a0655ea6ac582426d3663445a532d297a077938838103d |
Hashes for qarray_rust_core-1.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d4586cb5bb20a07db4861628c4459c8bf3a303f1e667cc8f760447c79d0b7fcc |
|
MD5 | ceb70c23eb7048a355a191d3cbfa66e1 |
|
BLAKE2b-256 | f1dce2a7b8aa923d1dc410622e84e5da6afafd26c224c39f103326eb7fc45919 |
Hashes for qarray_rust_core-1.0.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | df3f2be5ee3052ab4757d52e28af029e6f9554f5f730ca3c46dd47a9b1d51c97 |
|
MD5 | b19a707a9d9c662f833aa863a2cf522e |
|
BLAKE2b-256 | 1d40fe7c0dae585b5e0fe2ab4966a0f633dd771af66c9a2caabecbc448cb92c0 |
Hashes for qarray_rust_core-1.0.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a99fef28512ab645e6db06ae1aa174c4ec436e8504dd770cbd1f3bb1ba2f54cb |
|
MD5 | 8567db8802c56b1d9ea2e291939d90f5 |
|
BLAKE2b-256 | f338de42e9421fe4abf24733cbf35093d89449a0552b9560d213a8cfcbcc869e |
Hashes for qarray_rust_core-1.0.1-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e518f9410f29aba973d31a4a768537fce1ec750c3d84d4115220f124c25959fd |
|
MD5 | a6cb3e7a65b5559db2b9421be072eb74 |
|
BLAKE2b-256 | ca335325e84b0bf74863f8e995401d47c3e5711553bef38aab7c7b2e36c84a73 |
Hashes for qarray_rust_core-1.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 21fe7a838ea27871a83f4605af5971d31929a2a0d75d0518f64bc13f9b7be947 |
|
MD5 | 440178e92ebc97b39422a6a0e6437e81 |
|
BLAKE2b-256 | 8c83f7f5dc4519bdb749afbe6d34b33cc28113f910bb24becf4442c38258b636 |
Hashes for qarray_rust_core-1.0.1-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9662e1fac9359a4c321ce6d1c6b1f0ab0d41032b87e6f4c5902615601a583cc2 |
|
MD5 | fd46d5efae2f2a32721c5314128abdff |
|
BLAKE2b-256 | 691310f1d525699b4a1b6c5b446e5cf6df7cd979fb68e2f2a72cddecf9985212 |
Hashes for qarray_rust_core-1.0.1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d36ad8c09b95a73e5edb11ff01e38ddc69f1bbb87fef3a0a6d9b0561b2b3166c |
|
MD5 | c4d36ac68d7cba17f3b6ce9b6761b183 |
|
BLAKE2b-256 | 2f1e9fc3b35d0640b5dd8dcfcdf4ff272013bca22a5e492c1c6b1bedf17c0794 |