Skip to main content

Python interface of struqture, the HQS tool for representing operators, Hamiltonians and open systems.

Project description

Struqture

Struqture is a Rust (struqture) and Python (struqture-py) library by HQS Quantum Simulations to represent quantum mechanical operators, Hamiltonians and open quantum systems. The library supports building spin objects, fermionic objects, bosonic objects and mixed system objects that contain arbitrary many spin, fermionic and bosonic subsystems.

Struqture has been developed to create and exchange definitions of operators, Hamiltonians and open systems. A special focus is the use as input to quantum computing simulation software.

To best support this use case, struqture has a number of design goals:

  • Support for arbitrary spin, bosonic, fermionic and mixed systems
  • Full serialisation support to json and other formats
  • Preventing construction of unphysical objects by using well defined types for all objects in struqture
  • Support of symbolic values in operators, Hamiltonians and open systems

Following these design goals, we prioritize using distinctive types to construct objects over a less verbose syntax. Similarly the support of symbolic expression leads to a trade-off in speed compared to an implementation using only floating point values. Struqture is designed to also support the construction and (de)serialisation of large operators but for the use in numeric algorithms we recommend transforming Operators and Hamiltonians into a sparse matrix form.

Documentation

We recommend users to start with the user documentation for stuqture and struqture-py. The user documentation is intended to give a high level overview of the design and usage of struqture. For a full list of the available data types and functions see the API-Documentation of struqture and struqture-py.

Installation

Python

You can install struqture_py from PyPi. For x86 Linux, Windows and macOS systems pre-built wheels are available. On other platforms a local Rust toolchain is required to compile the Python source distribution.

pip install struqture-py

Rust

You can use struqture in your Rust project by adding

struqture = { version = "1.2" }

to your Cargo.toml file.

This project has been partly supported by PlanQK and is partially supported by QSolid and PhoQuant.

Contributing

We welcome contributions to the project. If you want to contribute code, please have a look at CONTRIBUTE.md for our code contribution guidelines.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

struqture_py-2.0.0a4.tar.gz (430.4 kB view details)

Uploaded Source

Built Distributions

struqture_py-2.0.0a4-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.4 MB view details)

Uploaded PyPy manylinux: glibc 2.17+ x86-64

struqture_py-2.0.0a4-cp312-none-win_amd64.whl (2.4 MB view details)

Uploaded CPython 3.12 Windows x86-64

struqture_py-2.0.0a4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.4 MB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64

struqture_py-2.0.0a4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.2 MB view details)

Uploaded CPython 3.12 manylinux: glibc 2.17+ ARM64

struqture_py-2.0.0a4-cp311-none-win_amd64.whl (2.3 MB view details)

Uploaded CPython 3.11 Windows x86-64

struqture_py-2.0.0a4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.4 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

struqture_py-2.0.0a4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.2 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.17+ ARM64

struqture_py-2.0.0a4-cp310-none-win_amd64.whl (2.3 MB view details)

Uploaded CPython 3.10 Windows x86-64

struqture_py-2.0.0a4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.4 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

struqture_py-2.0.0a4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.2 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ARM64

struqture_py-2.0.0a4-cp39-none-win_amd64.whl (2.3 MB view details)

Uploaded CPython 3.9 Windows x86-64

struqture_py-2.0.0a4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.4 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

struqture_py-2.0.0a4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.2 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.17+ ARM64

struqture_py-2.0.0a4-cp38-none-win_amd64.whl (2.3 MB view details)

Uploaded CPython 3.8 Windows x86-64

struqture_py-2.0.0a4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.4 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

struqture_py-2.0.0a4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.2 MB view details)

Uploaded CPython 3.8 manylinux: glibc 2.17+ ARM64

File details

Details for the file struqture_py-2.0.0a4.tar.gz.

File metadata

  • Download URL: struqture_py-2.0.0a4.tar.gz
  • Upload date:
  • Size: 430.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for struqture_py-2.0.0a4.tar.gz
Algorithm Hash digest
SHA256 19d104d458b827a2611daaa8e77e2b220dfbac05a9667d03bbfdebdb0e3784e0
MD5 d507418993b4ca6a361ddcef7a930bd8
BLAKE2b-256 2ff24286f8439a3eff3b0a47314b8793070b74876c11e6aca6422150bedb6311

See more details on using hashes here.

File details

Details for the file struqture_py-2.0.0a4-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for struqture_py-2.0.0a4-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d8f80e6448dfb633e1ba0fd78a62aad16afe0af066d324e1494db2a6477f7e57
MD5 26dc1a7604d85d8a7292996e7977ec14
BLAKE2b-256 09c7cd22a950dc4a8ed4a3ef23755411c809ac587a2c60b4bfb6cea9ebf0175e

See more details on using hashes here.

File details

Details for the file struqture_py-2.0.0a4-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for struqture_py-2.0.0a4-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 1dad0c8934d87e5cea8f89a6993064390e72f2ead232359bad798d779f122f52
MD5 e85053ddf630b333d130303ba50cb81d
BLAKE2b-256 65573948a2272d637e7c5e9975ded2f97a48d2ae30a18d76767da424a39a2c2c

See more details on using hashes here.

File details

Details for the file struqture_py-2.0.0a4-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for struqture_py-2.0.0a4-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 26bbc90db352d543cd38f170acae2bdf0ccbbb7ac5dc6a9fe427d000f8c0622c
MD5 819d7831ec836ce27deaed16212f80c4
BLAKE2b-256 6321416a20be4e629bd92e9d823766e4601fb7f8d50211821f749f43c677b95e

See more details on using hashes here.

File details

Details for the file struqture_py-2.0.0a4-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for struqture_py-2.0.0a4-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 b0ba4b079df4900f569cb5759c045c97ed6a23aff8ff275d22aa7633e3991398
MD5 baaed31acecf27f0e0c00241b1a5da80
BLAKE2b-256 80b7c16dc0f1107d46d45a421f49752e67a7519e7b138f40040d8e6ac161ccc9

See more details on using hashes here.

File details

Details for the file struqture_py-2.0.0a4-cp312-none-win_amd64.whl.

File metadata

File hashes

Hashes for struqture_py-2.0.0a4-cp312-none-win_amd64.whl
Algorithm Hash digest
SHA256 273c1187511506915014e63448c28ef9c394fbe44338f465bba546d4a3188b0a
MD5 6f06f0df62828baafb0051f15d58aee8
BLAKE2b-256 e583b72de2c5fb76c9c9b744f8f087281bd314d00943dfb9c21e8fc9854ce70c

See more details on using hashes here.

File details

Details for the file struqture_py-2.0.0a4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for struqture_py-2.0.0a4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 8145ad864348f95631a48f1e96a4e5f48eb81626866fa2a9d21422c1c51f306f
MD5 224e4519586ef457cf217026d410c979
BLAKE2b-256 658dbd1527199235836316eca4cf3c12fe033d8c8fb135b45408fa54ad3dc46d

See more details on using hashes here.

File details

Details for the file struqture_py-2.0.0a4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for struqture_py-2.0.0a4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 2f3bcb70eba5f644c27888c818c78c9e6c7740cd6d6fcfa73949b6b245b20b9d
MD5 de22ebb941266dbe70e9345a57fcd1b2
BLAKE2b-256 69fc66ee05c9a968f814fa59c8090e6102d6ec28c95d92753b3a0e230823f68a

See more details on using hashes here.

File details

Details for the file struqture_py-2.0.0a4-cp311-none-win_amd64.whl.

File metadata

File hashes

Hashes for struqture_py-2.0.0a4-cp311-none-win_amd64.whl
Algorithm Hash digest
SHA256 47dda976e78249f009606e49600890814679e848c2b0850bce785fdc9468f8c3
MD5 30190f43ab582708090d4d73189f344d
BLAKE2b-256 0311dcfb5490cb0ef436e15901a9e3296213a399dc27d089208511118fcf2063

See more details on using hashes here.

File details

Details for the file struqture_py-2.0.0a4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for struqture_py-2.0.0a4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f168971e17aeece9d55b6353f909dccc22d32eef9e898fc9a6fe466f59065363
MD5 bba139e44f5a8b06561cd8711a3f4935
BLAKE2b-256 83ceb030b2583a2d36376f42f56bf022e835cd3d95642165579eab71d48dc694

See more details on using hashes here.

File details

Details for the file struqture_py-2.0.0a4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for struqture_py-2.0.0a4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 fb8873f07aca085d0e19be8ea7fdbb959d9a2f44a7155d1e5df289bd2b740ad2
MD5 09d35c643e566f4f8c84a36a1ac3f9db
BLAKE2b-256 f5eb490cbdc0f6972bb9b3dff3cbbfd4a32c617a7e116aa141618adc781cd7d7

See more details on using hashes here.

File details

Details for the file struqture_py-2.0.0a4-cp310-none-win_amd64.whl.

File metadata

File hashes

Hashes for struqture_py-2.0.0a4-cp310-none-win_amd64.whl
Algorithm Hash digest
SHA256 87a5a6082c492a1a9c8caea14f2ebb0272ef218e54f0d000a5df72bed6c84599
MD5 d45571a75cb3b83977c3780db99cef7f
BLAKE2b-256 7084ca72824abf0d79f2727e56deeb7609f2a122636399f289f3af2eb69232d8

See more details on using hashes here.

File details

Details for the file struqture_py-2.0.0a4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for struqture_py-2.0.0a4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 58669cff6f722edfff8fc0a26e4d051fcb5dff177e151b59139ae6683cc8c6f8
MD5 51141076a1fd03d46e68c9219f52d118
BLAKE2b-256 2046e240cc5dffe7e56d0352d30972b6cf73c38fb796e76127d7016d82c68f46

See more details on using hashes here.

File details

Details for the file struqture_py-2.0.0a4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for struqture_py-2.0.0a4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 e7c38c815fdf3174fac5d726e9ab9a90e231229751a752008fadbf70b0e44850
MD5 5432ce90ba68e417670b96ad4ee7a401
BLAKE2b-256 4a4db293b2e55ef6318792220b403bdc1e03f1d5be274d12b25e370811af13c0

See more details on using hashes here.

File details

Details for the file struqture_py-2.0.0a4-cp39-none-win_amd64.whl.

File metadata

File hashes

Hashes for struqture_py-2.0.0a4-cp39-none-win_amd64.whl
Algorithm Hash digest
SHA256 a59f4a0045f42bdae10ecc70c2f3ad3a176558c80203c2ab4539cc10f1627e02
MD5 e70e5690e79f1ad83deae2858167d197
BLAKE2b-256 3a147d1995cb4a165cd81fabe6b7b7ca049db47c023caa3ddacc9feff2eee745

See more details on using hashes here.

File details

Details for the file struqture_py-2.0.0a4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for struqture_py-2.0.0a4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f6d0191dd59b46b227e21afd8d1c2fe529801550842589d06667013f6a93a3cd
MD5 af528078975a1243159e561d3c80d27c
BLAKE2b-256 14945b012327bd1ad55b411c0cf6b684f62c3ddda4f8aae4db0e9a3054dc2b69

See more details on using hashes here.

File details

Details for the file struqture_py-2.0.0a4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for struqture_py-2.0.0a4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 231feec542edc17a8f7b9ac2499e909b29600fa433a66a363360076f309f2c79
MD5 14e4d8d906a1804e3c773afc3f931378
BLAKE2b-256 b339b792d8fcf7205c7d64a55a8fed57cc41966cc3942c05ce29f44dba76af83

See more details on using hashes here.

File details

Details for the file struqture_py-2.0.0a4-cp38-none-win_amd64.whl.

File metadata

File hashes

Hashes for struqture_py-2.0.0a4-cp38-none-win_amd64.whl
Algorithm Hash digest
SHA256 2ada6b8d380521020aec6545f46686cef665692775b799dc6f02bde97afff32c
MD5 04184f2bdff9c9ee1e7251f3701f517d
BLAKE2b-256 55a16fa47e7ca9a57fcaecbdaf4901f4585e737fbb88634a18922cec3acd2dc5

See more details on using hashes here.

File details

Details for the file struqture_py-2.0.0a4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for struqture_py-2.0.0a4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7360a83db634a462fff63dc4e73a70b8fdcdd8f21b7193a256162946bf956818
MD5 fb3863a71a860a33d96d684120586f87
BLAKE2b-256 9b24183ef38b22d02512fb0a30458f6236e16f16d84e12236aaf3a53dfb064f8

See more details on using hashes here.

File details

Details for the file struqture_py-2.0.0a4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for struqture_py-2.0.0a4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 d4ef2ccc6f92d549f87c81b77d7585521323f80da7735951e485f44d93ef65e1
MD5 f35c0f56a050dbfbe74dccb3a5577dc6
BLAKE2b-256 df1d0008d1e20695c8183adcfea20c72c47269821bd2408c5982ec927c5f1e07

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page