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

This version

2.1.1

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

Uploaded CPython 3.13Windows x86-64

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

Uploaded CPython 3.13macOS 11.0+ ARM64

struqture_py-2.1.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.1.1-cp312-cp312-win_amd64.whl (2.2 MB view details)

Uploaded CPython 3.12Windows x86-64

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

Uploaded CPython 3.12macOS 11.0+ ARM64

struqture_py-2.1.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.1.1-cp311-cp311-win_amd64.whl (2.2 MB view details)

Uploaded CPython 3.11Windows x86-64

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

Uploaded CPython 3.11macOS 11.0+ ARM64

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

Uploaded CPython 3.10Windows x86-64

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

Uploaded CPython 3.10macOS 11.0+ ARM64

struqture_py-2.1.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.1.1-cp39-cp39-win_amd64.whl (2.2 MB view details)

Uploaded CPython 3.9Windows x86-64

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

Uploaded CPython 3.9macOS 11.0+ ARM64

struqture_py-2.1.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.1.1.tar.gz.

File metadata

  • Download URL: struqture_py-2.1.1.tar.gz
  • Upload date:
  • Size: 410.4 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.1.1.tar.gz
Algorithm Hash digest
SHA256 64b7082fce490c1460acb053cd8c24d6865fe5aa516face6a07272f58498b595
MD5 88d43e34e568ad608051ea4c00996383
BLAKE2b-256 8e661d065589e0ce52b77ce68c0118dfb52de944fcdaaee36d817d0555df49c0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.1.1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 2162be486288e0509470b5036a24ac77daf6da62baf519c2894f804c8ac9096e
MD5 06c5bfe3f12b00a798e9c6e1c1f7ed6f
BLAKE2b-256 f0d49dc8bf5bf1eafb4b78ba39022596c8ffca83eeba2d38093c94c9ac915176

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.1.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ad2a538e7abdd033f74730fff1972abdcb2399eb0bfa85f18f2ada7830437f11
MD5 286788b148e4c0f1abdb09577dace2fb
BLAKE2b-256 d2a3964c28a7e74a2949b6eeff499c76d513f4789377d05448eccb5ab52f189f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.1.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 854546702f5bc12b4708a03fde52fd9acf396ee352289f11fcae00f962c3a23f
MD5 a695776616103da83d3f4bbe337dcac9
BLAKE2b-256 c8c65bcaf9941c1d3a53ef0de146c9d5db817a78e83a80e6f10985c560574966

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.1.1-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 2ac4014969b496c6ed1e522c5e3017e409c0db2d0a454a9b5b0901d2e3910c6f
MD5 07ba6690343a989062a77261780b3fe4
BLAKE2b-256 ceaba40a84d1076d4c163f9a1bea0a791a2705ca8b6b40307f80397e83d0f140

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.1.1-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 28d95200ea2f55746c36b4eafd1cb7b91005167fb21cbb10ca1320ce27064810
MD5 16d1bb7bcb5f9f668e5c769ea41c79cc
BLAKE2b-256 9d0d7c259294369ef48c82ffc91688c9eb83673e687b26f09f1c4d3ad8804f22

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.1.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 e964a1be35899f2259b43fd8b0131322b0cc23e703e6c28fa82ba9a904e0be7d
MD5 6ccc6d4d255c942aba7228dece229c28
BLAKE2b-256 c5b3896fbb50ffb3e0f218d0e0836a991df4f823393898dab9b0486f48ad76be

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.1.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 832d05c5ab4c9a8d6c2ac4af36abedd608b2baf94701df1664696d225e629785
MD5 125410728b6c28fbf7731c3fa057621d
BLAKE2b-256 c39d9013d902b535070740069b596ba232ca4a52fdec6aa80f1a77010e9f919d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.1.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 e13ec124f9a32af8babc1be96e88287b7cc9c159c656c823b9b1898d71e5f338
MD5 22cdf46c5edd053a201d8ec0c167b544
BLAKE2b-256 16b66a6116927d6b41c464776774b2885ba27d33462b4f6f12d6c5f066926fa0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.1.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5600bb703ff78d5fb48135b9300f55a13f878b57b463ecfe20c68af5e59a7da2
MD5 e96729cec3f1ee9d7786df9669698002
BLAKE2b-256 0f75b1a7b1250dc2d560c89ac24f8245dbf5a2efaec1a296b7abcaea59287b09

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.1.1-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 6c521152667d18594a3a24b5efdbd6d4080a16fa06565787b55db6888deb63f9
MD5 063c572703398d5b3d295559e511dd49
BLAKE2b-256 d699ce444a20899e870888f535dd1375befe3bfe885774b70458bb75fe75afec

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.1.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 3341dbe1630f40d0058dca9a7721fd2ecb5bf3d4d26a4f9bac93b11c07bf9a3c
MD5 2c11ed31299e7bcf731f5cff6293f0e6
BLAKE2b-256 ff21a75a3b0cb9764073352325799a416d7cc2905f1a16c24d7483f12550a82f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.1.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 3e5bb6f68bc7d295ce6fcdfa45a5cfd875a2401df7c61d5dd187635b334a77af
MD5 c46a8e1aae87337d3cabe70b47726c77
BLAKE2b-256 8dd57ecb0fd8f6613b735a94a39770b4426fad75b679dc9e06eb2e5280ccd17e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.1.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 f479e84ab7a4c671b716b32316757f23e142110d22e5b7f39e9bb7a738252680
MD5 61471175c2e45a8948ac4480244c00aa
BLAKE2b-256 c9d89636b513d7b69f3f02b9d72a53bf86f1ea2c5b97c6f32d680d94e7dcbe27

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.1.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 13015affc69857c57a1420b17552c7534036a2107853fd4797cf5b43f0813496
MD5 26a5fe55f023b127d8b6434fec960e13
BLAKE2b-256 3c4dbad45e83eb203505a62505003d9cd3032668d133527954c8c7567c70a955

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.1.1-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 87ae3a17a9f31205a24bf4ca325a6c0e1ebc8c2961dbc9e918f8d8f83245c8d9
MD5 d89fe09d40db3b0471be5544a734f624
BLAKE2b-256 e3efe59ea4ed68f84b822eb2ae047d36870e8cb9ff9754f01243734a3f66815c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.1.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 7d184b46e1b42536eb4f77d94ed16179d960ac685c9d7ae3a99fa9c0ca6692c0
MD5 b7937ed28e3dd85743090ab3e0ea1d5b
BLAKE2b-256 3ae608859a020b0a1c77da13fff961eb7edeccc2343cbe1f274c47f464c5b543

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5c2e6744bc6edc2c763d623d66091a6100052410173b61a015be9602916c4141
MD5 7b7a1ccd0e00d46dc188f122541c8870
BLAKE2b-256 d85182d733ec20b2def252049511240bf662ec688ab987a30c6557f073248f12

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.1.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 d913ca7ee3616dcefaf42a35ec191e24b1788f3fd3ead395cd5f1e970b80c72c
MD5 72488a6fbbdd700c226b9fca29a05eac
BLAKE2b-256 4b6d2a75bf725b59567c57106da68a0ccfbb030bb27bd661472149d9695b2830

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.1.1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5a38132189aaf6c6ef05a8153423e6d0aa1fdf09d8528a6bfbab6f17f9b4d4b5
MD5 317e9cfc5bc77a5a2a89a7677cfd3847
BLAKE2b-256 c27e128e6644e5be09a5c2d2f1e148a04789ca35575d919adca5de3865058b7c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.1.1-cp310-cp310-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 4dfe2c7604a9ee8753cc090cac967e836d1ea292d7795e16568a8948b575d02e
MD5 1d83e888ac2ae2a4df8885af4ba5ce9b
BLAKE2b-256 126c4f6b4b51aea0801eb7dfd05bb33a6d633d76c3b5f180a7ef0f23b50f47b1

See more details on using hashes here.

File details

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

File metadata

  • Download URL: struqture_py-2.1.1-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.1.1-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 57da483e0c75c993d6a769065ad5cfaa030ba51dc5b82ead7ad5fbd1022b41dd
MD5 009e86cda183e676f04fb2910ca0e187
BLAKE2b-256 439bf188fc09116ef7dfa6b9ae8664ad38e550a1cb698cf57316867e38f9ce33

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.1.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 dbeabd3a30ebfb9cf9394f36e345e0e92081b5683716b002d2af632e6a1f7378
MD5 932ce7b765f68fe56e859411b978fded
BLAKE2b-256 9008f0ce1e95ca79e546482096f90511f00c62e33f341685224e6e315e47251e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.1.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 d6b585796bb8cd2931dff886084656830b7be0567b5209b1ddc8fb144e0ae265
MD5 bd184b5e2d95ffe48b10e68080705fc6
BLAKE2b-256 bb6a8939925a18f44710914e2ffb0574855814e20c864b7a81172bf079da05a7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.1.1-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a8608e8e409de51ceabf8b68bb491a69b2061713207b21473eedff8f883d1385
MD5 09fdffb4554b556f637aac9ed9de6f41
BLAKE2b-256 79fdd844262a43c2f969b00aecc701d905155603da82abbfd412de99027184c9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.1.1-cp39-cp39-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 a433f6676081f4358ae026200cd481e159ba6e2c8cd761533112cc7c1be3fa26
MD5 496d466dc7ff54496c5b503ece707b60
BLAKE2b-256 5bc07fe33f4bdab09ff639add5e61dcec732e42f8a5df398d55c138f5b8bc2d2

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