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, fermionic objects, bosonic objects and mixed system objects that contain arbitrary many spin, fermionic and bosonic 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 systems 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.

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

Uploaded CPython 3.13Windows x86-64

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

Uploaded CPython 3.13macOS 11.0+ ARM64

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

Uploaded CPython 3.13macOS 10.12+ x86-64

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

Uploaded CPython 3.12Windows x86-64

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

Uploaded CPython 3.12macOS 11.0+ ARM64

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

Uploaded CPython 3.12macOS 10.12+ x86-64

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

Uploaded CPython 3.11Windows x86-64

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

Uploaded CPython 3.11macOS 11.0+ ARM64

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

Uploaded CPython 3.11macOS 10.12+ x86-64

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

Uploaded CPython 3.10Windows x86-64

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

Uploaded CPython 3.10macOS 11.0+ ARM64

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

Uploaded CPython 3.10macOS 10.12+ x86-64

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

Uploaded CPython 3.9Windows x86-64

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

Uploaded CPython 3.9macOS 11.0+ ARM64

struqture_py-2.0.0-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.0.0.tar.gz.

File metadata

  • Download URL: struqture_py-2.0.0.tar.gz
  • Upload date:
  • Size: 421.5 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.0.0.tar.gz
Algorithm Hash digest
SHA256 93f80f5c576b4364f5db7bfacdc96bb2add85594fadbbeab87d9f6f79b9181ef
MD5 a3dca0e0d0392f663a62a44666f32932
BLAKE2b-256 85ffe4312c12c217b90142f4e51b858c4798466c35cfb01d3b58e65005fd072c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.0.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 6dd41835fafc8342f42f1946cfe97cf7f81931dc360552fcde9f37abedef3ade
MD5 87aa2e93fc83f46cc799486188227e3a
BLAKE2b-256 f7d9d15b3a87362a2dfc0150c57c5a502496f3fce5b36b9b5b16e80a26bb7f7d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.0.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 341f6bb48b16334d5a53256163b03c538bbf0d89817ba3ddf90fc8194c8fe6fa
MD5 19eedbe94de8d1cfc8a9114fe4ef72ac
BLAKE2b-256 48c45936915a27f62af657acd3b228c47f73afcfd5f07ecd821b641b258ba2bc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.0.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 74dc7e47c5152a157290434808517dfe658a9ffd0bc22f98ce7e6fb3c74f18e4
MD5 10dc97d93e35d7ff27b357bc11846d79
BLAKE2b-256 bfcf62b56d167eb68704d949c8552cf655dd68267dbc2d979db08c8a359a8b46

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.0.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6197c9958959be88cae98387db9cef6d73093ef7f43cd631864b5f38a1073e80
MD5 fa547e3acdfe35869b4fdae8c8e72e91
BLAKE2b-256 6f3be758dbd31442bd33e47531ccd0eac3a69fea3f560b079bbe19387b3e3004

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.0.0-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 ab1e23187f80f4153f169bea8a483d05066193bf222dde94831f430a586fd098
MD5 c42bde0fcd1915d485d4a7a00cce6e5a
BLAKE2b-256 27ce17b5e8722c7b909abb8917e22e39a9f31efc1e19b39e11943be739ce070c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.0.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 2f58e160dcae33a0726d75b8f864b4f95d03758b562995b1acd06737bb80108f
MD5 0fd685e21a4fc7e5e6e798e3957a9cfd
BLAKE2b-256 d857fd87ff46d7c4641416ed9db48672c329c670e2b0b4e1454f041c3a91f599

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.0.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 21fe0e34d59abbd0d006647410724c5ce572c0300c823012a377b7ba1dce5e42
MD5 d0cb25adf8fd37135808cd1ce02cbe1a
BLAKE2b-256 58044aeb42f31d175dd2b799750269a79cc89caf19e0e9bf11cd625473a9d2fb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.0.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 dd41c941e6fcc502b6be51097dc52e368a528dab19f002b52ba3f00632ec2ae7
MD5 00e8267953e05ab9b121ded858addd48
BLAKE2b-256 28d23f32fcc5645b3c750060f74796d4701166335292679e0c0b558f3129af50

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.0.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f442d3baf8a4d160e5c4ae79b4498fb38c13e51396304f54a6842d4d0cec38ed
MD5 ed04838e0647edbd9343e8d065553d29
BLAKE2b-256 99260e2145231287a1fa7a00ec9d09e577f52d466979d929f8866b9e9eb3b816

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.0.0-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 fc1c713393ff98d49f9d5805e82287e452a8fd57129fdcfd8fcec74c60ae933b
MD5 da368305bff440582baae3dc1f2cd8ad
BLAKE2b-256 4e78cf1c65b1ac36b0293f9c9009582f6e81942fc3e0eeda721dbe7495911d63

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.0.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 924b58d343f448a2d0ca591e9fcd68a68c185c92015a1ca4074f654838b6f7ae
MD5 e5bbd8b1e60f750e7ec74165e1e19b14
BLAKE2b-256 7659f57e8eed401ad8f41046181161f4d021065e2c1e77096dd20aa057f25365

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 44a0370eb88fdd6c1f99ca8c203d72739bf8985522cfbdb3de4a80d392194877
MD5 f967607b34e4a5c3898d51ab24a09f56
BLAKE2b-256 e8f886bbbcda6a5997de73add495d14625c6ec6c995ba6e79b87bb25028c425c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.0.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 d3777ba7e55edb0fcc1bbe3dd552f6a24a2d67b48858dd1e92ca8e1b826f092f
MD5 0092a2195fe2cd7c2136bf6a9cce0ec7
BLAKE2b-256 a55bf9d66b76e6aee55c79a12b0ef4ff0dbf1ec21c99be471b3269b5cf14f278

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.0.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0b62a72e447c387c05ed37789b6d6545ef17e18f94985846bcd2f535f2bf9d98
MD5 d3af9021574ed6c9937d45ebd57fda2d
BLAKE2b-256 19534de5079dda56d8d064a1aa089f1621b9e31ed05d55d639d1a10aebbdb414

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.0.0-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 6939a02f74378f19d75a2fc1d16e8a1d88742c4e09a1c441d75b5b6312cd441c
MD5 1a11a324cef31587b9c5b61e2775a6ac
BLAKE2b-256 de9cfd34d4b4a58fe74e1ba8fb1b5f1f1a3830ec6eb21acc3f8bd15cf0fd8a5b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.0.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 e6ab9f452360f21f4b775ca0467e5d54989a18e44c9a6ff80155ca930aac3e1b
MD5 86453586a6091b74c79a1c3678ac34c5
BLAKE2b-256 3c19acd20fdd370a83c9bf83e1d469920e47497e766beb66b4b70c25008e2513

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 477db13304406bd27fac972e5f718c2e6863ba3ef5ddf237b11020921f618296
MD5 9e857caa64d55b8d9d76b079de9621c3
BLAKE2b-256 1f775d074ab16cd6c12b60b24cf48bd2ce81def4733ebbce974e37add3a60221

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.0.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 9544242c63fd737031704ffef3401389ecd97ede3cbde4afdabad6b96b2636d9
MD5 24831e553b390387b22fc5c3fdba5f4b
BLAKE2b-256 0d1eed80576435f0047e61902d55785aadc6709ad50a3d972c25539ae60e49aa

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.0.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 44a19f19dcdaa9207b1b2257ac2eb5e38ac6244b8c5f84c69ff76cb3939b4c26
MD5 c9298c5c8623f64fcf5bb82f7bbd7256
BLAKE2b-256 4329b5376b4bfa04e8c8cd7f63b811b181dafbc0c13568e92bdebe69e727254d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.0.0-cp310-cp310-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 d85361b269619b674f408b455c4c42ca9f87b9c9553060f9dd7db4f13575e769
MD5 21af2673a4aa48e475b42881fa48a5f3
BLAKE2b-256 7e9d99cbf42f3cd484575288e43bbcd6ab3dc234ca135e5569cf37ee37d596ec

See more details on using hashes here.

File details

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

File metadata

  • Download URL: struqture_py-2.0.0-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.10

File hashes

Hashes for struqture_py-2.0.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 0c20f5245c303becbeb03acc2f84680b951e587d7d7bf3cb34f8d1719ed3fd19
MD5 6709ec39503843e0a1181a72ac717180
BLAKE2b-256 ec7f01b00f493d91094e5b10b09d0f6b2206b449be0b6ab8697dac1b7adf14cf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.0.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 126d31c5877e7e7131b02e29d9df0e75c2cb709596f1fe157a47a2c1971e3e59
MD5 ad6b7f6dcc0d215823c209955619fd7f
BLAKE2b-256 22df5148c424e8b220c81345c49877803d2e50fd8c66be9a6893f0e23b14fd56

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.0.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 02422557608952ec4c361782ca817fbce72b1e66060096419da20576ffe88732
MD5 c6533ef705b3b63cf11a03ced17d8543
BLAKE2b-256 3a162d39a2e669d8392ad67c7d11114757c7a7814e46671e8ce0e5161eab5989

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.0.0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5137ae72bc9051b966a1369d701d5d704dbfab6bca25e1358b63888ddc1ec64e
MD5 7e15e34876e2f05f7d55f32b8f4474d6
BLAKE2b-256 8fc5d5c22c36b90f719274c1ab39d9c35043630af5259de52622430d79a794c1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for struqture_py-2.0.0-cp39-cp39-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 a6484aed3a264830e49abbfe63a1947552480b87a82b7a35753d6424808633f0
MD5 26d039deb852edc28ae6ac53bd6f17ad
BLAKE2b-256 5d591941bd084863cb56646bc99fbcb115b7d0c56a0de59dac536457af7f5ab6

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