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.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | df04a123d7ceee32c3c02e40b7a8fe3b07ec6f0b6372b27498f6bdc858a536bb |
|
MD5 | a4f2a6bf6bdec2c64a65aeb45bfbe792 |
|
BLAKE2b-256 | 29da59b3e7a3a55019a29f8655be90b236fd574c52c044e30775652c47db356c |
Hashes for qarray_rust_core-1.1.0-pp310-pypy310_pp73-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b3d0f5bdeb5d92976a1983d16f0d74a4bad91e625ad5c20a31d0385a997d2159 |
|
MD5 | ac4d09979b886d6a118eeaafba16288f |
|
BLAKE2b-256 | 26fbe1061fc828e4025f3e1a4e1fa340816798d97295e766b861ddff57e4c179 |
Hashes for qarray_rust_core-1.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 75fcbb2566c5f3811dd612e6968237f98b25414c09e7017dbb357ec4dfcbe4cd |
|
MD5 | 1791c89617d49cb7c47e99ee4a920318 |
|
BLAKE2b-256 | 0b6f99565b143e18ce55960c0b8780b57e1110ce042019d249e73457bcce7453 |
Hashes for qarray_rust_core-1.1.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4af369084680d9bb9e5831c85c5f1fba17b19a18828cd02baca713965abbf6ca |
|
MD5 | 1cc8ea5e65770221efe341bbaa26b8e6 |
|
BLAKE2b-256 | ebcadd6903f075c12a37be7372f1a781817d3a9aea7ddc19b6b6b56f6206a344 |
Hashes for qarray_rust_core-1.1.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dc44328af35a13a8b7899b95b71b1b2feebd6f0dfbffe26e5322cdaaa00e67d1 |
|
MD5 | 02ea1ac282b7f0f653c08fe0d493b4e2 |
|
BLAKE2b-256 | f06313f4788d00d4fd72fc66cd94b749b2c4a6a39fda92adcc39ee9cb28f8c04 |
Hashes for qarray_rust_core-1.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0e1378f339deb9ecc246cad15a9ecc116dc514411e6e46c5b600671c137374d0 |
|
MD5 | 99759f154a62a9bbcb177eadb164e4dd |
|
BLAKE2b-256 | 9ac6dec6e3d917f77fb396ced7c7b0d960627ced3b49c5dcbd981df3c3c2113a |
Hashes for qarray_rust_core-1.1.0-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 69d174859c289deb8e94478ea733ef7b5000af81c018be6a1a017999851ce0bd |
|
MD5 | 1c8dc765452d4109a7416cac34056795 |
|
BLAKE2b-256 | 4509e63403e516e8234842aae37a342ad78e3325dcb56ed13b714b171a1fb2f6 |
Hashes for qarray_rust_core-1.1.0-cp311-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 97a25c72bea0c82618c8467405d55f970c8126e2b0015e853758ecb219fd97d5 |
|
MD5 | 255704b0c87aef6184431051bbaff49d |
|
BLAKE2b-256 | f6f691b3944995a48c2b4325aaf736af636bd20544fef7547a2c7062a31cc12b |
Hashes for qarray_rust_core-1.1.0-cp311-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1d667607343ce04692e11c7fc170618b660fcae1bd986642b00f6238580b6a89 |
|
MD5 | eddf4e6ccad26654513590939a0faaee |
|
BLAKE2b-256 | 6e784707a9c897c8718072be1d032fb2ff75fc188d3d12ec1749e094d5df72a6 |
Hashes for qarray_rust_core-1.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c4c1f8fd6f973a466e355ca595f2a2ab3519b56ad7466f18ac0b4d501c60d0e3 |
|
MD5 | 93e541d1ab126e82f3393ee7a670429a |
|
BLAKE2b-256 | 079eeb538e11691133771f2f99d73aa94db69052fe50a284976b8797e516087b |
Hashes for qarray_rust_core-1.1.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5da2540dac52694aa2b7130ee307e20577415e78c47aab6703cbe205c80308df |
|
MD5 | b2e0cfe5af90aae7a73a11b9de1d207d |
|
BLAKE2b-256 | 5af33dbbe70a71076a9827ba97379cd640e13a4c67bf23595ba1f776924d580d |
Hashes for qarray_rust_core-1.1.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3c4d9d845fb0c413575d45f91906563a5a17a553de334a6019c9d4d4d21c9d11 |
|
MD5 | 426ef214fbade6fceff160c6dddac399 |
|
BLAKE2b-256 | 021c278793aaf15295ae8fcc720013988ffb65b6fac53ca4e76d9864418c8452 |
Hashes for qarray_rust_core-1.1.0-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a716f5f8c652e6601e56a945b57f71d0f83c4f6e0aff172d456de71c3554e383 |
|
MD5 | 14e667775622350d7992f311da3db56e |
|
BLAKE2b-256 | 56bbb5ae29c1686a54ab7f24fe7f25195e666b85cce4731a1bb54cd4bfd76e64 |
Hashes for qarray_rust_core-1.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 479d041192807665da376c21a8e656e97c0c94a9e3749aa372958e23196b855c |
|
MD5 | 3b8fd23f879cb11adcffc8bd4004386d |
|
BLAKE2b-256 | 4205326921c233653168b224c1c83d9343a880bf5f5cad7f111329a66cd339c6 |
Hashes for qarray_rust_core-1.1.0-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a1ffce13f5d73e053f386cb943630b858cfd6743d05118d4569fb0aac9933821 |
|
MD5 | 0b77f0404a3d259d57f47bed76af3aa5 |
|
BLAKE2b-256 | ef33ad5ad275d2faf34a5acff789688b141765006216624b9c0b462b98c53b10 |
Hashes for qarray_rust_core-1.1.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6560d5cf367375b4f62382f321e7ae933e953f277a0c481d1d3e01ad5177f517 |
|
MD5 | 9f74d564d2b9847fb42a4d8300f58a0a |
|
BLAKE2b-256 | 4dc86687d0089d3ef29166cf798ebf95a14b5c64d941d66b9e8c7b5db46f220d |
Hashes for qarray_rust_core-1.1.0-cp310-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fb4c3d00d828b676b438016d69e8f98df6636926bfc0be5a4bd674df5e921c24 |
|
MD5 | 5ffe4e9744e6d5f2ed52328b6a9607b6 |
|
BLAKE2b-256 | a9cf5b68724e45a1320279426fd72ff4a0c09a0114d779f62de6a852574f84a3 |
Hashes for qarray_rust_core-1.1.0-cp310-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a1264bfce62a1777b35152baa023bbbcc53747a18efe2df8f0d62d0730e9a33c |
|
MD5 | 5b1c251a6730503f43afe9b4e0cd68bc |
|
BLAKE2b-256 | bfbd8e2f55f8e07ba36c9ce9c1c31d4f2b875693b4942461997b1e114e9263ea |
Hashes for qarray_rust_core-1.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e8eca33f0da3f62d6283d6a92f56e01e7f4c85650a5caf731fc43771f4e08994 |
|
MD5 | e62f74e6fa265a747be7c22c79b7ebf2 |
|
BLAKE2b-256 | f1513cddec2db3663b422e9287a3a1eb9f907dfc7c56376f5ae64c9065f7139e |
Hashes for qarray_rust_core-1.1.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4b1acc37f7050cf4290b86274b7e2fcff13a32270faffc50f0b8addc30047c0b |
|
MD5 | 694f0bd342fdc580b3f5291b9c9b1b5a |
|
BLAKE2b-256 | f6bd158b46da5a93308584bff0f3640b1d05d1a4b1c8a0d5f01758aa4fb0d3ba |
Hashes for qarray_rust_core-1.1.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d513b1e39c93eae3e1dd74837b4b2ed8bc47cb8761a017b379f099c9da0dba52 |
|
MD5 | f5a2e285fbbf4c53b021379d35ba9d3d |
|
BLAKE2b-256 | be3f9320f1e40035a56254ea030d4706851967334f3dd408dfc16ae21b92cee6 |
Hashes for qarray_rust_core-1.1.0-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3f256f925861835d1433193a4be22fc4de4065637b5e1418241c4bb024b48a15 |
|
MD5 | 5e648754d82dba0b228da2df69fe67dd |
|
BLAKE2b-256 | dcbae0edf2e5191ef8034ce7fc6721e55ba72291acd056f6cfe897ef3578c7c4 |
Hashes for qarray_rust_core-1.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e175dec7f46fd6b02eae3cf80ea6f0566facd57423714ccd09138e8367fb0ce3 |
|
MD5 | 8d067224736dd8a1fd9d358dfd80517a |
|
BLAKE2b-256 | e8e7e8bd66083138411eaa3880ed2011a25a820c9cf4382db5e5d47f48c915db |
Hashes for qarray_rust_core-1.1.0-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0cc33128f2033542662dfd173903cf4aa286933b2247212f5faed1b8e0d63697 |
|
MD5 | db95c94e46a3bb541cb6beb4ea5105e4 |
|
BLAKE2b-256 | e6140982ecac189608cf79bd48642ec34a0c5b101db28d45f9d50b5848f86a47 |
Hashes for qarray_rust_core-1.1.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4d93d373258596286b984741e2f290142de64e6ea0104bc84a592de5db1668ea |
|
MD5 | 8149310f06346adb30e4e0cc88671051 |
|
BLAKE2b-256 | f26373e20f63d052f14bab7bd59abad20724e38511892d56c1278006e639ad12 |