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.3.0.tar.gz (417.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.3.0-cp313-cp313-win_amd64.whl (2.3 MB view details)

Uploaded CPython 3.13Windows x86-64

struqture_py-2.3.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.3.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.3.0-cp313-cp313-macosx_11_0_arm64.whl (2.0 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

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

Uploaded CPython 3.12Windows x86-64

struqture_py-2.3.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.3.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.3.0-cp312-cp312-macosx_11_0_arm64.whl (2.0 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

struqture_py-2.3.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.3.0-cp311-cp311-win_amd64.whl (2.3 MB view details)

Uploaded CPython 3.11Windows x86-64

struqture_py-2.3.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.3.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.3.0-cp311-cp311-macosx_11_0_arm64.whl (2.0 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

struqture_py-2.3.0-cp311-cp311-macosx_10_12_x86_64.whl (2.3 MB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

struqture_py-2.3.0-cp310-cp310-win_amd64.whl (2.3 MB view details)

Uploaded CPython 3.10Windows x86-64

struqture_py-2.3.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.3.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.3.0-cp310-cp310-macosx_11_0_arm64.whl (2.0 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

struqture_py-2.3.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.3.0-cp39-cp39-win_amd64.whl (2.3 MB view details)

Uploaded CPython 3.9Windows x86-64

struqture_py-2.3.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.3.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.3.0-cp39-cp39-macosx_11_0_arm64.whl (2.0 MB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

struqture_py-2.3.0-cp39-cp39-macosx_10_12_x86_64.whl (2.2 MB view details)

Uploaded CPython 3.9macOS 10.12+ x86-64

File details

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

File metadata

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

File hashes

Hashes for struqture_py-2.3.0.tar.gz
Algorithm Hash digest
SHA256 e3fc871a53d15e3ff3c3b377810b0f8c90263f0fc48e9df91364e96a55f42a1e
MD5 b5ce3876755caa9e57794dcba349dd73
BLAKE2b-256 aa4681f05f23963a4bf6024e856a2d31986ddeb521d9d75059af1f7fe3c6caf8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.3.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 fb2c0ffff0b59037b700be088ba1935ebfea13c1293954624f0e4023d7ac6e05
MD5 6cdf461a4d70d13db3750763ef3e7ffc
BLAKE2b-256 2e8394547a08569d566a37eb5051b364c974218b60e3f0513e9ea50b1a39b931

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.3.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 129c5f9c30ceb9853717e2a6320067214e007ab416449fcec1d9d536ce567107
MD5 e849804dc4bb3605afb7580297b4d4eb
BLAKE2b-256 09fc993a2c115bb85122bdb8d82b588c7482d2230ed5abe57a6ce7c9ce5319ff

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.3.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 4a680ddea6f2c706291001253714a3fc6361ef3cc189c126a4d706ec61146c97
MD5 1104a9258e6a013aa18fde3c132c9599
BLAKE2b-256 7f78165310ed24dec9eb30e90f13e0f17700bf9612a2a0ac2d0e6f2c12b5c1dc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.3.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 df0271d77e6031ce5307e5c83afbc6c66a59a370e17d52c04c3ae2482c6f66b2
MD5 b9a3378b9abcbb52d036e86a0800ce9a
BLAKE2b-256 5599061c9db87a3b565de093a9a6e43b0dc8fed9b6458a9d99308e7b8c796b0b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.3.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 b6b91cc51cf444cc80c0d122cb9c1cd581c98124b781c84dde46999fae0e1347
MD5 348ed8bd5eff31a8f396d83820e9b366
BLAKE2b-256 de2e09c8de155a41c25faa114d2e8c10ee262273eaf8b70e7b494d10c9ebd131

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 37b51c81a968c4c4b288ebc03f9386693bddbca6086219b2ca066ecac36a15d1
MD5 034698bf9dbfb174fe0ddc66d0f2554c
BLAKE2b-256 e97daf843e83cb012825c12036ddbe6e569adb32094eb5e992b8cd4d413a1304

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.3.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 eebf5629c15109d00600ad2736cfb0933decac0f693b991b338334cf6cdeda37
MD5 86c63086922b7b582fd7d7ca6385719a
BLAKE2b-256 0f02129d7130f70f15c17e18045b7836ff044dabc05022fb2597444c393a658d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.3.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 eebda4b4859714aab673ece433d4badff6b6b0e3eaf2ffa89e669a327a4176b0
MD5 a0566577752826cf621ed73a643b9f91
BLAKE2b-256 2fa674853ec0e7d6820b926671031b019323a27e0b056068ff1b0b3727a53885

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.3.0-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 79403f7e7fc8b4a3b90bafb5d27f609e711d45ba3a1f4d21a18d2a30adf6aa62
MD5 5adff642cd4621f9316ca36d657c7a20
BLAKE2b-256 97ebdd02836230c5a34746c88ed8db56dc65df9c1d2e12b7620f81e9cd0b08d4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.3.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 86e0a73a64e9d8127df2917174bcbc880dce444fa8d0307a06d10f09f5658c07
MD5 6c31f57b26a58c9ba7bd152a70438f8e
BLAKE2b-256 7622aa1b264a6afc68673c023e66a8782cef1d1226a2b8b4a48b1fd25f480ed5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5f7f1c575a0bc1c0cb63619a50b61bbd8b771f3baa7f3be142800ce9ebf482c4
MD5 fe1250a06ea9f7a9cc8325a0054da424
BLAKE2b-256 1e353b6dce10dc4512d57aa2dca8b205ab8266898754348f91a4ce8679ea4287

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.3.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 1e535ee96c6fcfc3408ba55078ec665826e73cfd57336d55a7013d239ff9c889
MD5 3d4595bdffa9ea3179ea3cc2291c3662
BLAKE2b-256 09ffb1e1a0ad8e6f7d276a89bc3ba40018b67c0652c0009303e3c5754c6934c8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.3.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 78e3e2c60dcf9d892c2a55662f0468ec359329aa3e2ed5adbf75e30ba7db10de
MD5 5c7319c9ef5ce4195003d82dc2800bff
BLAKE2b-256 7268368145b38946be8b3fa7688b7d7beba12a20c063619535b77f5cc8b238c4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.3.0-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 9b81b8e90e8259c74e2e96e68b130de848c0818ede7a8d15b3b57d45c8cfd838
MD5 e7574752e191b115323c9b766b4ca291
BLAKE2b-256 4507180ce8c826f7b7602e61b149914f4b190ff83bca93c3790abe8a053593e5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.3.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 86eed0053c934a3d038d9c195d70aa19ba43417e14aff0900c099e3f068887e6
MD5 7b0a1547e5fb475e98bf67f00070a42e
BLAKE2b-256 113d47b4e41184d7d03d127257c294a884a1865e7cce14723037309da9e343a3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5569d89c9d2c3cc22299d6f15c6b3e3aa096b1543b2430ec6c52c86ec42e6721
MD5 3fb0215b881d989804a26c52cea4e3f7
BLAKE2b-256 52acb1d6a863af8e233a08d097ea9c5a9640bf8120679a1e6cbbc5641a30a948

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.3.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 d8fe5624ebc04664e1ef5467041074df2b853b892c3946c3b7faa62d6a98bca1
MD5 f90ab16d9be58197aabaf58b75786957
BLAKE2b-256 dc6b5ca757e58d8ab3043bd8982d26df8819da4181d18acb925f98450445601e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.3.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 67df3bb727265236edd875927c5ff6c04954e3a5332fa3b6d850335e126e0b48
MD5 4ecb6b216a74445614c7a7a56f4d9a2e
BLAKE2b-256 d612a40336e014339355980bdc6235a3eab6c53ba7268f0384f124034a2e7043

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.3.0-cp310-cp310-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 259fcbb496d4d018e35afed733d213f771a15faff73186c18045168fbcf7cb62
MD5 081a9a47cbe232667fb73c2d1d99f18b
BLAKE2b-256 df5efe4a5af24b88804a321489fc7d18c6d0a69ebd93864533ecf1ed634a45f6

See more details on using hashes here.

File details

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

File metadata

  • Download URL: struqture_py-2.3.0-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 2.3 MB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.11

File hashes

Hashes for struqture_py-2.3.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 3318ebbba765f1db73e1746400cc6b877bfeed2bbffe223cb09ccbf409ee0334
MD5 606a49c6c0a861a41fd116abdb56e30c
BLAKE2b-256 30a12b9516436cf52e4c2cc0c033dd34f829ea3b336fd65c9f08534f64b2ee49

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 2802da119682df4d2f923feddb20c3c5237ab3d20710ea30c31caccdc34dc365
MD5 50f4b5a3d50c1b8957d9e232c17c19d4
BLAKE2b-256 4a447d3f07767e3a9dbb318a78bb5767bba03c7d57ab532eb9201721f8207e98

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.3.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 f7c174043d9baebf6b961421207091a4dba9a317a7b1fdd0f62e70f7d33b6e26
MD5 053816944434259af99e6ba951a8a7b6
BLAKE2b-256 d7f8ae186fab8805e185f24e11af523706675a8a39113164451541dcb1bf3af1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.3.0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2a90a2774ae8c696656672da72af7ed511a22ab47e555ea46eda3ffe5a6dcaed
MD5 c549820192369dbf80e53c529471a316
BLAKE2b-256 87788728c0f06c1bd1cec6effe215a1058b5efc95bfc551e25c30a1314cba4a7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.3.0-cp39-cp39-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 eb6a3f2480fa82206dbe7f3e916761d43e9d8e803e077a5533702bd906ae385f
MD5 7e1d25200c3cd774edbbe28a65b6177f
BLAKE2b-256 f0cc91d33a8d110ca3eb7d374fba1bf55fa5a96b19a1214939e29e224bb3c3aa

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