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.1.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 72d75616fa97f3ed4aba1337617c3bdd878859f72dc750747c751238bbbdaf59 |
|
MD5 | f653b7591bb6fa47c96a42dc26c8ae31 |
|
BLAKE2b-256 | 74fa593680a452d29c503fb5e06632822b6f32116a5f9c86b21be8a3e145fb01 |
Hashes for qarray_rust_core-1.1.1-pp310-pypy310_pp73-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b4c6e34b38a1edbab39b9a787e6894583cf8f86344dbee1458c6be6c1c01cffe |
|
MD5 | c7044f2751993dab9a05f72f4bbd47ef |
|
BLAKE2b-256 | eee88a9956bc7217de6add99b7f60664f0698e34b3334a583ccd01229cdc74a8 |
Hashes for qarray_rust_core-1.1.1-cp312-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 372c895b912c7e4adc8ccafed121b4bc383bdb73eefbcd03a0467f4e7919373e |
|
MD5 | 765833b470017ded297acd0e5e187a75 |
|
BLAKE2b-256 | f800e3e6257df4bf06f186f1405f8892e91f75ce9ae517d0f90652575f612dc7 |
Hashes for qarray_rust_core-1.1.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 224e18061dd3c0a6d49b87a85f29c08de13d6d38f54e6c94469423c0022810ff |
|
MD5 | 78c01c328a66d2b2949d1ef3c88bdc15 |
|
BLAKE2b-256 | ce9eb6025c044ca71a7a911d3803827a0a5916532bb7c03b05d9c8039954e1a0 |
Hashes for qarray_rust_core-1.1.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 47b3cc0b6852348a8502e52029f46776797de9e4b607a4dfac5fcaa9d6c12d9c |
|
MD5 | f264c5de49b8f5140cc9605702edf202 |
|
BLAKE2b-256 | 4980d45569053eedc8132858747445ba83ecafb33dcdeaf65520559984a8ebc2 |
Hashes for qarray_rust_core-1.1.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 13ab5ca789a18828fb74f022ca66ec5157ad45c819cd19192b5f5301a1802b15 |
|
MD5 | c646043042738515fa0817a94dc5b14c |
|
BLAKE2b-256 | 6c11ac2e3db44fddab5d068ef42cb6333df7838fb3a52d5282747b37a5e51713 |
Hashes for qarray_rust_core-1.1.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ebc03091f3db124172c1cbbb597a342d4b540c649afdd387d357e0033f228714 |
|
MD5 | d45439920255535424dea416ef072ea5 |
|
BLAKE2b-256 | 5713a4d63b2c3e7e7ca35305787e1ffe2c471c3360b103a4e090b94458cfd4b8 |
Hashes for qarray_rust_core-1.1.1-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 81e26c9da3e703f4f1fe75242a0ab5c0bc54b70a2cc437be2e728e9048209d16 |
|
MD5 | 159556471da32a8054529da81cd32767 |
|
BLAKE2b-256 | 8cea6ec207ee4ad13b1717b804253013974e27aa24913f2f2089ac888ddb281a |
Hashes for qarray_rust_core-1.1.1-cp311-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b25aba0e4d8c2259daef9d853175c74c7290c50a041007c50db849a50cf29a62 |
|
MD5 | 8159f6cca20ae32ee9fb240e92ec71bf |
|
BLAKE2b-256 | 02ffacbaed6d839e7ed4c599005e0043fd13038980e11413aa75b7401054b9e9 |
Hashes for qarray_rust_core-1.1.1-cp311-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ac01b785501849817f8f24c47e64b71671a07b4b85604ba38b11645f171d9a12 |
|
MD5 | 757d14260e9db670bfb106a02f17667c |
|
BLAKE2b-256 | cdf768314a6e62f859ee1e4d26ec2fe6ccf4e97c7b09143bf56e7a91104f210d |
Hashes for qarray_rust_core-1.1.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 04946fda484ee88544cfc7f4fb65f5c5c3b6db50a251ebbc111d5c9b9446b2ca |
|
MD5 | 6aa12b7d08f72d20a987f41fe7960488 |
|
BLAKE2b-256 | d431ede261ca13889ee7b6fbcc7b01d05c406fbf744e18c80080120bc9e3dce7 |
Hashes for qarray_rust_core-1.1.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e6d060a276433ce13b3f60e010d8593c7fe79b23d891479fd22dd5da2116fa74 |
|
MD5 | 008474bed80c67fea53cfeeb8310e919 |
|
BLAKE2b-256 | 709c42e7a0e61df82bb39c212d4e3f45e00767cc4be3b522b0b3fd8137d97a57 |
Hashes for qarray_rust_core-1.1.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 25da339a0581d3ddf42b6fe8ca32dccfacddf951e2d87e323e8e3d9df6a68ce4 |
|
MD5 | 1e74e66551355808ff74b75e78055801 |
|
BLAKE2b-256 | a9bdbe3a36b4d46fd8b33021934d4459669ee74becd975834b35400b6d5e5f32 |
Hashes for qarray_rust_core-1.1.1-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e0b85ab70e8a5b01e4d849dc262d280676a78f8755833495b9438e49faa80c99 |
|
MD5 | c2441c00a9e1ea601042d3d9dbb91bfa |
|
BLAKE2b-256 | 070902c3cedc1afbb02b075afa98e1e18019145ab9fdf3a403eb09f07a97e241 |
Hashes for qarray_rust_core-1.1.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 12a1d820c6464f7dc33d2ea27fc4b017a0e5193948486e70298d6d78d331f998 |
|
MD5 | e801164ceffdcc9ccb6aaf49b735c3be |
|
BLAKE2b-256 | 61153ae455b16b98e37169c91ddb3296d3f1e67f76ea0de8440b9ba129207cb3 |
Hashes for qarray_rust_core-1.1.1-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 68eacc15cd3d71094d3098cf79e71c95500654db9de589230966b59742515960 |
|
MD5 | 3c6bf7bd81999162ae86ef215b7c5829 |
|
BLAKE2b-256 | 47e556c44596019070fb1584b39dbb98c0722db4a7083788079b1870a3abf185 |
Hashes for qarray_rust_core-1.1.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1fbef50cdad9880531bd37df78ce2e4aa6348ff86dce6a20b63b89c4909ab05c |
|
MD5 | 82a99fcec36d8afd8f87dcb5c05b3a48 |
|
BLAKE2b-256 | 8184c8ba655600fc71829ead2a487d5819a62a0f215b2f3f3e74b34009b93d89 |
Hashes for qarray_rust_core-1.1.1-cp310-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f0572b4355b1be3c71fcb4e624a532ed92f029150cb60911d2ba900bf98a1747 |
|
MD5 | 7f5f4ebe86ee3223ff30fba6beafe893 |
|
BLAKE2b-256 | 48357432bd018ac0032d516a4c6174491b62bbb926bc59a9220726e01a0b9677 |
Hashes for qarray_rust_core-1.1.1-cp310-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ac9844d023ad494e134089f06610912249bdd1066dfb190ef548f20a4f88a4de |
|
MD5 | 0d4c7de36e565f20415acba501db735d |
|
BLAKE2b-256 | b8ec7704724297e29bed4c4fdc71e704f9fa122ef69f28d9efc6a2550c0201fe |
Hashes for qarray_rust_core-1.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ec6dc29451f5a8f5ec5e9de2a8106d90f4d017dae0d02d8fdb3068341cd876c1 |
|
MD5 | 7938a413242700ce1819bda920333878 |
|
BLAKE2b-256 | 7a91ad56edfbe1f6a8369bbbf1138143601ab0c55c99e290f92c2de1b8f08b8a |
Hashes for qarray_rust_core-1.1.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3aed45286f058d14197de9f4a51ffb3df34d9c192705cbcdbb7b4f3679072933 |
|
MD5 | 8c459fb81f19f73f873721b862abafd7 |
|
BLAKE2b-256 | 09a8d20b4ba891e553dd25f8a5fd217ec0c07c5155eb75f16b9f0fb0fbdfa385 |
Hashes for qarray_rust_core-1.1.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c7d11258ae3d97c384939f5c5e86970b31cfaedd6cc1c97e08e716e76b10a731 |
|
MD5 | f87cb2b310d1eb1cde5844ae1b700aa9 |
|
BLAKE2b-256 | 7cb0789a35888b58f04dc51aabe23ae3efde59d6649fc3c44240fab7eb18495c |
Hashes for qarray_rust_core-1.1.1-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a09098b98d9f6e5713b12d084e83d3b0e97a0a9a5ebc7e4c3004236fe73b49e4 |
|
MD5 | 36b6542dc8f580359366a65fcefbf846 |
|
BLAKE2b-256 | e5d1e56b5e4937b14994d0083ad28b9e559b8ba2ad4f5819f422a26df0fd85fa |
Hashes for qarray_rust_core-1.1.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1f9d9f688d62eac7d08f9c7b627fbdd7c63a271589ff1e5eef084f3ac4249c0c |
|
MD5 | 34dca8c16d05888dca20a9a543124609 |
|
BLAKE2b-256 | 1fb357d68f32e6bdc13921cf3f5e5b8a55dba8eebbf7d84c30501a12e82c7370 |
Hashes for qarray_rust_core-1.1.1-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8456c3c46cd0256a0fbacb7ce10b31a6cb0bce5fb21f9e394e6f7a786a0a779c |
|
MD5 | 9e6a52f342cc1d457b5a9109fcb1ee92 |
|
BLAKE2b-256 | 8bab9323e17a1eea6fb024bf3b0a6efd5c3bd413d23c9c32aba9558d8878b9ff |
Hashes for qarray_rust_core-1.1.1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2bac29b947548329279381deb8bf44dd7f8c4597b9a877ba2d636640777ad7c5 |
|
MD5 | af1df34ae728085ddccf878dc6d56e2e |
|
BLAKE2b-256 | 4ffce9cbce153519124aead7cbca771c1b722ee5bf160ebd26b79063ce2ef19f |