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, bosonic objects, fermionic objects and mixed system objects that contain arbitrary many spin, bosonic and fermionic 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.

struqture

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.

Migration guide: from struqture 1.x to struqture 2.x

The Migration Guide should be used as a reference for anyone wanting to migrate existing code which uses struqture 1.0 or above to struqture 2.0.

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


Release history Release notifications | RSS feed

This version

2.1.0

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.1.0.tar.gz (411.0 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

struqture_py-2.1.0-cp313-cp313-win_amd64.whl (2.3 MB view details)

Uploaded CPython 3.13Windows x86-64

struqture_py-2.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.2 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

struqture_py-2.1.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.0 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

struqture_py-2.1.0-cp313-cp313-macosx_11_0_arm64.whl (2.0 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

struqture_py-2.1.0-cp313-cp313-macosx_10_12_x86_64.whl (2.2 MB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

struqture_py-2.1.0-cp312-cp312-win_amd64.whl (2.3 MB view details)

Uploaded CPython 3.12Windows x86-64

struqture_py-2.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.2 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

struqture_py-2.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.0 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

struqture_py-2.1.0-cp312-cp312-macosx_11_0_arm64.whl (2.0 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

struqture_py-2.1.0-cp312-cp312-macosx_10_12_x86_64.whl (2.2 MB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

struqture_py-2.1.0-cp311-cp311-win_amd64.whl (2.2 MB view details)

Uploaded CPython 3.11Windows x86-64

struqture_py-2.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.2 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

struqture_py-2.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.0 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

struqture_py-2.1.0-cp311-cp311-macosx_11_0_arm64.whl (2.0 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

struqture_py-2.1.0-cp311-cp311-macosx_10_12_x86_64.whl (2.2 MB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

struqture_py-2.1.0-cp310-cp310-win_amd64.whl (2.2 MB view details)

Uploaded CPython 3.10Windows x86-64

struqture_py-2.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.2 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

struqture_py-2.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.0 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

struqture_py-2.1.0-cp310-cp310-macosx_11_0_arm64.whl (2.0 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

struqture_py-2.1.0-cp310-cp310-macosx_10_12_x86_64.whl (2.2 MB view details)

Uploaded CPython 3.10macOS 10.12+ x86-64

struqture_py-2.1.0-cp39-cp39-win_amd64.whl (2.2 MB view details)

Uploaded CPython 3.9Windows x86-64

struqture_py-2.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.2 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

struqture_py-2.1.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.0 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ ARM64

struqture_py-2.1.0-cp39-cp39-macosx_11_0_arm64.whl (2.0 MB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

struqture_py-2.1.0-cp39-cp39-macosx_10_12_x86_64.whl (2.3 MB view details)

Uploaded CPython 3.9macOS 10.12+ x86-64

File details

Details for the file struqture_py-2.1.0.tar.gz.

File metadata

  • Download URL: struqture_py-2.1.0.tar.gz
  • Upload date:
  • Size: 411.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.10

File hashes

Hashes for struqture_py-2.1.0.tar.gz
Algorithm Hash digest
SHA256 99a6d719e9adf28980a1c21bea5dbb562b6ba9f50702bef730cffd916f2c74a7
MD5 c02c9fcdd556f91e022544146d3a0eb5
BLAKE2b-256 fbae926c6827fff4ce6a63fd29328a167bafce7ac4a72c722d610e4f4c7a992f

See more details on using hashes here.

File details

Details for the file struqture_py-2.1.0-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for struqture_py-2.1.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 3b733c22bd1f074bd6c88bfb4cd5a7d03c8e0325cf686d3837368ce98c3a87fb
MD5 26b9924be2ac9fdb5126d2c836624bd4
BLAKE2b-256 c045f216754f1dff90dde8934452de307d518e5346582154a8a63baf210deb0e

See more details on using hashes here.

File details

Details for the file struqture_py-2.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for struqture_py-2.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 49fe216710dd73331148117c2f9bfed2ccb6fcb649b9e0e68293e438120cb55b
MD5 efca3e21925c8c704266630f3758ae95
BLAKE2b-256 40303f34815187e61931d33a36a2cd181bf550907be0a8be7d394c64de4e6c3f

See more details on using hashes here.

File details

Details for the file struqture_py-2.1.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for struqture_py-2.1.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 42380607134b896ad4b5a7b8d1200a462b9d6cd672abd9762fedd6f23a8536a8
MD5 1c1a24815aa433aefae27af915686f3d
BLAKE2b-256 17fa514710d26a87b3280869018d1cecee9fc540f5da17436d58b875545ede5b

See more details on using hashes here.

File details

Details for the file struqture_py-2.1.0-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for struqture_py-2.1.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 308450901a71e7b6cdcdda199e1d635c05e5c67b320962f75fdfe1043a1217e1
MD5 ffa3676d777c6aa84ae2dad5639b5371
BLAKE2b-256 b24be0f087bc4d58b656e1000fb72d55d7533865643d58e9e4c66d78334d53ce

See more details on using hashes here.

File details

Details for the file struqture_py-2.1.0-cp313-cp313-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for struqture_py-2.1.0-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 b188198cd81a8db09ea3ec4137797106ff6c58b95b96f95f1c6f33678feb7a5a
MD5 b997414c511c6ac8442741c97765cc9a
BLAKE2b-256 18350b3a3eed124de6ae9bc20b4f5de6fe80119548ffe929b3fd4803ec23fba6

See more details on using hashes here.

File details

Details for the file struqture_py-2.1.0-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for struqture_py-2.1.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 52ecf5e01891ffe2e3022c144e21d5773f5cde9c679aee7687ef6cc62259d585
MD5 4ca9eb9f1aa412e0e897b9e7a30ae948
BLAKE2b-256 efe5f0cd27c42d05a7228c2383684e8db56a14c603dca862c44970af2490c346

See more details on using hashes here.

File details

Details for the file struqture_py-2.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for struqture_py-2.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c5c2ad2a044b7825c1053f2fc4040baa69802dba5c062067fabd3b83f2055a10
MD5 86a3b98150707589b628605dbe41784b
BLAKE2b-256 e30050d028ae9c3b77db7b704a0055daaa0400ebbdc3cdeee0949f5f1f56f490

See more details on using hashes here.

File details

Details for the file struqture_py-2.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for struqture_py-2.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 98eb1ea49bd4aea11093b1400872fec1afb209b7d263dcc78d04f4be37033e86
MD5 5615f5b30e2e945c771ad2d4ef65e742
BLAKE2b-256 507685ad1f6c598a304b1fa835d340fac122e5ea7d12244d60457a5dfcdc3fd8

See more details on using hashes here.

File details

Details for the file struqture_py-2.1.0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for struqture_py-2.1.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6a1ae07cd1c6fb241db8ea84cf2450e0d7cb28f6710d39e2ae47c685228a5950
MD5 a74b2622fd50cf670ad2f1c5d81fca97
BLAKE2b-256 f428d025055bd75ec068e401533749df31abffa3b43df7cbf293006c894e3f52

See more details on using hashes here.

File details

Details for the file struqture_py-2.1.0-cp312-cp312-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for struqture_py-2.1.0-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 7348f132b79b3ecf04123fb77d8549d082d72829d9f358ec8956498536150c49
MD5 bcbde97ba0ed91aa4eed76c05b4af57d
BLAKE2b-256 ba58ff5817cbca77aea89db547af3eebbee0e788a0d9fab3f84544caa3015f39

See more details on using hashes here.

File details

Details for the file struqture_py-2.1.0-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for struqture_py-2.1.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 a0096b0a7081e28835762d1f4b91d35fd300a32dfa1ca23c092562e07d9cf0fb
MD5 e67a5c92bfe9f5af5fd1279a39daf24e
BLAKE2b-256 0dc7109150f430a4def050272f0f4228217c0ffa19d1eba3907dc21810a970d5

See more details on using hashes here.

File details

Details for the file struqture_py-2.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for struqture_py-2.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c0cb626e53d820c18ab0cb4dc19c40368dc156459da3dc14560b8c069e142a54
MD5 1a43c081d1b5984e749893d1e76a0bab
BLAKE2b-256 dfcf7b61a354df7f7f4fad549d3517623c55c65e3fee3640dabb8fe624aa9cde

See more details on using hashes here.

File details

Details for the file struqture_py-2.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for struqture_py-2.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 c20dee2ef79268433f02cafb44b74fa921172260b2130c63a714b97fed7cfc63
MD5 cc377719a433d4ccaf8ce65742ede4c3
BLAKE2b-256 81d6d9cef87511976d04f0d1b5be097bd6fc88a98c92707e8f79435cae640ace

See more details on using hashes here.

File details

Details for the file struqture_py-2.1.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for struqture_py-2.1.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 de8ce4d571c4b8cb85e5f8ff982485c4fad97948686452f6b840290ec692666a
MD5 506585a465ea3eeeb3c5da36771df381
BLAKE2b-256 4df3e4aa0763773badf808b4fe45f00dea6a3550b0213f76e667b76ad5038494

See more details on using hashes here.

File details

Details for the file struqture_py-2.1.0-cp311-cp311-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for struqture_py-2.1.0-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 6c13924718aac894275cfe020d6727f1000162f7c86ff1dda68c3455d7baaf2d
MD5 c7a404fb56623079c14515bd5f3aef53
BLAKE2b-256 b58b781f1c8c306f63827f51e6302919608cfb138e3dcf8111cb067adac98ac7

See more details on using hashes here.

File details

Details for the file struqture_py-2.1.0-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for struqture_py-2.1.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 9087d5547b5281a951b180dfe1deb4a43e14dd2d8e9b6d10cf6b503703c715cd
MD5 91defcd891045961de2df2f949ee5eeb
BLAKE2b-256 a57ebb6d1cf1dfef9d214a4857e8254cf1d6ef709fa2569935eaa217fdb015d4

See more details on using hashes here.

File details

Details for the file struqture_py-2.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for struqture_py-2.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c0059b6a5064985a44a5ba1a697d6b0a7222ba32a9eff1f265c9e68ba00d3d6b
MD5 879c7769423bc913ef4b0255b09da68a
BLAKE2b-256 0b9107f6ac0556f309ca531870fb7cf8ae140ec97e680bf53b0a8b6f639dc3de

See more details on using hashes here.

File details

Details for the file struqture_py-2.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for struqture_py-2.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 3e5a129194f29b7fa1fe0511f8675ace9da430cc48d18dcd28889ca470aadc70
MD5 c5d3aadfd2fb9e1f1120b131529acf37
BLAKE2b-256 f56138c528f01c736e91517999fc9fe11b45b261e86f860753f84ffd3deecc42

See more details on using hashes here.

File details

Details for the file struqture_py-2.1.0-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for struqture_py-2.1.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 92bb43c4a950f70ab49539d6edd32174c779910995a5ece5083f715739518ff6
MD5 51b41515672aee891c7bb7645d9ef05b
BLAKE2b-256 f6a507a9687210d6947a2cf255c56de43c0ab605a8ffc5625854a0ccd178ce0c

See more details on using hashes here.

File details

Details for the file struqture_py-2.1.0-cp310-cp310-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for struqture_py-2.1.0-cp310-cp310-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 95b1c45316ab28b04426e9e673c8f8877a18eb8293968b3f20f0d31e9c04951e
MD5 ac9ee2820cdf76f649b79ec5576e1a7a
BLAKE2b-256 2503b6756eb5acdd47758decfb4cc9bb70fa473bb1e61e8aae49515344f0322b

See more details on using hashes here.

File details

Details for the file struqture_py-2.1.0-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: struqture_py-2.1.0-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 2.2 MB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.10

File hashes

Hashes for struqture_py-2.1.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 a0245eb6d425d957d81f6ca8b54525d59a204ead6b0f705cec6029aa2515c49a
MD5 06ee8307201f99b59b1c4c485550b665
BLAKE2b-256 62aa1dd9a1cb041b5d2987634f4b233110276d09716c7def31f41f50540a192d

See more details on using hashes here.

File details

Details for the file struqture_py-2.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for struqture_py-2.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e95c4cdf0acd87b9bd2f92922f8ac1ec69a7080b2f57e92d76e46dc717524d7d
MD5 8126978717e9ff93169e71c1d80e7b0a
BLAKE2b-256 395a6d20f85d349ebcb658edf613baa82cde2b9d41d9d7c085d248802ba5c623

See more details on using hashes here.

File details

Details for the file struqture_py-2.1.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for struqture_py-2.1.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 569d8740e7c9b02fc6ef22bb2c559085cfd667ab225bfbfa53188a4aa52fd996
MD5 383750c546b7e89645228e42b555a025
BLAKE2b-256 61090548e61ee7be11d60764fcbed4d65f5b8102a72a30d53b7225d6075d821f

See more details on using hashes here.

File details

Details for the file struqture_py-2.1.0-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for struqture_py-2.1.0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e06cb7328ace49ff9daba6c16452a29b4bc3f0abc218ef39315b1e09e9c439d8
MD5 800784b606c791a8ef8101b033fe8577
BLAKE2b-256 30ba67a718438d3d91dfd696562dc48a75b5ee3027acc15a1d633bbfcda04362

See more details on using hashes here.

File details

Details for the file struqture_py-2.1.0-cp39-cp39-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for struqture_py-2.1.0-cp39-cp39-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 88fec889f52cfd19f42e3abd9dc6e0672e10b853e4dc09878366688d1412a6a3
MD5 c2127467b92e8eb4535d6e6d426ac3fd
BLAKE2b-256 9c19d812382d3d0869c31778469248d5f075366facf4a756a81eb58bac7f37a5

See more details on using hashes here.

Supported by

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