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

Uploaded CPython 3.13Windows x86-64

struqture_py-2.3.1-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.1-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.1-cp313-cp313-macosx_11_0_arm64.whl (2.0 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

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

Uploaded CPython 3.13macOS 10.12+ x86-64

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

Uploaded CPython 3.12Windows x86-64

struqture_py-2.3.1-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.1-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.1-cp312-cp312-macosx_11_0_arm64.whl (2.0 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

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

Uploaded CPython 3.11Windows x86-64

struqture_py-2.3.1-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.1-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.1-cp311-cp311-macosx_11_0_arm64.whl (2.0 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

struqture_py-2.3.1-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.1-cp310-cp310-win_amd64.whl (2.3 MB view details)

Uploaded CPython 3.10Windows x86-64

struqture_py-2.3.1-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.1-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.1-cp310-cp310-macosx_11_0_arm64.whl (2.0 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

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

Uploaded CPython 3.9Windows x86-64

struqture_py-2.3.1-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.1-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.1-cp39-cp39-macosx_11_0_arm64.whl (2.0 MB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

struqture_py-2.3.1-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.1.tar.gz.

File metadata

  • Download URL: struqture_py-2.3.1.tar.gz
  • Upload date:
  • Size: 420.6 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.1.tar.gz
Algorithm Hash digest
SHA256 c086c3dd9ca1e4d160c7a57e31fbb97094a1177e5624bc6f73c225fe6e702b66
MD5 242906e957a18eb4de4dddd78a45f80e
BLAKE2b-256 0f00be9a2a879108f83d74884ba58549fb65ed4d4096c89d373b46a37c0bd073

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.3.1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 b6ce8c023353c20562b52ab14380790c37e9b7549a7bfafea74f210b73110b96
MD5 82af5b80d6b310478149cf33ba8feed2
BLAKE2b-256 2747145c22e10e5e5e25301e52a8a5ec75bfd4ab1c2accd5f6009053739e7d95

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.3.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4124bd07e5afa6052c5f96c6885580cd9f7b18c5f774c63f4e01d9f7aaedf337
MD5 6cb84e1beb1d40f29c1a810aaf757ac2
BLAKE2b-256 29439c35646be90fe390d1719aecfc82eddfd07874635a394936b47d64b509e8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.3.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 502c2fa659896343c41e3226226ef9daff0ad5c85ec77f7984310e3b277f0b6f
MD5 eabbdfe184075895ba6c5af6deee217d
BLAKE2b-256 738c42e1572c5dad7279ff9f209fafc51b36fe4399bbace4219aba8476ce6831

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.3.1-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c0ee123fcf38760a545c6d95c62247f14387d0a52392b9bf4b6d658730db82ec
MD5 d0f34911ac9199bacb0aecc984f04986
BLAKE2b-256 399931716856effe08c637faf5bdfbeb6e60e565d21bc263937710670cd99644

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.3.1-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 bb67d2dd78ed3262f9c2a3167691304ab0405bda918b411ecfb98618424c45a1
MD5 5a28872dab3daa6dec69a100e2e42732
BLAKE2b-256 636431f75033171fbdc580dacdd0e90489261af44ae8495a33b9cf933fbed13c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.3.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 20899d62591ce12bf162d44731e7e2343d677bc1bac48021da7e559b4d1361cd
MD5 a04881c293b2c5c932f7e8611bf8922f
BLAKE2b-256 89f0016c18f9e5244bc0823adafa6715f66bcb87941dfb93992f6d5f99b443c5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.3.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 874506591e808d69c0cb9a943e9dc516aaeb844e5707b6fbfca6fd6121e56085
MD5 e9357ba942d99a6c771810f47dfca200
BLAKE2b-256 13e9e3ac8b42ac40e7a9b3da2e7758e3a3e4326629afa84748ca5a861b6e8806

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.3.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 bd98f60d9a0dc65d7f3fbf0c3a54a3efef09b8b4f11dc3121f25f5b7864800b6
MD5 b76dffdb883e5eec04eb0c60f7bf4eb8
BLAKE2b-256 aa9ba14476ab72358c8edc0f957613c10870e81fc40bc8c51a3975650c92e982

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.3.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 e1789a486cb8bc8c0ac17718a79403ecb31dc16fae8ed26acbdfb04878d44529
MD5 d40c6ec44b346038b1887613620a56f9
BLAKE2b-256 f9da2894cb8dea2aff5b353d7c268232816e5cb0ec26dc001d4b1259c4117d43

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.3.1-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 c12b42188b407833ebf7e19666149c711e9b7cca77b88aa4ce9f2e2634a0ada9
MD5 f2df97f4a8feb50e121605d0e7c50296
BLAKE2b-256 9966488d3940751f0b84104869fe24123aae6cac51f0901b3d1d5e5745d415ca

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.3.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 e89f540f49ab691770bf436c7ca72a20d510ff7e68f9601222dcb8fdf7455345
MD5 75227cd296d2ebc8c481de492257ad97
BLAKE2b-256 4c7f5fc3a71144c0767efa251147b146e8e4f65098de9d673bdbf3331401219b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.3.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 65c1dbbac65072e91da0190e8b726d9fb080227e8336bc496ab2c677076bbca9
MD5 9765bd36dde3c6e26de9850a92740f6f
BLAKE2b-256 950333166a6fd49a933344f99a909c062df51d9fd5898b22c9f9979b85683d32

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.3.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 57da1c98c4271c577ca612564d48bc2e78a3398c7a1219e692959cc03b160050
MD5 b1de3b2f0744aa22feb1f0dd6c3f712b
BLAKE2b-256 a69b03467f8f8bd0b134d80e892e7807c9a18cb95920e4df5156467e5996133f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.3.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5ae404fa4f702fac99fe2d3b627a48c7f47eff0c911bd44c5272eccc965f60f9
MD5 6e21562195627894993ea25f72877eea
BLAKE2b-256 6143ef915b738025188a3f2550811cea34e97c8cbb559004d067e30d0939c196

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.3.1-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 102991ba72551a28be6fb7f571940df65f105ebc20d25f2bbbf4ab09d6780951
MD5 da8e77e5d39c966209bbb2dcb38f39ec
BLAKE2b-256 61aa77e41e439b0123fc2f3c2642056ba6fac0cbba8f2f71b8da211a4332ef24

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.3.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 7eb81ef52045185054cedd4b2ae2e2ef867a45a90918df8d497de1847599fb6c
MD5 aa8e70de236a01e66ffbfad01f93786b
BLAKE2b-256 31e3507f270bc1cc6ec82877eef4e32c6288b108932f17ca2e4b7fb9c5fbb97e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.3.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 456bdeca388030557c5dad03cb053ec58f839701a97dd458178b4779e936f991
MD5 3dee948a1a9adc75ef028daadac5d18a
BLAKE2b-256 e601689d130e6905736ec56679adbe26420c26fc884a70a524856222bc6cd6c9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.3.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 dc7f9f331342207708bc7b908b36ad48460cd269cab202ac3a1cc31655d8fc74
MD5 3a1ab5a70708c1978ff6c5bbf570d651
BLAKE2b-256 ea72697828152cd54a8feed56243e916d03cb22950f932d0dc4ba40f9a904821

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.3.1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5e2f7d012da22ec7e63927bc0ab109584da78bf8de17c9de295055647c514825
MD5 89cedc8ec687edac1ae9386786c8de77
BLAKE2b-256 19645f836601097b3f21ec84f214191478c08ebe68e4972c100a906d4242e1fa

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.3.1-cp310-cp310-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 532dab471842d6910c4fbd1ea66a312585a5fcd818eca1bff0061a1e697a9db5
MD5 210df74eae9ce9e512fcf93e4f429065
BLAKE2b-256 1d8bd4065844429752c63d1b65ea0e90f8dc8a47179b4e16f5d6e5bfaf45da2a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: struqture_py-2.3.1-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.1-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 0d23ff3c1aa8d4534803b47be7f5662ade1ddbf4ab97d86b9b50e1d1039cd3d5
MD5 f15b077a17513df95d9f9382da35554c
BLAKE2b-256 1e5bf71f28b8662c2f3a9bc34041d1782ab3e7d45e2200a013eab1ee0cecc0cb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.3.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f7143689a7bc31e13237cf135e78b57e6efd36446d13a638043f2c12f84efe3f
MD5 e6b8518de6ffadc1f630468da47fcad0
BLAKE2b-256 64e4373a6c96454c5eaa224973561ad11a9cc5f8ae4f4019c15f6d51dfcb92ea

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.3.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 6be77ec86049988a667bc4aa361474020bd2cc81bde7aded80da57cdf1cdc755
MD5 5d463b93e5f12e177cbb9ca45758adf1
BLAKE2b-256 946de755d21fb26bda02393766863b262bca4bf89df456b39897a3e9b78e48cf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.3.1-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 cfad334fec91de584dec3fe8a39cfd85fa62f331dccf10ba0b77bb12050672b6
MD5 415e2021281cbca618a5a13e2b5963f7
BLAKE2b-256 b2ddb328018562bff6e99e241b533d832098bf5d9bb0258c67766002b417605e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.3.1-cp39-cp39-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 e59fb395a545fa8465889d199d082e3be7ebafb975743f050c52c1de2fd4d87f
MD5 941a46046b3a73a0ad2ee1164daf5e16
BLAKE2b-256 e5bdf940ee3c5464140dd99d3dcd26affa5b3e14d1c6f9861b1e4a57ca16f54e

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