Skip to main content

No project description provided

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

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.6.0.tar.gz (445.5 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.6.0-cp314-cp314-win_amd64.whl (2.4 MB view details)

Uploaded CPython 3.14Windows x86-64

struqture_py-2.6.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.3 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64

struqture_py-2.6.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.1 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ ARM64

struqture_py-2.6.0-cp314-cp314-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (4.3 MB view details)

Uploaded CPython 3.14macOS 10.12+ universal2 (ARM64, x86-64)macOS 10.12+ x86-64macOS 11.0+ ARM64

struqture_py-2.6.0-cp313-cp313-win_amd64.whl (2.4 MB view details)

Uploaded CPython 3.13Windows x86-64

struqture_py-2.6.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.3 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

struqture_py-2.6.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.2 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

struqture_py-2.6.0-cp313-cp313-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (4.3 MB view details)

Uploaded CPython 3.13macOS 10.12+ universal2 (ARM64, x86-64)macOS 10.12+ x86-64macOS 11.0+ ARM64

struqture_py-2.6.0-cp312-cp312-win_amd64.whl (2.4 MB view details)

Uploaded CPython 3.12Windows x86-64

struqture_py-2.6.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.3 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

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

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

struqture_py-2.6.0-cp312-cp312-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (4.3 MB view details)

Uploaded CPython 3.12macOS 10.12+ universal2 (ARM64, x86-64)macOS 10.12+ x86-64macOS 11.0+ ARM64

struqture_py-2.6.0-cp311-cp311-win_amd64.whl (2.4 MB view details)

Uploaded CPython 3.11Windows x86-64

struqture_py-2.6.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.3 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

struqture_py-2.6.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.1 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

struqture_py-2.6.0-cp311-cp311-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (4.2 MB view details)

Uploaded CPython 3.11macOS 10.12+ universal2 (ARM64, x86-64)macOS 10.12+ x86-64macOS 11.0+ ARM64

struqture_py-2.6.0-cp310-cp310-win_amd64.whl (2.4 MB view details)

Uploaded CPython 3.10Windows x86-64

struqture_py-2.6.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.3 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

struqture_py-2.6.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.1 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

struqture_py-2.6.0-cp310-cp310-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (4.2 MB view details)

Uploaded CPython 3.10macOS 10.12+ universal2 (ARM64, x86-64)macOS 10.12+ x86-64macOS 11.0+ ARM64

File details

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

File metadata

  • Download URL: struqture_py-2.6.0.tar.gz
  • Upload date:
  • Size: 445.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.14

File hashes

Hashes for struqture_py-2.6.0.tar.gz
Algorithm Hash digest
SHA256 cccef72548c8eb5d94af7cc51fcda6fd75811230e5383dabf82492ecc1eeeb85
MD5 84fd9e7217c06754c41b908dc41885b1
BLAKE2b-256 7905d5ea1d62e2b03c9d0280df5f065bf8a4322b9e8230dd60680ba14b04b491

See more details on using hashes here.

File details

Details for the file struqture_py-2.6.0-cp314-cp314-win_amd64.whl.

File metadata

File hashes

Hashes for struqture_py-2.6.0-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 818f5d9caf98fa498700448711907c5c2f61f3bbc65898303e58cb77f47417cd
MD5 84a59e7a4dbcf012e7c4a5ff14e5d1fd
BLAKE2b-256 81c47e8c3f9e4ea420076dfaa5f3468bd30e0f0b507557802cf4be07ae4e2268

See more details on using hashes here.

File details

Details for the file struqture_py-2.6.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for struqture_py-2.6.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 32a10ebb5f007426a8e152559ee5dc5fbb55134c794cef45c31ce744603e913e
MD5 1c158d618cbf9ac13f08cd86d2e7c487
BLAKE2b-256 a2bb87061f8d81dfa91d1c231ffb6d775dea95151884a47e49ee92a170406c9d

See more details on using hashes here.

File details

Details for the file struqture_py-2.6.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for struqture_py-2.6.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 ee8a49e519366b4c56072a8d0bb0c58b1f34dc0adb0a2e71b5084acb8659c244
MD5 23a275c3b90e0a4e63eb75e7c39c90ec
BLAKE2b-256 c662eead3c182d30ebbe504bee9dd98bee02766477327dc8f8ee693f16f3925e

See more details on using hashes here.

File details

Details for the file struqture_py-2.6.0-cp314-cp314-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl.

File metadata

File hashes

Hashes for struqture_py-2.6.0-cp314-cp314-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 45e5f7e2f4a6c11f94749e1b44ea72c1da003766a4f8adfd0d394bd7f6a2d22e
MD5 ac9c8a2874a4c364a3c64bbdddd021a1
BLAKE2b-256 409b5bede74c0f25a4f613883330cafa7f91cb5938c23032b96369f5a503ba6a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.6.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 31f497bb80adf4879ec3e2bb1d61fdc43cc807b5e601b22173d42762fdbb79a1
MD5 5d86710c79bcf91f76c7d361326fac2f
BLAKE2b-256 3bf2110e3114ba9e2c55e0ff55331aea2036e7d61643afbbbdde62d5a66d65a4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.6.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ee7c23a62580083ffe6d510ad92379436c37931fd34ec65e89c72a003077e473
MD5 9de182a3e755c715e412e7d347ccf07b
BLAKE2b-256 69683ba3ff3e673f7cd0c61d66b2cc80c4271c74df20d3a929d30d132e610bf2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.6.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 b534e600fa0a9cdcb80e9df2c416e8e385eb0425b3dc6cd1ca090221168272f4
MD5 ca061e551f4b1c9bbfc3d8fc53057b41
BLAKE2b-256 005fc069a0ce8c8d16c630d450470a1a315d263075967fe506bd0a6463c4a8bf

See more details on using hashes here.

File details

Details for the file struqture_py-2.6.0-cp313-cp313-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl.

File metadata

File hashes

Hashes for struqture_py-2.6.0-cp313-cp313-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 985ed62895fa5e0ecbfc16d672ce32ff8e3b7932e71de0b638dd7e2d640b74a4
MD5 da25b46c066802fbf6b2a0ce0cb6255d
BLAKE2b-256 77dfb8958b35b756a498f519f6854558acfc6a7614f998703a94081d77a1582b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.6.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 32817f847feb9616542c2c947554bb4fbf6647350c2ab291e5d59e0283669c95
MD5 c7dd45c7ea37e42624ace258b6eb888b
BLAKE2b-256 aefaa62fb2324e7c95a5ad4ca74643f293fb0e06f58c278bd13cd311381ed214

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.6.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f5d0e28dd2fe0e4dbb9018a0f302354b58551c7090a9ad4a94dfd5f22844d107
MD5 f25418f7a544a78898a9938db1719d9d
BLAKE2b-256 a24ad41268154086b4f4a9ac7dca86e6a689e1b32bae62003a95587fe4d9bf2e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.6.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 1b24ce3b348450dab4e4f6a9e564d5dffa9eb0fe56703e59a330a79768b4e1b6
MD5 941df46108d0fa588847ddeebecb82fd
BLAKE2b-256 43db7537b920e2ab8e858418fe6a9018b4527d53faa025a63e59906d63a2ba0d

See more details on using hashes here.

File details

Details for the file struqture_py-2.6.0-cp312-cp312-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl.

File metadata

File hashes

Hashes for struqture_py-2.6.0-cp312-cp312-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 8a120dedb692e2a91371f4fa41ba8ad47794327a0b2a7a9ef87416d63cc2ee13
MD5 312a37d4b2b6ee54c255e872f5ecad3e
BLAKE2b-256 20a917dcaa3dbcec9e82a8875dd108c091c5c04c1f27a4e5acd9fc9bfa3e28ca

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.6.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 68904ba957a8c34415e7ce2d424962cbf53cd16ec0f040f91e7518d7b674f12c
MD5 4ccff654e38a60d2e2689b82ea7c9561
BLAKE2b-256 20d422c3a125cb063ea409b26a2a63f868cd9ad829a2dc5f2724c6afa9779519

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.6.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d0075415654033c1cf99729c4e56fceba5d13bebf5d4282321440c649d5f0f6d
MD5 b4cad1c7ed0a3f481d1a6dbaaf219b6b
BLAKE2b-256 3a54041df23714e11584fe62911e33a67fabcb5dd25e50901c5dabc21530be21

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.6.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 d59e6a04706e32c304f7616abee6949903673f3f736167ce88c4b948993e5617
MD5 eecd5c177755cea38d894bd04b21e227
BLAKE2b-256 000ce18466aee28eb34383aa6772b441eb78fe47f0eb8747f7ae63490c1151ee

See more details on using hashes here.

File details

Details for the file struqture_py-2.6.0-cp311-cp311-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl.

File metadata

File hashes

Hashes for struqture_py-2.6.0-cp311-cp311-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 794b10f21c48933827a4ad7f50b97c1f910442c31dcce0dd0ec4cfda05bd9618
MD5 14e32e7963c2fdb03fc551120a7537c6
BLAKE2b-256 5e9772f0e82a255fe4088872cf89bde711052edfd856ae6f5e4df74f8ba28038

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.6.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 9f64caca7a6fe6990bca1e4971966e7d5671d0711227864b24ed47a1300fbe11
MD5 281df83c0601692af58a8c7134fdc56f
BLAKE2b-256 a1475efc981f9b7d1d862eabcd39e31af8a372f6ba36742ed07265d3e8ecabba

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.6.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 eaa9cd44c72059bdf8029f0e38ffa6197f52d4712655636f306faf2ed5b1530f
MD5 75893c72ffe0201508a679679867c9cd
BLAKE2b-256 655c251a5acbf23353e44ceed9d4e3d9d819309081d33a31d7260c902000a5b6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.6.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 5e90d024d97a64ace1dbff9d16aa4ff22f05239e72614dc844a0c42b1331c931
MD5 a7f88d4874d461932eb93b7d3adde190
BLAKE2b-256 6952e9ed022f772094eac36ea7ed5d00f44c634f2b80ffdfbfd9a9d4d45ccf28

See more details on using hashes here.

File details

Details for the file struqture_py-2.6.0-cp310-cp310-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl.

File metadata

File hashes

Hashes for struqture_py-2.6.0-cp310-cp310-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 d3eb99a8ded6e578ed282805746c0c0e0bccebf3bd71064da4ae20b3a5075ae8
MD5 66bd25d2de989d041629f28426a4e3a9
BLAKE2b-256 a10098a01d5d99f2cc01be06ac29292c9cdc2243e31f77e11f2f472903ca16fa

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