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.2.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a9cdce065cf0dcffbcd7fd11a713d7f361adbbf019b0ca24fed5c7cf74d7c8b6 |
|
MD5 | d6fcd59374b70c0ace59f49ec6466d36 |
|
BLAKE2b-256 | 17604b3997264e27ffd4b8418f46125664987c3b0ba88ec4e0a059af699dbc85 |
Hashes for qarray_rust_core-1.2.0-pp310-pypy310_pp73-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f4e447b386765750583d565fd6c51ee5269d2465268f17bf7e6bacb318f83335 |
|
MD5 | bc6df2ec9c5fbc9a59cfd8e914779411 |
|
BLAKE2b-256 | 82a9da9d0c3d136d3d5b58bab550631f3008976f484137b9fabbc71a16b6551a |
Hashes for qarray_rust_core-1.2.0-cp312-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8dd14fd0fa44a996b2eb7d8126ff0ea19da6496d22e21b279a907c88daf5cbb4 |
|
MD5 | bf7472dff869d2063b7590cbbb7a451f |
|
BLAKE2b-256 | ffe58649e697ed770781dbaf45d60c831a6dbf6f1e3b060cb096f4561f5f3588 |
Hashes for qarray_rust_core-1.2.0-cp312-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ad0f3487fca5f36769a6ed4ba48e96488695c99de479700029f6b7f97c766885 |
|
MD5 | d259714d060c4e18ef74c139f2b5356c |
|
BLAKE2b-256 | b8cccd53e665840cac49c3bc25af008a37fbe8c3037ee69a78a1d39cd3bbf830 |
Hashes for qarray_rust_core-1.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8d60b4af5b0bb72ff2a81d8fa715a67822740816e868f4edd54571b897f134d3 |
|
MD5 | ea877b3995f36116992e837afa28b67a |
|
BLAKE2b-256 | 0fa84af5502976849537b342f08922618ff0cf2f33186480846a6aec36af584a |
Hashes for qarray_rust_core-1.2.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 61c0c2a1b518d971c0a5d72fe18e00ed4197e8bef3c0530e5e1b99d9422c6d1d |
|
MD5 | 59d789444d686b281e870792c96cc8a1 |
|
BLAKE2b-256 | 626dd187e56bb7d7eeed94cbb0e67b5b6420f209f32399d0d86bb885d9e91bef |
Hashes for qarray_rust_core-1.2.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4508379a86823da86455cebaa7198ca2c80a67781795b2b348845e5b88d59cbf |
|
MD5 | 113760d478ce3314adcfaae6f042722b |
|
BLAKE2b-256 | 3ef76dfc3e76832718051a22d9e4d3ddc75a1fb8f7cdcc4907c564c3e9f1a9b5 |
Hashes for qarray_rust_core-1.2.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8d17599052dad0c9da71c136c0c6c211980932e98ec06b69f1d372ff942adf6d |
|
MD5 | f0c7f3d81fb7f66ff118a122d5c22fd4 |
|
BLAKE2b-256 | 609da4618a69f270e2d74ea52cbd958be337041df7921aa11647b7e004d96b89 |
Hashes for qarray_rust_core-1.2.0-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1552188ff903ad372c8630bc2724c2c5cd998722017dcf38b8aa63722b1d6c02 |
|
MD5 | 4cded57267ae30b74e65f08467f1c020 |
|
BLAKE2b-256 | 9a619fe65ebd03a46005d71c9c52385903f1708a09c64f898c065b4d0a673d0a |
Hashes for qarray_rust_core-1.2.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5e1aa5ce4f8fca9a8e6329aa1c106bbf1f5a962183f6e3e02b4b36ff90066d7d |
|
MD5 | ee6d6fb234e305a5ca28f6a1fb2f6048 |
|
BLAKE2b-256 | 9b4322e84033de1284489b5dd25879c67f3519d82eeeb3757930bdb6b0ff88fe |
Hashes for qarray_rust_core-1.2.0-cp311-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a8425956e3b837a634f4ada81b32b9110b119c702c2ce9581604f7df19687924 |
|
MD5 | c2393ab4e3a1327145556021d14bd540 |
|
BLAKE2b-256 | 6558fb21b251aa97eaadb41fdfe075bd91663c42495287196bfea0fef085a40e |
Hashes for qarray_rust_core-1.2.0-cp311-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 974b4df429b296e8b98ea5e4e9bc3b21d17ba840def6079437d25f314ab00490 |
|
MD5 | 5b56229f5231711ccb4175fe0f1cbba1 |
|
BLAKE2b-256 | 53dcbed53dd1af8a51c32a680ac9dd0c4257cbaecb0a5324efb9f2340d679430 |
Hashes for qarray_rust_core-1.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c223a44fb940f00815b9ebd77d272e0568b92df792b97a6f2be48f80bea35d40 |
|
MD5 | 1ca5f62a982fc6e970b00a50bfb29815 |
|
BLAKE2b-256 | 17f6e3495df317a2c58cbd74fe242b5f8d611bc47687beae34acd416b168bd0e |
Hashes for qarray_rust_core-1.2.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d34d2f54396226597374927c55ca87fada6052fc5d928d6bc4e328b3d9819f72 |
|
MD5 | a3e69257d28220e9b50f29a2e6d0ad8f |
|
BLAKE2b-256 | 68ea27b44fffa0466dc6cfc8ac705a77299c0fb172295e5ccc1e9ba0a941226e |
Hashes for qarray_rust_core-1.2.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 67cdd9a372481a865ee1b6ac4135360877c726509fdd8dc7e52a0decc345d86a |
|
MD5 | 6fd4f4b63291b0365914ae676585e34f |
|
BLAKE2b-256 | 96ab57eb64ede4e47a0addb0e57208d63cd8f98aa9d9cd23fafd082ecb636ae0 |
Hashes for qarray_rust_core-1.2.0-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b23afab5a33b7a16f42b1c7404e34e2dc6299cfe3f5837425cc282e8cebdc028 |
|
MD5 | 95fb0a277c96c5ccfb4382bfd3ab443c |
|
BLAKE2b-256 | 3f83962f3c61ffb1839b4bb0a3caf3bb813873e56b615413c9233d5ca6cdd1b2 |
Hashes for qarray_rust_core-1.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 482db69e10a6fecd96c1ed83ad6854f30e279ae6a6855d7f47dbd3da5c2a6ec5 |
|
MD5 | d21da5acfa2b65f4f4bd95bebf91073a |
|
BLAKE2b-256 | e16372fa276ee29c823c0dd5752fe7cd85b76df97df3c06cf134b66623f6f3a9 |
Hashes for qarray_rust_core-1.2.0-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 084642f6c2842431cf6239a7fa067fcbac1957d62b920d4b419ad83b831c13e7 |
|
MD5 | a0444d6369211bc03bdb6018f6436af1 |
|
BLAKE2b-256 | 1d5cd35e4cb603fa1166c0487dfc825faba3256fac8c2555e4f8cc20a49c8f0e |
Hashes for qarray_rust_core-1.2.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e942af620a5ca2dcf160e5e0a71de421b3ac6d74545651892e6c77aee06760a1 |
|
MD5 | a322447ec03daabe52fd756b5acde9c4 |
|
BLAKE2b-256 | 89b3d493795c238349dc4bed5a3a4967b2fa3e7f2009a23f8a48ec98975d0a16 |
Hashes for qarray_rust_core-1.2.0-cp310-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b20d9c0595ad4ad2207ec667e6d89f801e6f758a9389442a5fe152e5307198a1 |
|
MD5 | 4f662e6642186e40a55ca7e9fad2a857 |
|
BLAKE2b-256 | 83aea3f2cf5e644ad6ca36f56bcedcc685bb114e19f2dca52a384ba024fba664 |
Hashes for qarray_rust_core-1.2.0-cp310-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 49ac398aff5a668b1c849d1ae18b35fb6ac60b359ec4398954433329ed457c91 |
|
MD5 | 90dbd3f9361424454f34d639a36dfc8c |
|
BLAKE2b-256 | 154f87d6242e5ad7c98f1b2cd94331c6729f294354231a774ede7554868ecc95 |
Hashes for qarray_rust_core-1.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8b41200d4e8c7a15d9c50582aabc9e081b666f93260cc9c96931015a532f9983 |
|
MD5 | bbfeab1b59d8d5d72eb3fe130af3b844 |
|
BLAKE2b-256 | d59e8df46f59e872cb2297466872a340dfb1053f1045292017d0917496de4e1b |
Hashes for qarray_rust_core-1.2.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 90f063670dfbe84da6f2f7f1787580686c048d9b3295581a4c1c8456b74d7e29 |
|
MD5 | 6c1c006edd762ea19060958d4c1dea40 |
|
BLAKE2b-256 | b6ccc2dca653fdbec342501133f1af3a6b7933c8e2b8d25acded746bb5f7a136 |
Hashes for qarray_rust_core-1.2.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b82f5f2ef096feae18b0ade497dfea52228fb3fc17ae91848cf05c1b29b451cf |
|
MD5 | ec263e123023dbee0e7c63d28659f634 |
|
BLAKE2b-256 | 303c526b437e4c1b07b66d1cb96486e8201160a44fc3c70d4ed4241bf092e897 |
Hashes for qarray_rust_core-1.2.0-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 058f3a81fe35c83045f04f6b41937c2cf82f35e31a706715f9f10b74763885d6 |
|
MD5 | 0e2f299733c491c579ed9d11ba62f0be |
|
BLAKE2b-256 | b53e17edf2c44d4f61428c5a3fc9ebfa8bcb278216e736d8392765e014073d13 |
Hashes for qarray_rust_core-1.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fb9d9bbe72add1d900fc014fa82a2bc06b5041d67fcc7737890112116465bf96 |
|
MD5 | 0d903ac2b30134973dc946c52da0bf57 |
|
BLAKE2b-256 | d171361fab9243d7cb0bcc2a930e9ced639fcf803389fe845d191b0630c83299 |
Hashes for qarray_rust_core-1.2.0-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d187a8fd2cc4189dc87c64f46652be7ccc1a6aa8a919f6cafeb1e8189b685e02 |
|
MD5 | a8e0eb2e8a7d319d94f858df99a73add |
|
BLAKE2b-256 | 80c66b02ccb409bd12c3aff53fc22f96eaac370d7bb26b17d9ce5aeacd5efb45 |
Hashes for qarray_rust_core-1.2.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 41ba9882834391d1b43e8cf9bd1ae98ca518ab0e3e43c6cf2eaf2bb9b3e6ec04 |
|
MD5 | 8e4f0334066d872a037874c81e30073b |
|
BLAKE2b-256 | afae16bdc0c6a33df5a79997d6c74d6e4f3185e495be558e923b39dbd02fe8ec |