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, T = 0)
n_closed = ground_state_closed(vg, n_charge, cgd, cdd, cdd_inv, threshold, T = 0)
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.3.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | deae1fb4aa9d8feb54b8b85ff32de5b07330778a6527ef2f895c2af369aeda06 |
|
MD5 | 5bdf2ec2c628613a9bc4747accfb6b49 |
|
BLAKE2b-256 | 587dfea1123e6bf1934c0db87c52d3c45a3c9a23f259ca376246f29a390f77a8 |
Hashes for qarray_rust_core-1.3.0-pp310-pypy310_pp73-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bec2d8ddc80967cde00857bcdecad9ed03c8cd0b92a58836156762b8635d4032 |
|
MD5 | 038d6ccb67a864333264257c0f5df885 |
|
BLAKE2b-256 | 8dc9b1d13978bc09b88b0bce62876c5d419d66e7f6038b6bc33aaeb6b4fc5d29 |
Hashes for qarray_rust_core-1.3.0-cp312-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 10ec45737bfbe6b08c02acc98a66396685f68509e4d70ea76d22b7a06d1c5122 |
|
MD5 | f56ec42df87666818a286ee6575f13c8 |
|
BLAKE2b-256 | e210f6a63a94cfc014fb0338bf6b1763a7001d4e151de6fa3ca60ec184acc3c7 |
Hashes for qarray_rust_core-1.3.0-cp312-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 24f8fd051cdb258a0ecef8065b4237030b472332b30d5538c97ffc7f8b2457a0 |
|
MD5 | 5f8e8345bb4d145cf9ec8f6e256dd996 |
|
BLAKE2b-256 | 5af3d2ae33e464be0849d66af85e67285b53ce143c8b4d2a74131907458ccf29 |
Hashes for qarray_rust_core-1.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b4e962f9e955bcad3053d8888312cafb6268cf99a397d3daab18b893c8ea093a |
|
MD5 | a0dec0d408b7cf3beb44595f84f7d125 |
|
BLAKE2b-256 | 2af55f3c74b889a3a20d3f96e4c497d3e9ceca4179e1fd72049e54f575273413 |
Hashes for qarray_rust_core-1.3.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8216bb7d3c74e42b39fcfd623bfbb87763d308a4288d42496128c244f78d9f60 |
|
MD5 | 8afccfe156da5ecc4ec4bcc07407ac12 |
|
BLAKE2b-256 | 9703a6aabd46d133ae3a99a352dc54e3975d9f3cd0d02b0ac068f6842f39989f |
Hashes for qarray_rust_core-1.3.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c0f66bee0521f32d54b602385d29746281df92636538916a9e0d6fc73f3b9277 |
|
MD5 | 976e94b5bbf1f9bb352fc27245c86c1c |
|
BLAKE2b-256 | ff6890e6101dccd01134f8592870d65bb6f1dbebae7f7220e7facce09db7ebc1 |
Hashes for qarray_rust_core-1.3.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2fe4dd382fbda96e97e8dccc891d3a5635c4a2ef945a4928cd65a7952803b2b4 |
|
MD5 | 5315f8ac0bcaf01e4af0403d0e9309c5 |
|
BLAKE2b-256 | dd3b4873fafac8f571e0291c01a30544500118d374e9bf9afe0f04dcc2b8b630 |
Hashes for qarray_rust_core-1.3.0-cp312-cp312-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 30cc96cb6a6fba35db8ab07ff9032807346acf190fe9fdf7753374302670d824 |
|
MD5 | e12bd4586c7cc5e6d9e61d9a3814c500 |
|
BLAKE2b-256 | c29713e59ea893baf5c3d872631150136c0c7803aa405858896e5010e2ada975 |
Hashes for qarray_rust_core-1.3.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8c637281faa17f6bb0cecfb1854b5c25ff16c58aed51fc55c76649af0d5613f6 |
|
MD5 | 51d8f274b4760fe56647d36d26660b0a |
|
BLAKE2b-256 | 276499f235732a54be7754f7d732f29a33a73b6dab1aa58573aba083ceea38c4 |
Hashes for qarray_rust_core-1.3.0-cp311-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 65172f058ad33f6b34222d3d2729d5c00924f34b5815ae7fb8dadfd57eb828ce |
|
MD5 | 883b13ff7a5dbbe8c3d2bbedac49bd37 |
|
BLAKE2b-256 | 07b91f2e40deb66b0a55407e006f1e5d1bda6eb7442445b404a2c70552dab39f |
Hashes for qarray_rust_core-1.3.0-cp311-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6197a2a44705400ac7e1ccbb3e748b0fc0021ce6c97ec23ffe4dbcfe616cb949 |
|
MD5 | 2c4ee9b9f9ed24fa3d87629415899352 |
|
BLAKE2b-256 | 36dcd79c1abcb9c9b591a4924cebdd4fa7e431906a026761054385d275a05510 |
Hashes for qarray_rust_core-1.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ef14cfbb4595b0ebb8589bd20bf088cae774766486fbacfb28edf39b2971e6e8 |
|
MD5 | a685d4cc3ff1af6e312df45419baa5c6 |
|
BLAKE2b-256 | 25fec59650662961e71705f2bcd5a0b4f456e520a8d604464834941c094dbee4 |
Hashes for qarray_rust_core-1.3.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c308dc2fea806d927f5e91268e4b6aa3efdc8530c0d17bc72c79aa2e6c485496 |
|
MD5 | cabab928cd79c9a07691049ea40803e8 |
|
BLAKE2b-256 | 0415415fe228f005a225f613aea7628f0591ba43bc74b902390fcab4803452ac |
Hashes for qarray_rust_core-1.3.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1dd5a1b532e657c2f57b45b24030d658ab8a24fdc1d28b9fac9b378731d8df13 |
|
MD5 | 7502c3599a8d80b1e5e13bdd1e0461d5 |
|
BLAKE2b-256 | 8bd0d4f3572899196ccb2fc64276b52ddac42f81686f51a9cb3f3d52f7f01519 |
Hashes for qarray_rust_core-1.3.0-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c34c9bb9b4f143eb1e822688b8cdd46092a77706c7a40fdb046a4af9cadd3f66 |
|
MD5 | 659a2b4495bc81dcdc2f0b57e9c9a005 |
|
BLAKE2b-256 | ec2ac10a472f86e92a4739e4b511f128534ced321f791d3a0675735b16e7724d |
Hashes for qarray_rust_core-1.3.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 112549275c0c9cb3c3bd7e2c9ebef504d79e06acfb02e08ec7cba45790e8cd33 |
|
MD5 | 7578412fa8301df6658bab6df12f59e7 |
|
BLAKE2b-256 | c0fc7bd5a3f0bba02ae51221decbe7521d3e62312ed19818d55844c3c103e7e7 |
Hashes for qarray_rust_core-1.3.0-cp311-cp311-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9e3319b88ad7d45e90cf2446773f0f21c522bd67c77976884b0d59f29b426cdd |
|
MD5 | dabbff23793f93f6c22aedb2e382079f |
|
BLAKE2b-256 | 536a39a8ba7c042efcefe32037097f344857de9b08bf6fbe38fb46d387b0addc |
Hashes for qarray_rust_core-1.3.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cb1f731fe9ed14a2b1797871024823c088ff18b4fb518afaa877282af0a7dfa3 |
|
MD5 | 376aae65e41e36f4f769539accb8c9ca |
|
BLAKE2b-256 | a51e1275342416e64f8bcabfbb9b2aba96340146e76c810cd4f8b7c51953b3f3 |
Hashes for qarray_rust_core-1.3.0-cp310-none-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 32366194c2166082d053388fc825ae543353166b0d048fa099aef8e6c224bb43 |
|
MD5 | d0ea6c75f26d0d76357a0beac48f3cf8 |
|
BLAKE2b-256 | 0476609b54cd15658419adbebfaba4ceabc6a17cae941f9f4ffb8029a8302e60 |
Hashes for qarray_rust_core-1.3.0-cp310-none-win32.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7434ed40bd3e0ef035dca5d99ab51bead8a19dc5276a8ac4147787a47fdea6e4 |
|
MD5 | f2e6c8245ebd744d66d52c1545d9c67f |
|
BLAKE2b-256 | b018860fafd850ccdedc3357a0b0fc74b957504dfa3572e610542f3c75bf78b7 |
Hashes for qarray_rust_core-1.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 33e84f2f6c3ef1e4a6068ea4fd5a3986448cc431d414dcd14a973e8cbb58fe12 |
|
MD5 | 2cd27e2342c4e41b150f56fee2d0aa84 |
|
BLAKE2b-256 | 290190256b9348c6732540414b328c668e5ce558e3da867b93b80216d0c1a0d1 |
Hashes for qarray_rust_core-1.3.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e68e58c9c21cefc45bfc14b41be19fb807d6c67749fe012418157b53de942d15 |
|
MD5 | f47ae2f09edba9d93bbea23b172d8f08 |
|
BLAKE2b-256 | ac37f85615d1b5f303b6db68107b78cc3453b106f8a495d47374c6bd2f1322bc |
Hashes for qarray_rust_core-1.3.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 79530d8c107a3a9d8199919a9636853eca2ae64c25b6e1128d57689a5600e499 |
|
MD5 | 3e27f090e6eaf706fcfba99948e6f1c7 |
|
BLAKE2b-256 | f2e451ed0623e2b638c393aa1b073e6390ef29e6fe2c7f0492bda397696837cc |
Hashes for qarray_rust_core-1.3.0-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | eb38c8d12847d5ac622d485612bf76524429d0e68ca24c2b4323da1bba959da0 |
|
MD5 | 5a75229a6381e65a3408e500c84ff84e |
|
BLAKE2b-256 | a616660afc39091498031947437f0c15680970c77d4ced33a68626c93ab2c299 |
Hashes for qarray_rust_core-1.3.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2f79edb4e20668e770a585f2c893d242f7b0349c0494f745d710a78a0954124b |
|
MD5 | f71ca6b57e5175f0a4fcc78baccfd2aa |
|
BLAKE2b-256 | 1aea8ee6f5bb348ac96d1987f4f8aebbf78bf3333372c2f60b253e804d664cc2 |
Hashes for qarray_rust_core-1.3.0-cp310-cp310-manylinux_2_12_i686.manylinux2010_i686.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 347289bc82bf21bc84773da667b3c4c1e345c4cd8c17b8b8eb8ba72333770500 |
|
MD5 | 48e82efa93cb4e1df3be159af0160f84 |
|
BLAKE2b-256 | 74e9461c5ffc44a2d997d0c6906942eb1953e2696714284bc39515cfe258f21e |
Hashes for qarray_rust_core-1.3.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1173a67035529f3be7481e81910cb1f631047a9080d65b1f4140fa9ad421e5a6 |
|
MD5 | a45b8a4fedd39a262b08af2b27de2aa4 |
|
BLAKE2b-256 | ea1bcc55842e5fed787f749a371ae36525738c87b26bee2c7b5eee23c3712403 |