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

This version

2.5.0

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.5.0.tar.gz (479.5 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.5.0-cp313-cp313-win_amd64.whl (2.5 MB view details)

Uploaded CPython 3.13Windows x86-64

struqture_py-2.5.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.4 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

struqture_py-2.5.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.2 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

struqture_py-2.5.0-cp313-cp313-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (4.4 MB view details)

Uploaded CPython 3.13macOS 10.12+ universal2 (ARM64, x86-64)macOS 10.12+ x86-64macOS 11.0+ ARM64

struqture_py-2.5.0-cp312-cp312-win_amd64.whl (2.5 MB view details)

Uploaded CPython 3.12Windows x86-64

struqture_py-2.5.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.4 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

struqture_py-2.5.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.2 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

struqture_py-2.5.0-cp312-cp312-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (4.4 MB view details)

Uploaded CPython 3.12macOS 10.12+ universal2 (ARM64, x86-64)macOS 10.12+ x86-64macOS 11.0+ ARM64

struqture_py-2.5.0-cp311-cp311-win_amd64.whl (2.5 MB view details)

Uploaded CPython 3.11Windows x86-64

struqture_py-2.5.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.4 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

struqture_py-2.5.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.2 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

struqture_py-2.5.0-cp311-cp311-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (4.4 MB view details)

Uploaded CPython 3.11macOS 10.12+ universal2 (ARM64, x86-64)macOS 10.12+ x86-64macOS 11.0+ ARM64

struqture_py-2.5.0-cp310-cp310-win_amd64.whl (2.5 MB view details)

Uploaded CPython 3.10Windows x86-64

struqture_py-2.5.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.4 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

struqture_py-2.5.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (2.2 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

struqture_py-2.5.0-cp310-cp310-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (4.4 MB view details)

Uploaded CPython 3.10macOS 10.12+ universal2 (ARM64, x86-64)macOS 10.12+ x86-64macOS 11.0+ ARM64

File details

Details for the file struqture_py-2.5.0.tar.gz.

File metadata

  • Download URL: struqture_py-2.5.0.tar.gz
  • Upload date:
  • Size: 479.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.12

File hashes

Hashes for struqture_py-2.5.0.tar.gz
Algorithm Hash digest
SHA256 ca7728e4befd3c8686a7af3081896e8bcc302b08701c241da4af32f0d8637452
MD5 d9ffc9ea36a5b5682b07db1f994413fc
BLAKE2b-256 55f8f4a54266c05412b7ad96b2a084e8c11bb0889ff616ab558a04d96e6faf87

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.5.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 f1ca3602bd015f8fccf34ace825dd6cb3fa02298e0b2d6c2d531cfe726932ae7
MD5 84985c04dc2f5469679e96974d2f699d
BLAKE2b-256 6ba08550670ddd32ccba386d475a94bdf975312cf8970b3369a8fb3bf2c13fa6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.5.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 706b99f0a71ab9511731d79772ff17d6db44ef27872a675584c43dde049958df
MD5 8a2721a4620091dd369a92d0e237c71c
BLAKE2b-256 c8ad76f55bd39e8e069a0eacfeed67605c57fc647ee909deb85e94b5e9b477e9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.5.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 ddd7bda80d7e743cdb168d9bf7fe19eebbe4e1b3d11272c82d13b7f2a79889bc
MD5 9b6ff573accdccae828406d3f238e98b
BLAKE2b-256 27b72c3f511f3f32d54949ffae2b8d9e3e1ec603b6e60f2984c5fd92430480c3

See more details on using hashes here.

File details

Details for the file struqture_py-2.5.0-cp313-cp313-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl.

File metadata

File hashes

Hashes for struqture_py-2.5.0-cp313-cp313-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 571b865e50ad2d951c843bf2032e96e92252017b88fd7ad21078bf2a3a50a1d3
MD5 0444c48038c4e8566396cdeaf74abe84
BLAKE2b-256 4df24cca36670b9aa2d0ccafc42d8e1e451c603e8614225b8c0b57e633131150

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.5.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 814815176646a45ddec703a60d9a9235f50dd22800271d18a4cbd03aad7caf22
MD5 e5f687f4262bd1b95bf2d6bfeeca410b
BLAKE2b-256 3ecf63df2a4747bc0af81565dda6189480db480100ca40fd330a6c340e98204e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.5.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7e930137dbe37ff3916d753c35bec4d6420dcce1848e0301a192fb3f2524ccf2
MD5 36527597d97558efe6e6e1881893723b
BLAKE2b-256 e8a97b93d5b1eb9ad1b9c9b86ef16d2968f04508a34523025363dd69885ae0e9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.5.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 5d1cb4bb48f49af55997ffdde146c47866d7da3fd747d4f7d7928c3a07d9e95c
MD5 5f89fdbbba563b88f92cdd2ebfd7ce4a
BLAKE2b-256 123a9da122d2cc4e424ccc4302e68700a0e5aed2a0a21ae1e8bbcbe738b2cd81

See more details on using hashes here.

File details

Details for the file struqture_py-2.5.0-cp312-cp312-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl.

File metadata

File hashes

Hashes for struqture_py-2.5.0-cp312-cp312-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 47e409d4945c6bdef0dd9e30d9f646b8e000c6e602c9d0ff775739653fbf2de4
MD5 32a3c60fd832a7efad41ef4565d2174c
BLAKE2b-256 2bfb99faf90ac494e3715c7812ce0a7dc85d637788d0c361843055ba858d680d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.5.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 16609bbb15631f62278a95f4f8ce7359fe6e83234ad8fe5879576612d1dacf96
MD5 be74d5610fd9523bf63813f4da69e30c
BLAKE2b-256 5d7852a6496894d3a9627f4d82334a1a6effdf85f514740e7dd63596cf4a15a9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.5.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7dc9668dd1f381fc9f417deccf4f14d8335252cd8fbefcce118f4cd13bbdc532
MD5 8c8445feeebdec1f79d46cc19ac050ea
BLAKE2b-256 b7d57a67d9be2ca282acc62ad917b8b847b8e0dbef3278320c26af32c7b6561b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.5.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 12ae0e4965744bb33c14716a89142844bbef5b2b238a73b5e091b1c32be75d87
MD5 66a39077f22f2c45431c833968f1e317
BLAKE2b-256 e0e6485d3ef2ccddb7417d7814ba7970827c328ae8fa2a9fd9c082f7c63406c3

See more details on using hashes here.

File details

Details for the file struqture_py-2.5.0-cp311-cp311-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl.

File metadata

File hashes

Hashes for struqture_py-2.5.0-cp311-cp311-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 fa5e1058ca5461e5891ecdaf598037cf713d5b9bdf72cadad156c4fc0c5ec4cb
MD5 03b975bbbb84812e5ab074075bb8ad56
BLAKE2b-256 e4ac004337bc0a4e04f08812d7f06fcbeb866feb82301865ab42ef00a01a1477

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.5.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 5e2b64d222f59cfda3bc82d6d9a033f99a96a03496516f8ce5b18d304f10419a
MD5 4ee7cf4d683f2c5cec696b293d41cf79
BLAKE2b-256 57557efadb575ca731a14ee84e564ffce8dc49c6cc2e8b08d9a870d2838b280c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.5.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7e15c2d5fbe1e7ffb4b56953f073a20677d5e01d74fe4c8d5ed5a5f999a56320
MD5 7ad3ed54ec34ba833b5026acd00fc449
BLAKE2b-256 58097a2381a52608370d3b5009609be154ac545b80f5b192160a88ab866e634f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.5.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 8cd146ee45f0ba513d986f82394358e802c8a43d1e68710ed7c30a9ad220dcf3
MD5 5124104b40e677459c4f6d10263a33f6
BLAKE2b-256 b5495984ec26859fcab051a8845476542eaf72b852a016bcdd422785076c342d

See more details on using hashes here.

File details

Details for the file struqture_py-2.5.0-cp310-cp310-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl.

File metadata

File hashes

Hashes for struqture_py-2.5.0-cp310-cp310-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 8411e52883f1d28de0b8e3c600fc185f36ae55abf81328b0275fd2e28012d411
MD5 8fa47d73a54cfa26b7e59e4bb3856609
BLAKE2b-256 2c1901556f6d151988e92e80eff54b61a3460dff1dbb32119feda440887b436d

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