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.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7f4c48b547c36291d2be62786978936cc8b251326f3a1febb05ed78639ed125a |
|
MD5 | c0d692ca78fc363c1f24438bbe93af50 |
|
BLAKE2b-256 | 3de41157261ecf408842d1be0d94509df6c92f2edc8e285d055620a23d91b777 |
Hashes for qarray_rust_core-1.0.2-pp310-pypy310_pp73-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 48e1113d9c7a1e076c6dc07b117f18879e6a8bc0a48e24deb7a1b97953c21db4 |
|
MD5 | 15df53abd8edc118f70c5e0a472dfdee |
|
BLAKE2b-256 | 3c9f797a903bf2ffb4779adb15693bdbf40e8b4c030eb7abf46f3fe65eaca091 |
Hashes for qarray_rust_core-1.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8fa7a96064e70219ab343d0509d19b786a933e3f616da6868281587195f3e420 |
|
MD5 | f0a5fed4df438580fe60eacf953d1e85 |
|
BLAKE2b-256 | 803b660e0233f203aedbbc9d1485b6be1ebdfba7286d5961cc76bae4c49dd188 |
Hashes for qarray_rust_core-1.0.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1d0ce8ba5214937d9b57a8a422684dc000080b3775f930ed07704ea28f4f2b4d |
|
MD5 | 113530e2ae6a37f718cbe71d3cc89e52 |
|
BLAKE2b-256 | 407c9f1cafd77782787dfa8e95d3ab7a62ca8e4f5a77f1784a9faea966e7eb8e |
Hashes for qarray_rust_core-1.0.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | eaa5fcd14d93601eb6ea12cee5b751824d84692e59519ccc781f962055f5899a |
|
MD5 | 10f7c1e1d79292ae5b983246543a6bab |
|
BLAKE2b-256 | 4334f97fa03912200c02a59c8ba0d9c745510c1d586be9afb4a1bdfc1295c702 |
Hashes for qarray_rust_core-1.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1f56af7d90feb5869ff084801774e61472f8a114eed4fb3da0d63e0a885e81f3 |
|
MD5 | 83c11cddc02c87f4d2954b171d66e89f |
|
BLAKE2b-256 | 5258c8aa929660b1db277b3b746c6e78dcd6ae58e50a50a5bf3b6a7b57a3bc5b |
Hashes for qarray_rust_core-1.0.2-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 476695654d7e165032c06b42fd5fa9146f195742c4b380540bd862e860b3bba6 |
|
MD5 | 2edaa7a0178b8bec99c00dbc6d0c5ba8 |
|
BLAKE2b-256 | 6a2677f020c9443ae3faaee40d54070db5235b4375f59d17b0326835dcc72f3f |
Hashes for qarray_rust_core-1.0.2-cp311-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 75f697038d0013ee8551f14be59bd08d8aefa318610c3238fc81095de4a49ed8 |
|
MD5 | 802222de3ccc7270946db1db02c0d004 |
|
BLAKE2b-256 | 1e887def4664649233441da3a647a43ee78e66e4c8754d68bedd44f35a62cbd1 |
Hashes for qarray_rust_core-1.0.2-cp311-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 67f9b0af82edf2fd6f7009c55ccc457408fbd9dcfbd3da2a80025899162f1c03 |
|
MD5 | 6fca964c740ba2ca0f63ad2d45ec44ea |
|
BLAKE2b-256 | 1ce5bbbc6a69fa81dd63e98840828ed204d2da51b970035efc66b0d90a8e986f |
Hashes for qarray_rust_core-1.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7113869cad081794fa3c2dd201361cabe5f36f95c82c046b72259741f966f3d8 |
|
MD5 | f3586a805cbec4f4709dd73d4c758b71 |
|
BLAKE2b-256 | 73a1f897d976fccefa2051121d658210e0426b97b95c3ae17379ac49b18f0c44 |
Hashes for qarray_rust_core-1.0.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 38900b5a437aa24824ae7cd6ea0c86c37e771199f23380e7a1ddeb0f36145ce8 |
|
MD5 | fb96ac39dc9fb968eff0347e061f7d76 |
|
BLAKE2b-256 | fbc9f671a80bf3b1a75fa010c431bcb205670e4167e34927a07882096ec70f12 |
Hashes for qarray_rust_core-1.0.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7c33d7c2df11a238446a28a1de65bae90eb02ce87199215069235b00aaa63856 |
|
MD5 | 59583b5d63d7a958d37851d84cbe45d2 |
|
BLAKE2b-256 | 2e9b9d5b020f0bcdb58d956dbd36f5813cba7785331a4b94d65635e20a52cee5 |
Hashes for qarray_rust_core-1.0.2-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6add6afcc9de05948fff3d8436f36c53e4d2c02baad161078bf08c59bddd7697 |
|
MD5 | 9e7fdb19f4448ce70e6fbda599635692 |
|
BLAKE2b-256 | 8f70f75d615858b657eb1a5b05a8e17522f8cd48169809e1e7da7f660b7b8941 |
Hashes for qarray_rust_core-1.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 81edd310c4a90feeb9bc609d0b95048dd943b5befcaafa4bc67a14e84f0c891e |
|
MD5 | 87b373230e23c03e5c01de2dc42bbfae |
|
BLAKE2b-256 | 5e3494caf4588bedfc8783f6984121e8e0b5849b3d664b7a3d0fb26dca1e1f54 |
Hashes for qarray_rust_core-1.0.2-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c474a7efb288edb3a7b24785898c8f1e0522d6a8fa779b6f4df7b05f8cb0b469 |
|
MD5 | a79397e7383dfbe0f04ba45033471a85 |
|
BLAKE2b-256 | 37cdfb6bce4064b9edf6fdf31857cca7b7fd63c9ef6ad7af30c82e006cb0ac84 |
Hashes for qarray_rust_core-1.0.2-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fbd4b18e1a36487ad52de63206071a7ee05a621301f078792ef9cb7384d86ad5 |
|
MD5 | aea92d8ea964372b4a1421bc8f9ba26a |
|
BLAKE2b-256 | d086cf15a07ec4ff94298d7177fe1ecd4357b9f3b49bdf646ff04d473799a051 |
Hashes for qarray_rust_core-1.0.2-cp310-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1b5f65c80fbd2b6f16c395514b1df675504040da791185b045580931468289e8 |
|
MD5 | 3774edb53033130b8f65adb92cf64341 |
|
BLAKE2b-256 | b95bb397fbe1b1f1c34f954f8311617d474858ca9ef232216d056939da754739 |
Hashes for qarray_rust_core-1.0.2-cp310-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 890fd23c3ecca0ea057214831cc59b79b773fbe3a3c6bf291b806ffbd1eb3c7a |
|
MD5 | 7f64634a51464f5d0cd71f70c6598dad |
|
BLAKE2b-256 | 7582ab0397d6b6901b98375622c3f1a4abd6a968d0eaa5c8011e7563ef422956 |
Hashes for qarray_rust_core-1.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 79122b898d29370145207d60fe99c15e0b6c00af00e717c6f9a447f45e0dcbc6 |
|
MD5 | 0c3f71bb348a63a191784ec8ec8a7132 |
|
BLAKE2b-256 | 3123de3c88ad5acda1acff7b06f638d7b2f1ad324cd9b320dc38111275a9d655 |
Hashes for qarray_rust_core-1.0.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d1815f3d2d00f8b673573ca816373b5b74b9f1830be1706d90f633ec7f99421c |
|
MD5 | 0c09ec7ef311cfed8086b057369e3360 |
|
BLAKE2b-256 | 35e644a382748eee484d29578fe0cf85f382ae0f221ba4bce4bfb484f37a4918 |
Hashes for qarray_rust_core-1.0.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 735231b78797082e928967de4ee24a5496d744b446cb83b2c2d54380edaea9f2 |
|
MD5 | cc49c97277a224893c99ab63a9526438 |
|
BLAKE2b-256 | aac33d6e0241b4ec30d515e8d765563251dca4e28f235480d8ce993968d70355 |
Hashes for qarray_rust_core-1.0.2-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6a34e5a77ade16b7b521c5956b54e9a7b72047c0456bb936d34b3e315b162d04 |
|
MD5 | 5826091991c7f6585429c9e7edb49789 |
|
BLAKE2b-256 | 6ae74c2946cbc038f4576c4d12f8508d30d80ba047ff2e9ec1bf6edbb13559a1 |
Hashes for qarray_rust_core-1.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 93c17e228ae341d0a59a99f294ea226316f1fdd90ef05b70da89c0b56e9e249c |
|
MD5 | 94c3d35c44f516939b39c112fca62d93 |
|
BLAKE2b-256 | 0100d7af0f00ad9587a5fd60609e9fef32d626119e5c9cc2507c838b96e324df |
Hashes for qarray_rust_core-1.0.2-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4c1d4c4926b848d7453820ee12796ba41bc63875c9e33d160c11935de6d5b18e |
|
MD5 | a16bae6d1bab1fdfb81960b056c29cbb |
|
BLAKE2b-256 | 4ff9f3edfb27e00852e8a111dae403cd199acee1fa0e3bceda6e113721919674 |
Hashes for qarray_rust_core-1.0.2-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b79cd3b0423c0f8f585fdf4dc7f8386c74ceea5d56be6d905e1ab89ccbf892e6 |
|
MD5 | dc7f1a2f3d0cb476b6c8b450a8764ac8 |
|
BLAKE2b-256 | 7d398ef0cf2718a9d78644791993c3958a212b996bac2a16954d376a39cb49ff |