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.2.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.2-cp313-cp313-win_amd64.whl (2.3 MB view details)

Uploaded CPython 3.13Windows x86-64

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

Uploaded CPython 3.13macOS 11.0+ ARM64

struqture_py-2.3.2-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.2-cp312-cp312-win_amd64.whl (2.3 MB view details)

Uploaded CPython 3.12Windows x86-64

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

Uploaded CPython 3.12macOS 11.0+ ARM64

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

Uploaded CPython 3.11Windows x86-64

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

Uploaded CPython 3.11macOS 11.0+ ARM64

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

Uploaded CPython 3.10Windows x86-64

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

Uploaded CPython 3.10macOS 11.0+ ARM64

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

Uploaded CPython 3.9Windows x86-64

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

Uploaded CPython 3.9macOS 11.0+ ARM64

struqture_py-2.3.2-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.2.tar.gz.

File metadata

  • Download URL: struqture_py-2.3.2.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.2.tar.gz
Algorithm Hash digest
SHA256 a82c44ff06ee8f384f6363dde1150c582fcfefeaef1d57c3bfffc08dbe4605c5
MD5 b9d264aa844c8b15df6cd3b5b664064c
BLAKE2b-256 a0cc5a1729f8d0964df5ee62a6a82e1a19d65a95e948c02e192b6324b85714e7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.3.2-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 b65a2193817e15e10bf93ad92cd119b5f0750379c7c4d83188fc302523465ab5
MD5 06aca84973b9445a2494a5795e53c858
BLAKE2b-256 a2924cc349428378f29b2c6946de4ccc2bbdebc96c93265d47b6211ca29ee84c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.3.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c469d4774e288abb3ccb8ab5ff4826240692aecd3fcbc6fb07f0210ab6dbf6f5
MD5 48cf448a8d8a2dd942985ea2444e607b
BLAKE2b-256 f858363503662088bad2ae1b4798f8162961d98d96b2db66a9ccbdd7a41adc2d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.3.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 dd7a31a2aad93aafe286bbda53f8a5438569300672b58d92cd51162b0b590e0a
MD5 dd155b6597ecd6472db8b159ecb7efcd
BLAKE2b-256 cdfdae3c4772adf81b33cf9d457e5b0cbaa2884db445490801a880c979845448

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.3.2-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a60b8668329c9e50e8b9b33ed5c580d20b95071b371a2b37c8c54f43f6751688
MD5 2fe1e068e5d41a9a5faf3de84f790a43
BLAKE2b-256 20a81bfa6f0809aa6177be63b8eee8609ba678767e45f3d5a31be1b04542d955

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.3.2-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 3fbfb01fbec34bf45bc5c3363510e3d5da133d0b9ea9d63b23a230d375e85851
MD5 f312a5e5d7aa7241ad660beca60a44c7
BLAKE2b-256 fca2e049d72335301ab991d7aa002808913e3e8724fe8de69adcf7aeec5b622b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.3.2-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 51ee8980e2ccbf33c86ad131bb2810187e4687957aa1f9c348bba2843dfd1bf7
MD5 dae7d01957ad662825fdc5dc67566ad3
BLAKE2b-256 7cac3f433027c4e5b998f12d8bfdf3fdd85802ed6c092a973cfa08b6e8edc893

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.3.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 48c96e66d85a7c4b3fb2060e6386bf0fc4ed80f862237d26d61b4add7cd09931
MD5 fe8e23d97d7c338f878cdd5c0c15711c
BLAKE2b-256 819baae12464acf1b48e5789e96177578cfe684a157790c3697747cc6304ad61

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.3.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 ce2bade434046d121249e8a5ca7023b25e2f5d95a47f448d0af6c429a7c2cb8c
MD5 1e96253a8457b50b2d13355db00a6a76
BLAKE2b-256 9e3d83cb3f81c63678fc422b0d56040791e35bda8b4724ebfd1f075351e66835

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.3.2-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 66e3fbe702cb79838a2c6cf6ecbdabfa3ff93185efdb5c50effc6df37a67eea7
MD5 825972806ab17e781b92d96202d4f0e1
BLAKE2b-256 f0eca1903ee8a30c1a2e622fb1e61563178cb4b082761ae4a592e7c982763ae5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.3.2-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 2913616a64a871d4558361ac43fcdb0e414ba444e80f8e0e1d99a929320ebc16
MD5 7ebf28314047aae539a63af61e73522c
BLAKE2b-256 ac255ecacfe2702e82672ea5fa54b10650ccc675a92dd58fca322466896d9290

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.3.2-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 29e2a459535ec0a8103fbc8fa77209d5a09502e2deed59a5d561d9ac47952ca1
MD5 7d8068a46097c43be91a32094ad7f187
BLAKE2b-256 42dd81dd7a9b9d0c7905ffa6ae405996454e4c8f981ba40a2d2256a48a6fb3c2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0d1686a6d986f76fe615f0bf625fccda7e335bebeda4f860adb238fc16ad2b49
MD5 ba290c78f0a1eed64854ed6c4cb143bb
BLAKE2b-256 a4f6a8eb521d9baa8410558f40ed3bccec4c47fa8cdd0650a9fcfcd8b1593b8c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.3.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 30eb1d6458c972039744683b5c0c2e5872f9a8bfb922d9a2334b25fc7d5d7fac
MD5 db361e7257b2061dfcd5248558966295
BLAKE2b-256 3d40ff13b8736c7cf4e4ce83d9b15dd18b119513ec799edab5e7183ffc999daa

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.3.2-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 df243de888327c4ae99b53056f715cc4055a5f501d3b95ff1f68c29d4215e9da
MD5 84a5c9cd2c8147b52f0b2e9fac55f084
BLAKE2b-256 f367b3babca8f9e778b75f4f5bffb09bc5b185235e94fb3ee209848e3e97023f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.3.2-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 c3a4412efb55f464895c8742e2b88e5e484aea872a022bd2803102b19e139859
MD5 e31392d3fc9385daf7f781e929e329c3
BLAKE2b-256 f74177cb41a11691bb26ab25a7129fee2be76e6f72324d011711fbe9ae554e37

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.3.2-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 9e3dd8641f7a89699d48d8f482a130bb163aa18516b88642867c001043f1b516
MD5 fcc324877a34ca6624d3b7fc10872cea
BLAKE2b-256 dcb429cbe6e82c54c6fe2fde3204f8a59a1e3577fb507d5a2fa48eaaee9fed2a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.3.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0ad098e0c95ae3a01ecec6cd06e183a00a6d438826e9b130658f9553ed7fcd8e
MD5 36bd6fe0f2edb851f01db03146c03fec
BLAKE2b-256 9fdc8e71d90cb1a8cca51487760cfd723e0dd97b5b3b09c3ebec21bb25cfab32

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.3.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 b5383d43d1f335ec19c502012be10f50918d805a2834ece11a31610d7c8bb6c0
MD5 c8a4277a76c8f3ef74504913377909ca
BLAKE2b-256 0cac1983f23fe76849e4bc3e4b29782e9dbdcd89f47b04045391e96830f16447

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.3.2-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 bb377994b2d41f8af34fcea6ce275383074bac29038bd9f3cabba75071040090
MD5 1cb2260b215105bf779f3e4872b74e84
BLAKE2b-256 182d965139095dc02096258c4d1182321660328bcaa69f5d1e4aba6834f53819

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.3.2-cp310-cp310-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 05f861baf9421347f73acf01fe0ec761dd9328797ba7b6b48e486fb054a618c9
MD5 1bd4ba6db8f4998ce80e91e709468b99
BLAKE2b-256 ceda6fe7c23405238541cc83fabed7953494d390826943ad4cbc4617cf167c26

See more details on using hashes here.

File details

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

File metadata

  • Download URL: struqture_py-2.3.2-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.2-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 db40f04f26e525ceb44e59659f85aa14dd4f2ad6b97ed1d879cb93b5c6820287
MD5 fe95854216ed363f2573bcfb7a1465e3
BLAKE2b-256 35eca8240de1cc1f7af535cc104b070058d1651af58609f8c6de18894c610e98

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.3.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e4ca35a69ebd4bf482b3beff5e86e61f698793ccc40ac3dca08c3e02374eb1d7
MD5 0e385b4367fb3012c87e894f4956769c
BLAKE2b-256 80b333f71427d25987c7b16ff7a27c88068b061f8d499b5bbeb4c533f988535e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.3.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 4c42b8d934c5e938f584bb332dd40c6ad19b66d1365b7950a2794a6339d1f240
MD5 be8f885a2c15aecd7573f8fdbfc0414e
BLAKE2b-256 42db6f1928f66869ab7e4124cc4f0046bd59e497ec51c149df1cbcf68bf80995

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.3.2-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f2f88d5697ae4e0419b5830439ffa4efee74e3f96c7180d0588a5ba1e7753b3b
MD5 c98a8d69e8ebe29086fb0daea9e0bb35
BLAKE2b-256 db5e643e06438aaa5c8cba8cb18f2309569c2fcc8a88b5903129254d8d543082

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.3.2-cp39-cp39-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 0c80f3d0978e7e3887abd03c2ad778151134b23f69659402bbe31af8f87e9c79
MD5 c28c8b7c13bccb3c5ac10d01d2ef16d7
BLAKE2b-256 b015896937d2133b518f313e8f02bf3417ae8ec1df4a191aab68f96314e94448

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