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.3-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | eb615a76586df240bd7c57eedfb312136815fac4be040dc5714c41af4aa36041 |
|
MD5 | 6e1a622edf3dad87828c147d7c951d68 |
|
BLAKE2b-256 | 89c8fbb1fdc29017e829dfb6fb8583b135e085a9f6774628e73b7e4a4afa2a66 |
Hashes for qarray_rust_core-1.2.3-pp310-pypy310_pp73-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | eaaffcba4603bbd738ea0dc0979b63913bda4902653421bc3785cbe2b55e4f69 |
|
MD5 | 920f0a19deb8e96816dcaecac4f0e1f4 |
|
BLAKE2b-256 | 3ca637d09b2383c19e1e7d6572a651c273cd1fd8266ca0a6231ae8baf5a1ee50 |
Hashes for qarray_rust_core-1.2.3-cp312-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0972cc4ff3f1bb778f73021464a9db6c46e9bda8105f935a8885cd46188aa5b6 |
|
MD5 | 7acb2944ac77ec09a4b231c86d135c8a |
|
BLAKE2b-256 | 7e3b0b2afb7e0be12a39eea43c1da14fcfa5c8a35675d6d77a286ac27240b4ee |
Hashes for qarray_rust_core-1.2.3-cp312-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 06ea3c863baa17444d080a12e437cde880f17196f5cc3f856d3108a4a1f0938c |
|
MD5 | ec564f5b7c3c86ddf57857534c1e5df2 |
|
BLAKE2b-256 | 66540ab218b7cf367815df1238ee48668e9e76ca741cbe0092809d557465c7cb |
Hashes for qarray_rust_core-1.2.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c5caf663f16261a95347506f6eac1a75c4de4a46396a8a783a614e712de85389 |
|
MD5 | 91847ab4b302e0dfb8e999bd09488ae4 |
|
BLAKE2b-256 | bd368955175d02332fa1807f5226852c62211ee6672709e31f77b65d69552617 |
Hashes for qarray_rust_core-1.2.3-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 10a98862c0eefe792ed8b63cf6b2875b8e1a453822d7f185cc805fcb0d8a0301 |
|
MD5 | 9220fdb279d71721d8d2311d2dc2db5a |
|
BLAKE2b-256 | cb1f3dd14070df36c3e5430b32d7c56ebda34e76729e2e0f91079ba82a7d704f |
Hashes for qarray_rust_core-1.2.3-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ca0535b8c05029b69e20f91d15adba1057b2755e04b0ddc1111aa346f6814116 |
|
MD5 | bf0b45430647d0dcdb2f834531d51b85 |
|
BLAKE2b-256 | dad91c5ec22458f7099a2ffc9a025a6daf935a59cf02a8e9e122618d13e1ce7a |
Hashes for qarray_rust_core-1.2.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bfb65a4d1db3acd2d316a5a9045be54402923ffd58b64da37ec1965bf37865b9 |
|
MD5 | 5a9e279dfbd16f8eec1fd1eddd2f25d4 |
|
BLAKE2b-256 | 349f9da5ab9d0cbe0de41f1dfb422088878ac61412d3499b274f57d1f2e55268 |
Hashes for qarray_rust_core-1.2.3-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e6fe142accc80b957a11d512bea9647a6fe222559264cc9a9420bab40e87160c |
|
MD5 | b49f71a616bc0ae5e13739759b917934 |
|
BLAKE2b-256 | 4d433892defccc0bb847fbc22ce76c9f22652f2063a9599ecd31debe125131cb |
Hashes for qarray_rust_core-1.2.3-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0114e6b6abd19a795627f890c2775acc39985435b7c8cffa4550eee105b0d5f3 |
|
MD5 | bc93d6bd80fc444cfe78430e0824bfd6 |
|
BLAKE2b-256 | e4cc895ff2731701130b4835d1fc653eebf34a28b19b22b8919f91574db1ef31 |
Hashes for qarray_rust_core-1.2.3-cp311-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3b60b31969555ce577e8dbe18a7674ada01e89e8f0975e2f56742fdefeb4a0cb |
|
MD5 | 5b4bf20ddd36d2eaee2a978e745de3bb |
|
BLAKE2b-256 | ab069ce4b0fbaf9425968c8e310be15a2c56bb5269f1459a477a772403db9306 |
Hashes for qarray_rust_core-1.2.3-cp311-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8f37f9f2a88f9249c32ce91a12b9bdb24cd10eab618cd817e032280343069343 |
|
MD5 | 8c2865ea9d381e91042c9c6d5a20a0a7 |
|
BLAKE2b-256 | c42cbfa2657c51b84e7bd5db68ab2209d38bf253e1f4b6b008ba3e59bed3c48f |
Hashes for qarray_rust_core-1.2.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 017cc0a01542e6adc1cdc070172abc048a4b21968fcc22f8f6999702cfa281f1 |
|
MD5 | e056757c04e8265316f6a53b22015dd5 |
|
BLAKE2b-256 | 88c952f2a7dd5a9ae83f9af815b45873ee0945e2440f3650c1300cc9b5053366 |
Hashes for qarray_rust_core-1.2.3-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8ff6a59548324bd8f1ed4254b68c5016415176b22108f1505e8901728d441dff |
|
MD5 | 89e2c21e9bf40333978c5773c22ecc15 |
|
BLAKE2b-256 | e9772be83d577a4b7da42debbcd1c4bd74c6287f3bc62cc6a5499f47f7864157 |
Hashes for qarray_rust_core-1.2.3-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b4b18ce39a9eacc2efa7cf00c0d49289e0558ca0aa77a3ddcfe2f13599258acb |
|
MD5 | 3506c39e7f97568046826af0577ac8e8 |
|
BLAKE2b-256 | ee47d4e8331b11a355cb7eabb167e9c30762ccd61a4be5385460d9cdccf9b4b6 |
Hashes for qarray_rust_core-1.2.3-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 37b1a6de0813e4dd8fb996e75f4d854d984def7fefac10761b215fc3b31ec316 |
|
MD5 | b6c1c83ef4a93f8ead630495553f65f5 |
|
BLAKE2b-256 | 174897f9a947111af0f0386187519b0b06e3cd604caa009349f8e1efb950eea0 |
Hashes for qarray_rust_core-1.2.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | df94b1ed3db5bb0d2a7dfdf407c50749155453f5054ac64ba57b807c00d1424e |
|
MD5 | 963a9331ee6bc59c12107093a5d26f76 |
|
BLAKE2b-256 | b37e999fdc1ae89d1b57f16a36ba25aaea97d21a1d00ef5e9611c177634a6289 |
Hashes for qarray_rust_core-1.2.3-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a8dca38d5c007db37c8c9ebabd07c860dafd249382b741cb43286abab7cadf10 |
|
MD5 | e4ed05f641e371923ff54df80d145d61 |
|
BLAKE2b-256 | 2cf39200c49e46cd27a7224358695063d5cd6a5638820fb2d18a3c6ea72cadb7 |
Hashes for qarray_rust_core-1.2.3-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 73fbc641a12b3d6a13b24ecf40a2a094ad49e1b6680ea709d436de9d81994ea0 |
|
MD5 | 54ee541512fb20614135b00afac6dda8 |
|
BLAKE2b-256 | 50f08b7fdb6fba2216a064bac0867e3cb07832b985b2d546b6057336e45b14f9 |
Hashes for qarray_rust_core-1.2.3-cp310-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 184b888554fb3fc033eaad4daf10dfa24991af0ac0d114f3e0f736a687f23266 |
|
MD5 | b400410884024af5d4dca73a8ca773ef |
|
BLAKE2b-256 | a239ff9a7948ffdd5cee9b6e8aecde9e47c8feb60e98d6165c42682fb164daf7 |
Hashes for qarray_rust_core-1.2.3-cp310-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3e13374ce463ed9dc9e042970e47289e518b6f29ac4a654f6d3a2d1ca6d957a5 |
|
MD5 | 8dea6bb3926f111c46e6d7e74d391145 |
|
BLAKE2b-256 | b9ebaa6763782f59b4c4c0556ee10fd35a1a1a1d89916e4bdbc6193af1441684 |
Hashes for qarray_rust_core-1.2.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | badf829403166b9e60504af56ac4f5a61208584941afec0458ed114ff434004b |
|
MD5 | e5724c9725d1ab53fe31037433070eb3 |
|
BLAKE2b-256 | e72a62cbeaf365cf997a41e2c65c2ec41b2aac86de8b810098e104650c5f25aa |
Hashes for qarray_rust_core-1.2.3-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0fd41c6f273c5782335d870dbaa84ecac2af43612ac9beec93c3361849c4942f |
|
MD5 | d0d2a5c7ac4debc69bdb2f95b9c7d974 |
|
BLAKE2b-256 | 2d1d20d635f6379cd6569a3e68a0a2f5b5203900db38384ef3b4080dc726d86e |
Hashes for qarray_rust_core-1.2.3-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1e566174c183bac0f6293f476ab73f84cbd75ec813a435f84cafd1e5330c8ab7 |
|
MD5 | 35a01882e8fe5a72994aa6cc636f4e4e |
|
BLAKE2b-256 | b9aa4db5f270b34efcf571f8367edd2a6fe6f432789cb877cfdeedb19cefeb03 |
Hashes for qarray_rust_core-1.2.3-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8061a4603db8c94a2dbc2fb6c2bcd8b3022dff34e15b4974d89d21a77f6851c7 |
|
MD5 | 0b386909e7a294764371bd9f886c3e83 |
|
BLAKE2b-256 | 011fc5467f0d6ae624ed1f3d717fc086172dfa321864750ef59ddf776d7510a2 |
Hashes for qarray_rust_core-1.2.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c59375ca664c27ba1adc65e300391c6a7b2a47cad588b5d10ec1a9d5c6f5825b |
|
MD5 | efbe850104900dd93b089762253933df |
|
BLAKE2b-256 | 6877faf5e79c5debc8ce7b445eb777c6838962becfc8fe842bb57d4ae3878a5e |
Hashes for qarray_rust_core-1.2.3-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 771ac8ed9b041339769e8ac74acc085d30f85575d1de0f4f902cdce2c73cfa39 |
|
MD5 | ca45ee0f354236b609c4e033b7b407d3 |
|
BLAKE2b-256 | c37127ef95db1219079e3a6ece711f4af7a2e1efa11ff0ebb483083c58c490d5 |
Hashes for qarray_rust_core-1.2.3-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b4ea0bf4bd17c6c94fdfc749f0d03f8040c95eda472d7ba2bef05fe8a7ab88fe |
|
MD5 | 9fb0ab05af64860b4913f4eda61a152a |
|
BLAKE2b-256 | c206d9e326f1807ec97e348531a9b44bc4f68c466dd6af4ba038f02353cbe6e0 |