Skip to main content

Python interface of struqture, the HQS tool for representing operators, Hamiltonians and open systems.

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

Uploaded CPython 3.13Windows x86-64

struqture_py-2.1.0a0-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.1.0a0-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.1.0a0-cp313-cp313-macosx_11_0_arm64.whl (2.0 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

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

Uploaded CPython 3.13macOS 10.12+ x86-64

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

Uploaded CPython 3.12Windows x86-64

struqture_py-2.1.0a0-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.1.0a0-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.1.0a0-cp312-cp312-macosx_11_0_arm64.whl (2.0 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

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

Uploaded CPython 3.12macOS 10.12+ x86-64

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

Uploaded CPython 3.11Windows x86-64

struqture_py-2.1.0a0-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.1.0a0-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.1.0a0-cp311-cp311-macosx_11_0_arm64.whl (2.0 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

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

Uploaded CPython 3.11macOS 10.12+ x86-64

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

Uploaded CPython 3.10Windows x86-64

struqture_py-2.1.0a0-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.1.0a0-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.1.0a0-cp310-cp310-macosx_11_0_arm64.whl (2.0 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

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

Uploaded CPython 3.10macOS 10.12+ x86-64

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

Uploaded CPython 3.9Windows x86-64

struqture_py-2.1.0a0-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.1.0a0-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.1.0a0-cp39-cp39-macosx_11_0_arm64.whl (2.0 MB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

struqture_py-2.1.0a0-cp39-cp39-macosx_10_12_x86_64.whl (2.3 MB view details)

Uploaded CPython 3.9macOS 10.12+ x86-64

File details

Details for the file struqture_py-2.1.0a0.tar.gz.

File metadata

  • Download URL: struqture_py-2.1.0a0.tar.gz
  • Upload date:
  • Size: 405.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.10

File hashes

Hashes for struqture_py-2.1.0a0.tar.gz
Algorithm Hash digest
SHA256 ff0756fc44073838addc84b0ebac54bf0fe7d34c612d9b449e0a98e9198ef0d8
MD5 f334db29f009e3e88c4e8d2c8a8b9c0d
BLAKE2b-256 2e2ac2aba7a66d507e7b660d3f96444d998f1beda018345bbde5e022063ac4f4

See more details on using hashes here.

File details

Details for the file struqture_py-2.1.0a0-cp313-cp313-win_amd64.whl.

File metadata

File hashes

Hashes for struqture_py-2.1.0a0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 93214646a10d73c32588e1e10122c3667d22f2b6970cfbc4842306f6c59ef99d
MD5 b01f53a0aa268861692bfdd90a8327d8
BLAKE2b-256 9d9395c8c73b96f494d915b283fd5d8b97adff367921240e366b90f3b0846f1f

See more details on using hashes here.

File details

Details for the file struqture_py-2.1.0a0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for struqture_py-2.1.0a0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 6337fb930374bf19db62f95428850204b7e84b318f43a7336bac976295c88040
MD5 1f5fb005e20886be67017a65a08fe83d
BLAKE2b-256 ba2c26eafc5777bdc3d6f17ec703f4a606b46688aa13b9d3095be40f2f1eef15

See more details on using hashes here.

File details

Details for the file struqture_py-2.1.0a0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for struqture_py-2.1.0a0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 41027b54bd5fdd95b7225d6a86722993bbc82eedbbdcd6025ab474d0c2dca7a9
MD5 e33269b417cbe5e43333ccb6eebba810
BLAKE2b-256 fafbd561c416e3a04ec0fde78f9e4c0e19b6f6fdb75d4528f7d6a4d13f6b5b17

See more details on using hashes here.

File details

Details for the file struqture_py-2.1.0a0-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for struqture_py-2.1.0a0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3700527c63ddc327922bd5bafd1a7d2557c1e6f090f45d29566e70662fc7ac08
MD5 a033248ac1f2905764bbacc249aa5f84
BLAKE2b-256 1f2279c02404eb789907520d33b7da9ff253551fdbc7704d9e95e7ce055e22eb

See more details on using hashes here.

File details

Details for the file struqture_py-2.1.0a0-cp313-cp313-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for struqture_py-2.1.0a0-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 00bee59701808bf5bbf1878a9e48ea8ad90b5256b48b8f33d0a0f11fb0a814f3
MD5 342cecb246c8953349fd7d07697708b0
BLAKE2b-256 af5918e86ad58eeeb2820145d8498e5d25a84be3d7afaf09782e3a39914e282b

See more details on using hashes here.

File details

Details for the file struqture_py-2.1.0a0-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for struqture_py-2.1.0a0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 9bad26a674127a2a933eee7592e0adfe98d36f214e8e9cfbbbb3f46a1c9dd95d
MD5 6314b480ffe91919ec0935b4b2b539b5
BLAKE2b-256 d31bc1e146739bdf1b1f049e1ec5f7ee79a2dc238286d3e20dea9ddee28c8e17

See more details on using hashes here.

File details

Details for the file struqture_py-2.1.0a0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for struqture_py-2.1.0a0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b6c918406611f4fb2d501c13d4dddaf52397b2bcdb2bffecc94857609a092dfd
MD5 9565b7cc4483f5a7480e17c881ee3a5e
BLAKE2b-256 13e7955705ad862155a1afe358760430587f22331267e3bbb8e9c74016eb4563

See more details on using hashes here.

File details

Details for the file struqture_py-2.1.0a0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for struqture_py-2.1.0a0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 677d59417a74389f350fab4ef9f7a6d544a116dcc4cf3e3cc19853619d9ad093
MD5 edfe6ffb46144f1a84e22467927b056d
BLAKE2b-256 1e37fbc4329714a59a7ce61c2ccc1028fd904a7a4bb49bbde832695194571d93

See more details on using hashes here.

File details

Details for the file struqture_py-2.1.0a0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for struqture_py-2.1.0a0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6f565d31b5e145cd4f4207e2a94175281a2f8e6ce91128058d18c0c2d2d7e912
MD5 21771e2c2e3ffb31ecfae4c5dbf7b463
BLAKE2b-256 2d283916fa848acded6852261843e72e9199f077557fe10008113feb2d5f45a1

See more details on using hashes here.

File details

Details for the file struqture_py-2.1.0a0-cp312-cp312-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for struqture_py-2.1.0a0-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 0928aa08e80ddf208b6b7a9c7203363caa1e841998200b6423dd3c4b8cca6331
MD5 2e8090ab0b65dbe95120a9d5822ae1e9
BLAKE2b-256 9f976949b48ef3f14f2b5127a746b68d266110003fd79b8e8aecadbaad816c5b

See more details on using hashes here.

File details

Details for the file struqture_py-2.1.0a0-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for struqture_py-2.1.0a0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 847978d64e553113f1160bbdf3aba162a563ee17203d04d58e06885d763dc811
MD5 170a81178557de1120e7e0c622d59b03
BLAKE2b-256 97e973f40ff114fe1945a9e53b2750e04da024417a31841f4c00d086eb1576e3

See more details on using hashes here.

File details

Details for the file struqture_py-2.1.0a0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for struqture_py-2.1.0a0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4f3e0abb8d8a85fd34b12d79f5ef6968a60fc44ff1eb97b9f45f9bafe2d11a14
MD5 31b1b9e91d7b630d4723bad0e578c3f3
BLAKE2b-256 10df0a4f71885b1e3faa51bca03c82daf8d834581897516d386bbacccd3ecd66

See more details on using hashes here.

File details

Details for the file struqture_py-2.1.0a0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for struqture_py-2.1.0a0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 7614b40d7d6d645aa24e202b49446852234e55421efb5adc517763a0c1d7c72e
MD5 717527de339257550f70ec50ded366c1
BLAKE2b-256 0ed5021b1d04a62b862cb35cae71ff514b4be1ddd74b47bd190593b7a44188b8

See more details on using hashes here.

File details

Details for the file struqture_py-2.1.0a0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for struqture_py-2.1.0a0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c8edf7de597f0e22118b2d3ed8c0da15ed58893316a2227d383db3d5df0541a6
MD5 5a1583a58a56258e8abb323d69cb8306
BLAKE2b-256 c497fa37782a25a11110966629a7813a4e63de2a31b68a02042efa9e0227cc52

See more details on using hashes here.

File details

Details for the file struqture_py-2.1.0a0-cp311-cp311-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for struqture_py-2.1.0a0-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 ce3bc88a7dcc1b4448e2ad7c7dee25398563dcadcb6ffd7a3696a8476a9693be
MD5 c3a9362a8aaac2007a03aa01e2c281aa
BLAKE2b-256 326fbc6496c17cacedfb6259a61980797075a6c9abb236b2d52a4c6c2df8fdf2

See more details on using hashes here.

File details

Details for the file struqture_py-2.1.0a0-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for struqture_py-2.1.0a0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 e63a9f8a0a0d902f35b88144d4f3ff87933886ca8053dab33c3ae88c4fd8a765
MD5 fe0ebf42645518716d6d164afb93cfb4
BLAKE2b-256 ded47fa5e10b1d2175f1ec45dae8179c6e7e7bd69399c9d00882c1103c1d9895

See more details on using hashes here.

File details

Details for the file struqture_py-2.1.0a0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for struqture_py-2.1.0a0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b2cc0cd26c6f955d15ce80601a944a4acde57eee87686d6ed3b646eca411d3b4
MD5 2e3487bf0b0a6a633940aebe90b7de55
BLAKE2b-256 36c73dfbd753db77eae6016e1bcbe61a71086d2366a5b7b021f6cfd57671c44c

See more details on using hashes here.

File details

Details for the file struqture_py-2.1.0a0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for struqture_py-2.1.0a0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 1e719ad9a6b51966e8a2a0c2eb5cc1752c6f4c39037eb738452aa0dbef261cf0
MD5 836744823b1d6e7972b1bd9e42369451
BLAKE2b-256 57cc112343f57f7ebddb958ca03326584a59efa386ef6a13cf182274517ee8de

See more details on using hashes here.

File details

Details for the file struqture_py-2.1.0a0-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for struqture_py-2.1.0a0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0b53e355c11dd1e600a9b630e92017ef93c9d9d3e646d2565b9e7983b9905c5a
MD5 4ca1566cebad6abfce6c68b1ab23d70d
BLAKE2b-256 55ba8e84173d1a4a16347a1c0f7dbbca39fc09f5351d2765c11d72dad96aa24f

See more details on using hashes here.

File details

Details for the file struqture_py-2.1.0a0-cp310-cp310-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for struqture_py-2.1.0a0-cp310-cp310-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 d1c24b2e1ca809e444bf42fbab92c1e122814362f20a0feca60c685762f3796b
MD5 16dea33e10b66bdc8f178fb145283be5
BLAKE2b-256 a71d4be15186189949852c9c9897b33383c7ac2a2fee40c6ba83efa46ce1a9ea

See more details on using hashes here.

File details

Details for the file struqture_py-2.1.0a0-cp39-cp39-win_amd64.whl.

File metadata

File hashes

Hashes for struqture_py-2.1.0a0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 30601739d4aba768fc7feae082fa674925fdb3ec2411665a23acc81f98da0694
MD5 ad7192264228a5d7ec4c48d84a9756b8
BLAKE2b-256 cc1ede9abe0cef8100a9df0ff58cb887455f5817f3a7bf065082d3a06b811e37

See more details on using hashes here.

File details

Details for the file struqture_py-2.1.0a0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for struqture_py-2.1.0a0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 43785b06586eef10d20315ca3903a8f600a11f3adf66801f197e42e8ddf3c04d
MD5 960cbe5dc86c42e2cf8ba79e1bd2c9d0
BLAKE2b-256 192193d03fad6049412866cfd01a388fecfb6050a1e0de1c4ff444bd4aedb20b

See more details on using hashes here.

File details

Details for the file struqture_py-2.1.0a0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for struqture_py-2.1.0a0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 d8b59f5ea441e4bcafa6212aa95e9a2c0bc32d5b65c80994ff49021732cf53a6
MD5 06967bc02d575d0ab6f7662b40f12dbd
BLAKE2b-256 d7cb32fba52347dc87c07f93b94272b7ad70bea4c420563dc7a95278f6d4e5b0

See more details on using hashes here.

File details

Details for the file struqture_py-2.1.0a0-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for struqture_py-2.1.0a0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 195500a4aaaeac3d4dc19a056194bff00dda8f4830fb6b07926936155f18baed
MD5 4c4388f63957161bd7d7b6c38bc35925
BLAKE2b-256 3bd3f875da1e668db0ec5cea1ea08c2ae121e3666c307c39937cc4b5e028d483

See more details on using hashes here.

File details

Details for the file struqture_py-2.1.0a0-cp39-cp39-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for struqture_py-2.1.0a0-cp39-cp39-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 1745bb7040621abf35ee63c76dacd706a5745e2f3b83eb61a1911915fab45488
MD5 f3b35007371ef088cd6a8924e8cb7cd3
BLAKE2b-256 a01f4979c3b16b97b5d7926dd55c4446001ca64ac87d4057bc14c25d6cc0a7b8

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