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.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8a2c96e80f896b525a1a92f691eb4127697df0bd9376205ae841493d0d767a9d |
|
MD5 | 249e10ad66c6fa0c1305c83e22716565 |
|
BLAKE2b-256 | 85acf8ec4aff1cfeda8da017853d8830110fa991b9894e4487e781dee1840800 |
Hashes for qarray_rust_core-1.2.1-pp310-pypy310_pp73-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ee37b6df12da99757707911c18a0986aea083fda80ecfcf791e30489f5ef0abe |
|
MD5 | 97842751ff813eafa9f9257826256c16 |
|
BLAKE2b-256 | 06412b6434e91412c19d43cbe0de7662dbd2b98d36256b9c64e0afedbb40093a |
Hashes for qarray_rust_core-1.2.1-cp312-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 19a570a09b2765cc6b8dc28c2bdc4fcb6c48ad11731254bc2568b7b3c97fd269 |
|
MD5 | b673cb41b0ed66354b32500daeea413b |
|
BLAKE2b-256 | 7172f457ab0c78ac975ba6b8aed8db9837e3dd0e652b53fb3daa566b60e86db2 |
Hashes for qarray_rust_core-1.2.1-cp312-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f194e0cb2a02977d651cbf44a0e61ce42066a4765496220568521162bdae2261 |
|
MD5 | 89c5d0a9e291855a8d2328395fd59697 |
|
BLAKE2b-256 | 802490f813ae45cc269a165bd3e4147dc81bf753d50ded999ad50c846b7fecd1 |
Hashes for qarray_rust_core-1.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c10fa2cbc28671c84b3d6099bef92d7cef4432fffefa15df15202bc72d2205d3 |
|
MD5 | 6136f8078844e325137a6d5bdc29cbae |
|
BLAKE2b-256 | 31348c6dc62ec6be12ff890629a1a41cc76346d786b32e033747417c4623a53c |
Hashes for qarray_rust_core-1.2.1-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0c40e13644797010cfa32d5d49e524059166b3293f839e729ca3a55f056a2dd9 |
|
MD5 | afe52826f1076b47820ff9cc9e653c1f |
|
BLAKE2b-256 | 692b08e2f33961e87acb315e5d1dd70c14d5953268b22f00375131758679d652 |
Hashes for qarray_rust_core-1.2.1-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 49c49da4b090e5af8f3e1c148ec9f79be09bccd65db9d2508e1655fc5ee66993 |
|
MD5 | 963895a75fb6435b032a6388365f97b1 |
|
BLAKE2b-256 | 80140cf3ed279876bc51416e99502582303f0c799231864f5e11e8b43712c595 |
Hashes for qarray_rust_core-1.2.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ab868aafd4815bec88c4f0ffa82ac1f34187ddbd4c4fed075f91070a37fb54bd |
|
MD5 | 0467bc4cb230f39724a3bd2a8e1d60a9 |
|
BLAKE2b-256 | 7b54cb7b906054acfd424f4f7402d1501d15ae25a428a9cd6a30b9bcc97148a1 |
Hashes for qarray_rust_core-1.2.1-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 773d267e7114a8c127e2a975691b793885b09a9c46404fb004b603c7de90a94e |
|
MD5 | a8d2ed22524d06efc120832dfe58d838 |
|
BLAKE2b-256 | d676eed784cc193fdf54ea9b2d6bc47522197964f12e536c2fa381880107d6ce |
Hashes for qarray_rust_core-1.2.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 20a27a8c418327887f9082e21d0ed592a0f52851dc4274793850e724719abdca |
|
MD5 | 0c03439243a53770206c7a8ff6302927 |
|
BLAKE2b-256 | cd61b9d69204dda60791b10c54c4480ee158064a07931ca510c5d2dc9f587a0b |
Hashes for qarray_rust_core-1.2.1-cp311-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b66806001b8b9ca539af6bbd55d4e0ebb6b01cdef9e2bd597c674b6df2acd648 |
|
MD5 | 1df909ac441a7f86c5060b2eb19a2e2d |
|
BLAKE2b-256 | 96f1b509377b4b765324050001e012f54efc1abefe134a8dfbfb742f2e8c914b |
Hashes for qarray_rust_core-1.2.1-cp311-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6fe9e32499a0fa41ed7464d6f1a53bd808e68c5a160e10982e62c1d9af7fb20d |
|
MD5 | 0f90a65fc8a62499ba770a7287947aae |
|
BLAKE2b-256 | 094d696888fa807419b31978881b2933956beee735c1cbc8ed72188b32279495 |
Hashes for qarray_rust_core-1.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f7391e1ddd2784f7cefe166cefcb9a9e73a417e056022d6f60d07959ece2014e |
|
MD5 | 68d799eb77a3b76e031a678c7f5f6c36 |
|
BLAKE2b-256 | 5d916847bd59f8d35c7f61e6187c0c9b43f26ba692b29ba9a9895f77fe51ace3 |
Hashes for qarray_rust_core-1.2.1-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 17c93627df298dc46e0abbd74132ea5ad72b652d518594deb9ce580c997cacda |
|
MD5 | f1f76f80e18401d831d4ab52d17ea9ae |
|
BLAKE2b-256 | f54395dfb72bc996ccd308f148d7129e564ab16953a95a5ee614bcd5c4a6be73 |
Hashes for qarray_rust_core-1.2.1-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b879532c3e2ae0654c43401a2e2bf2927cc8c0736b5c97afc3d135f445f72345 |
|
MD5 | bf0649382da3541dd986f485160bdd10 |
|
BLAKE2b-256 | 644843f2b4604866c723e2de68ab2ba2f7bac7d738171a10fa481d03c1a328b6 |
Hashes for qarray_rust_core-1.2.1-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e0ca043db0da948eb3f5db8c587d4627ebf46c0f147a38a883b1c902e3ef4d6a |
|
MD5 | 333997eb39a283f8621ced1705b6aa21 |
|
BLAKE2b-256 | 41737134ce2c3caad58a16cdf263fdb9eadd13ad46aa2b46d70cb33f39ba8cab |
Hashes for qarray_rust_core-1.2.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c63158449e94ef8c58c9b2c705fd09f7f5cf3f850b5612b1bc38723feba27d0e |
|
MD5 | 6ad7e316ae021acda6f9122ff5a273bb |
|
BLAKE2b-256 | 84ff2005388f7737a9443bcabc24b956bb8014984672c9c4b4379db2be7ba503 |
Hashes for qarray_rust_core-1.2.1-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ee3731dd2d7747e2c334d70a3ad7878d9b01dfedf416601c1fdfd9c36adcbe43 |
|
MD5 | 7de6e2bdad2d6151562d32105f790dfd |
|
BLAKE2b-256 | e5b5ce35773d4b3d645975b3c765ab471085f69a4b4fb9b8b179e6c8ea6e0083 |
Hashes for qarray_rust_core-1.2.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e3509ed81824036491c867b23c47130bc3cf147f0178407ff3d8403ed0ee0d46 |
|
MD5 | c723ffab7672d27a7890ddd39ba5128d |
|
BLAKE2b-256 | ea876bd3541a91451f8dd17d2bc065486b105490340194861728902e50ed7a02 |
Hashes for qarray_rust_core-1.2.1-cp310-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 825c6f97c9efdb4a950a468d0190d439a764a33e3f2cc6c0b180d683a0b5b27b |
|
MD5 | c2ddcb1766ad00130713735753d03e77 |
|
BLAKE2b-256 | ef401197a0c49f159be842578844a63e2962f8fd89a0480b7fc092586c54e079 |
Hashes for qarray_rust_core-1.2.1-cp310-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 13386d5acbdbb80123876df0ac852584aa4e858581f34944117df4f6f5cb32de |
|
MD5 | 4ed4c2d3408aa6d2ba6bc910fb758392 |
|
BLAKE2b-256 | b945b3e45cd4612df75dc9f218231ae50d5aa83a80a4b76f6cc6d2695eb80995 |
Hashes for qarray_rust_core-1.2.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 714869bda69a9f371f64169cb241b53c9e5685987b9e44699c072fdc74d0c22b |
|
MD5 | dc13e5f7fbef3e7907a0df39220e1846 |
|
BLAKE2b-256 | 047a2471de1d5d7434fb473e6023e6c166f913f8455df7f3c5ce03ab6ca12ade |
Hashes for qarray_rust_core-1.2.1-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d86b6c761e1c75cac5935823dc6725dcc7836f0a0e62196107138bd22911e0bb |
|
MD5 | cb0a8e465fd51a2e8231195196fba88b |
|
BLAKE2b-256 | 4c349216bc9f768b070e009c13bb83d4604457462b271d556a94e90116634d80 |
Hashes for qarray_rust_core-1.2.1-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e69e82ad2bb8106fdf6980449e3ded49467e283c0c4fc1151a623aaeff637ad8 |
|
MD5 | 6b7e8ecc64b6d8ec537e84223e0afe96 |
|
BLAKE2b-256 | 4386312b779225e0aa09a3ba9049442831f1e0adb32bdef8fba1394c50de3fc2 |
Hashes for qarray_rust_core-1.2.1-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 89828146e2578410cf2e11ebf79e2fe2205f3cf7e1fd6c0721ca4d7f9988b215 |
|
MD5 | 7bf4f7d161eae890e7d4305ffaf3ab7b |
|
BLAKE2b-256 | c2671edbe845d51f6efcfccf12f2ecd127b68c66f8839ec65fe13fc349f97975 |
Hashes for qarray_rust_core-1.2.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 98444fc9ad698bcf2b6bbe8091e2e25e0e23eb9bb187c41188cf9e36f3e63507 |
|
MD5 | 98d49c65e3f349652c137ace9962457c |
|
BLAKE2b-256 | ac0b83fad7fa42d7aa785d5f5f0822189d2db8d731773dcc2f9b54e0f7e19b99 |
Hashes for qarray_rust_core-1.2.1-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a1d463796ce4ff767162ea679bf31ce2cdd4e708af1d323fe499a18a91fd82e9 |
|
MD5 | b017c3fab5c74bd8ee57a33f01544d04 |
|
BLAKE2b-256 | 966cb5bfac47fb36134965651617823c4c0b215a7b275ddff95fa8922237bbd7 |
Hashes for qarray_rust_core-1.2.1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3447415244af114b94dcc6db1058b2dd4356abac3910d3dd592f0e060997ccd6 |
|
MD5 | 9442be2ecbf80bd3fd6016b7881c030f |
|
BLAKE2b-256 | 030b0291f0e7cd384f0489fbe641c53eafdb800a08d535b0a8d1f650dc186582 |