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.2.4.tar.gz (414.9 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.2.4-cp313-cp313-win_amd64.whl (2.2 MB view details)

Uploaded CPython 3.13Windows x86-64

struqture_py-2.2.4-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.2.4-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.2.4-cp313-cp313-macosx_11_0_arm64.whl (1.9 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

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

Uploaded CPython 3.13macOS 10.12+ x86-64

struqture_py-2.2.4-cp312-cp312-win_amd64.whl (2.2 MB view details)

Uploaded CPython 3.12Windows x86-64

struqture_py-2.2.4-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.2.4-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.2.4-cp312-cp312-macosx_11_0_arm64.whl (1.9 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

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

Uploaded CPython 3.12macOS 10.12+ x86-64

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

Uploaded CPython 3.11Windows x86-64

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

Uploaded CPython 3.11macOS 11.0+ ARM64

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

Uploaded CPython 3.11macOS 10.12+ x86-64

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

Uploaded CPython 3.10Windows x86-64

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

Uploaded CPython 3.10macOS 11.0+ ARM64

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

Uploaded CPython 3.10macOS 10.12+ x86-64

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

Uploaded CPython 3.9Windows x86-64

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

Uploaded CPython 3.9macOS 11.0+ ARM64

struqture_py-2.2.4-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.2.4.tar.gz.

File metadata

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

File hashes

Hashes for struqture_py-2.2.4.tar.gz
Algorithm Hash digest
SHA256 f60ad48f0d05ee3c0f9ad828ae4ec27823ed3c32a37f7f6b14e8762d77273587
MD5 2345a827ef20fa6e856bb297eb553279
BLAKE2b-256 bf7fcc94c817a71ea289133446326a85072da2dc53494c9e613446ce9be473ef

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.2.4-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 8b773c14769b50a82ce178a4999664c8ffe908cd43ec7d8b0fb3e7dc30538bb9
MD5 8a8ae7e0e2752db4ad3a37351d9657ca
BLAKE2b-256 dcfa5a662284449fdbb8b7992f057742bd32bd678ad2c66d3ec94cfbf833c239

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.2.4-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b668f73d38ab2619a80f0ac52b8854fd4f5c07aaa6536a773fd483f0c4aeffaa
MD5 268bf72424e6c728e9293bc9c267d339
BLAKE2b-256 805637e334a1e65ab31cd74b57ccc0733b038da6a8d3b70c361038caae49d439

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.2.4-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 243e32303f393c5cbd98b82a5ff0e576574061353da6c65019c064519d026d99
MD5 027148021a43b1fa13f816ad5056a69a
BLAKE2b-256 71e15ad338d2f393c02c9fb959ae5ca59cbeec03ae9c68664b6ed36a980f3fee

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.2.4-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 941973b14cafa39a9d81256d8e7e9e988f10500fe15eb6e3455c1044bf50e8b3
MD5 42d853eaa6d8ed39b415058157f87673
BLAKE2b-256 baf303ff93566d09b4e8894069add9574f4c4ba2c6164df3446be13fadff994b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.2.4-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 89e6a920e3e74a88c58e4064a48b5bb9b2d3d597ac2a53a86301dadec67d9799
MD5 6136774b4b1789eb3f7a05d450154846
BLAKE2b-256 4811a8637d682d3d88f3cb0bfba203435560ad96c470fad491f0bb8f70a3d956

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.2.4-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 417c51a4754f582b1fcc7b98d7a0b7112c5a83727498550216bc4b9dfb61cf00
MD5 761d1b1f95415ab917c2d9103f1d5783
BLAKE2b-256 641aead0e461f9fb2a79d3a1b359c1412a621a0f32634e8a1075f186f0bb87d1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.2.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 983f9763b412ba6ca03d74108a472316d62534a0d399c610df264b0094945b91
MD5 b0499b228a50073dfdf821cdfdeae3a7
BLAKE2b-256 89e977917fa4a3a3e96212a09bd540f7ea6023871ac32781c0c43e434b6bd267

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.2.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 7f6a43aeafbc506700caaa7c9fd04d9117c324b2230c654c94a6e5c8ac33d9f0
MD5 e53931468f6a5ee9b399f92a6f0fd68e
BLAKE2b-256 5a93f90e7bca24537e8297ea57e2b84f19d4fedbd0acc56256f808c68ef0a546

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.2.4-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1b98ed9d1d6ba949b88dce556221bf12e933ed63beacd789136bf18a584677d1
MD5 400dd4e358e5d9f7e3788f59258eb67c
BLAKE2b-256 d381896fd723cc450c456895ccaea14ba06ab25d307017dacb953b7b71da7689

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.2.4-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 a7fdd6a256ab3de8c8de9711888821e3913632c3be1a111e00e15eef9644dfe0
MD5 cde18f03e59f5419696939b1a9d7f294
BLAKE2b-256 db1de72ae107d67db010013f98267c36a31b21273e4b1cf8e05fa17239703fe9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.2.4-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 39654249dcd82b9d9f37c40746ae5ab44be5fff6db8a29d4cc48aaffc4206880
MD5 86f2d85443865fbacc258d2529ea0057
BLAKE2b-256 9efc931c89a7c31bddfc547062dd8118d5250e33d42515a03c98f9ad560ce6a9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.2.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e4e786b0cd53b6af723fa682669d9db9efe2cfd0f45f0ec41d0ee13df86f076f
MD5 cdc22600354b654378465697bdf8eaa4
BLAKE2b-256 431c1949bccfefe59803f22be5b1ec4983956e14b1af0415b790a4fc3c7f9d80

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.2.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 615c3b141ba4a6ce4ad4f6735675ac9fecbafa1ac77fbabdf0bd7a0b08d78fd1
MD5 7dee7428e778efa84833e05cda4cad93
BLAKE2b-256 c6c4370146a662791e5b82f1bdc355249f3573cad5f85d722adbb08ecc22dad0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.2.4-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b2193a69bd6888994d239cfd5695f9d7c0028ba52c52dc21ea2d60f23ee61854
MD5 932e43115db80c03c4be1578876c6a00
BLAKE2b-256 ea0a49f2b752c3fc3d769ae2cee355ad5d556b18bc41ecac0363f9e00a75828a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.2.4-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 b8a93c60ce3bb2d8f5d4f8c22275be4b4d50531e5ed86281c44ab4102da94b25
MD5 d121070327e7d0ef34cca8e170bcf12d
BLAKE2b-256 4ef8fde42be2c8a2655dee104b39367bcc3b9b1df9607498ed5a5bc51e6d0c19

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.2.4-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 454b13eeb5f7dd970d94850908e8df6d308b90fa79604b5d93702f9792ce91b4
MD5 1bd4c485ccbfcdba5637eb07c745a4b0
BLAKE2b-256 21c4103ca35f69fdbb44c2aca345d99dc1aa4c4819dfe259fc28f1d77ae5bd7f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.2.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 2c45d76f1905c82929bc2ea42ecdfc3cacbe41f257ec8ef70aca3cae6ad97d62
MD5 104a87ae90d8d0482a967b54991bc901
BLAKE2b-256 cc09a21b214024dd7eab7e8b5d90925c4e86da4bc34f91fdf6489c499e183a58

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.2.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 4d229afe760cdb4ff9de3afd4199dff5de1aea892b88c6b89efe755792c3e715
MD5 905535b0b55ed0d1a2c9433b602e1f2e
BLAKE2b-256 1bc19a261f7fd688e8183eade64c6db7534c1eb8be5f56f050386c3b0226e0c8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.2.4-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5343df7de34c4b9974a893cac9b1c806c9405f74b87cd37f009b37c3f882515f
MD5 b6c3da1c3b91fa4fa3e7e2a8956639b6
BLAKE2b-256 70fec595caf5523758f13f13e2388e790f27f3ffd8ed6d530acdeb10a12b3487

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.2.4-cp310-cp310-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 870e0d0e202734083c030cea5ef08c965390ea10c0a7a83486e185eee351ab4a
MD5 131858573c8d2d422d1198cade45c4b4
BLAKE2b-256 e1c66f0eaf0adff3f02c1e07a05ad06cf03e40e670f08731a5478300f407a31a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: struqture_py-2.2.4-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.11

File hashes

Hashes for struqture_py-2.2.4-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 69ba59822039cd623cbcbe39c8bc43e229fa2244b8521bc1bd4cd5baa585baf6
MD5 362137f73d5bcc30d871b1be21ef8169
BLAKE2b-256 0496cf9a90d0340ccd037bde253cf28060522b419bcfe9f25d1f2de7781df070

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.2.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7c9111ce2466dd7989783673199c771afdf733e71a3b1aa0cca484ad64f7ceee
MD5 916923cd7188952d89c6fbbe2d2607b5
BLAKE2b-256 da8e9f76e4c36ba5a52756a9ba24e2287f253ff5ca9c78e90faaadce9a776554

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.2.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 e560f5fd3251b52ee2f0e20b5b3c7751ae2463399d55a62ff023da126eec3e59
MD5 321116ad4e643e62e6aca287050dac9c
BLAKE2b-256 888572654c58c4c8a959d6b58141460c192e1028d03962a115bbc47bf6981373

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.2.4-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 538dc305405dfcf8ebc3b862cf9b79a07f910bc3bbddb2953dde0cc06b3ecd20
MD5 53e40c0a2c4ce9d1af34aedb85733aa5
BLAKE2b-256 29513b8c483a0fd09466820d5803eebbc0e4858c6eb213c76e15219f769c40ee

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.2.4-cp39-cp39-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 572eed534c7d35b4e77d93a9945c161acf43f57621e1d426a74c7446f101d618
MD5 e5036e503d4bf940cee820ccaa8cb064
BLAKE2b-256 24544b81de1e6e37470cb04106b9df0ed201ff3951816a4dd8f9a8d62fb481ce

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