Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

Zixy

CI PyPI version License: Apache-2.0

Zixy is a high performance library for the manipulation of Pauli strings and other quantum algebraic objects.

Installation

From PyPI

The package is available via PyPI and can be installed using the preferred package manager, such as pip.

pip install zixy

From source

Developers may wish to install from source. The recommended method is by using maturin from the top level directory.

git clone https://github.com/quantinuum/zixy
cd zixy
maturin develop

Usage

Overview

The package is written in Rust, with Python bindings enabled via PyO3. The base containers in the Python interface are defined in a general fashion. The user-facing API separates these objects into three important classes:

  • Coeff: a coefficient, defining a scalar value of varying types.
  • Cmpnt: a component, defining a basic algebraic building block.
  • Term: a term, consisting of a Cmpnt scaled by a Coeff.

Coefficients are separated into built-in Python types such as float or complex, symbolic sympy expressions, and roots of unity such as Sign and ComplexSign, which have custom implementations.

Additionally, each such class has associated containers for collections of that type. Implementations of these base classes may narrow their implementation depending on the coefficient type.

Example

These general building blocks are sufficient to define many different quantum algebraic objects. An example of one such specification of the objects in Zixy is Pauli strings. These are made available in the zixy.qubit.pauli submodule, with the qubits forming a basis for their definition available in zixy.qubit.

import zixy.qubit as zq
import zixy.qubit.pauli as zqp

qubits = zq.Qubits.from_count(4)
print(len(qubits))  # 4

strings = zqp.Strings.from_str("X0 Y1 Z3", qubits)
print(str(strings))  # X0 Y1 Z3

terms = zqp.RealTerms.from_str("X0 Y1 Z3")
print(str(terms))  # (1, X0 Y1 Z3)

For other specifications such as computational basis vectors, further example notebooks are available.

Rust

The trait NumRepr (meaning "number representation") is implemented by all types that can represent the numbers multiplying components. In collections, these are stored contiguously in vector-like structures. Values of NumRepr types are closed under multiplication, but do not implement addition. Implementers of NumRepr are

  • Unity: a unit type representing +1 and only +1. The corresponding collection container UnityVec only stores a length, the number of unit values.
  • Sign: the square roots of unity (+1, -1). The corresponding collection container, SignVec is implemented as a bitset.
  • ComplexSign: the fourth roots of unity (+1, +i, -1, -i). The corresponding collection container, ComplexSignVec is implemented as a paired bitset.

The FieldElem subtrait of NumRepr is implemented by types whose values form a field with multiplication and addition. Implementers of both NumRepr and FieldElem use Vec<T> for collection storage, and are

  • Real: Floating point value f64
  • Complex: Complex floating point value Complex64 from num_complex crate.

The Python interface further supports symbolic types via SymPy, which are not currently available within the Rust library.

On the Rust side, components are stored contiguously in CmpntList types. These implement the business logic applicable to their elements. There are three main kinds of container that encapsulate CmpntList with generic coefficient type C

  • Terms<C: NumRepr>: stores a C::Vector of the same length as the CmpntList, offers mutable access to the components and coefficients.
  • TermSet<C: NumRepr>: stores a C::Vector of the same length as the CmpntList and via an indirect hash map, provides constant complexity lookup and enforces uniqueness among components. Offers mutable access only to the coefficients.
  • TermSum<C: FieldElem>: works like Set<C> but with linear combination semantics and is only defined for FieldElem-implementing coefficient types.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

zixy-0.4.0rc1.tar.gz (589.8 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

zixy-0.4.0rc1-cp310-abi3-win_amd64.whl (1.4 MB view details)

Uploaded CPython 3.10+Windows x86-64

zixy-0.4.0rc1-cp310-abi3-win32.whl (1.2 MB view details)

Uploaded CPython 3.10+Windows x86

zixy-0.4.0rc1-cp310-abi3-musllinux_1_2_x86_64.whl (1.9 MB view details)

Uploaded CPython 3.10+musllinux: musl 1.2+ x86-64

zixy-0.4.0rc1-cp310-abi3-musllinux_1_2_i686.whl (1.9 MB view details)

Uploaded CPython 3.10+musllinux: musl 1.2+ i686

zixy-0.4.0rc1-cp310-abi3-musllinux_1_2_armv7l.whl (1.8 MB view details)

Uploaded CPython 3.10+musllinux: musl 1.2+ ARMv7l

zixy-0.4.0rc1-cp310-abi3-musllinux_1_2_aarch64.whl (1.8 MB view details)

Uploaded CPython 3.10+musllinux: musl 1.2+ ARM64

zixy-0.4.0rc1-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ x86-64

zixy-0.4.0rc1-cp310-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl (1.7 MB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ s390x

zixy-0.4.0rc1-cp310-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (1.9 MB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ ppc64le

zixy-0.4.0rc1-cp310-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl (1.6 MB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ ARMv7l

zixy-0.4.0rc1-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.6 MB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ ARM64

zixy-0.4.0rc1-cp310-abi3-manylinux_2_5_i686.manylinux1_i686.whl (1.7 MB view details)

Uploaded CPython 3.10+manylinux: glibc 2.5+ i686

zixy-0.4.0rc1-cp310-abi3-macosx_11_0_arm64.whl (1.5 MB view details)

Uploaded CPython 3.10+macOS 11.0+ ARM64

File details

Details for the file zixy-0.4.0rc1.tar.gz.

File metadata

  • Download URL: zixy-0.4.0rc1.tar.gz
  • Upload date:
  • Size: 589.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for zixy-0.4.0rc1.tar.gz
Algorithm Hash digest
SHA256 8989196db590d64b817ec3f5a00d2fe9da5a059cd3a618576d0a60036aeb3b57
MD5 fbb789c363c3fe5c44e09320d2b61d72
BLAKE2b-256 0b9b9509ba1694e4eb336c8a7274fa972eda575805c8e05b5517b8bb6501cb0b

See more details on using hashes here.

Provenance

The following attestation bundles were made for zixy-0.4.0rc1.tar.gz:

Publisher: release.yml on Quantinuum/zixy

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file zixy-0.4.0rc1-cp310-abi3-win_amd64.whl.

File metadata

  • Download URL: zixy-0.4.0rc1-cp310-abi3-win_amd64.whl
  • Upload date:
  • Size: 1.4 MB
  • Tags: CPython 3.10+, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for zixy-0.4.0rc1-cp310-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 3c1913e1a25d70e249ff11b5d21a2eddd89141490eca8e8517a947dc3c5e59fd
MD5 76451cc8357df1b6d5ade3c1ad3f5fb2
BLAKE2b-256 fe4fadb35da12f2c211144c4ccc30581386a8e2f6e2c8dc79ff7513fd66d54ce

See more details on using hashes here.

Provenance

The following attestation bundles were made for zixy-0.4.0rc1-cp310-abi3-win_amd64.whl:

Publisher: release.yml on Quantinuum/zixy

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file zixy-0.4.0rc1-cp310-abi3-win32.whl.

File metadata

  • Download URL: zixy-0.4.0rc1-cp310-abi3-win32.whl
  • Upload date:
  • Size: 1.2 MB
  • Tags: CPython 3.10+, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for zixy-0.4.0rc1-cp310-abi3-win32.whl
Algorithm Hash digest
SHA256 41da7338a86ccc0ce3c0cccf3a982c1cae61f9978f238a3adf88b2748163594c
MD5 bf5eab8521bc9a8bd5f65438a790664f
BLAKE2b-256 23d70876c4940b9b67fabc7cf79d1deb6d297af2ff893cc7edf67531e59744f5

See more details on using hashes here.

Provenance

The following attestation bundles were made for zixy-0.4.0rc1-cp310-abi3-win32.whl:

Publisher: release.yml on Quantinuum/zixy

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file zixy-0.4.0rc1-cp310-abi3-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for zixy-0.4.0rc1-cp310-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 c6d980de2e7524c2d8f1a89845aa6dfb57d02530fa0b3aa3b65966cfa2063970
MD5 3aa59451fc59ccaa3cc070286a40817d
BLAKE2b-256 9c80ef9fe5f3ea91dbffd2aeb8bcbe2f135a6bd82afd9c24a8664bfc3d5440b9

See more details on using hashes here.

Provenance

The following attestation bundles were made for zixy-0.4.0rc1-cp310-abi3-musllinux_1_2_x86_64.whl:

Publisher: release.yml on Quantinuum/zixy

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file zixy-0.4.0rc1-cp310-abi3-musllinux_1_2_i686.whl.

File metadata

File hashes

Hashes for zixy-0.4.0rc1-cp310-abi3-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 4376bfb096e48b5f84ec8afd915ce4e394f2a38218bc0436404c12b169eaeed0
MD5 e93e0f8b997ddf479c7c0baa72dd3056
BLAKE2b-256 c2569915eddb4265c7c921890d051ed15ddc807e0f283e8503605477687bed97

See more details on using hashes here.

Provenance

The following attestation bundles were made for zixy-0.4.0rc1-cp310-abi3-musllinux_1_2_i686.whl:

Publisher: release.yml on Quantinuum/zixy

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file zixy-0.4.0rc1-cp310-abi3-musllinux_1_2_armv7l.whl.

File metadata

File hashes

Hashes for zixy-0.4.0rc1-cp310-abi3-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 e7e1cc7d0ce66e95c3415cf61885a9b5e869f4397c5525d96d1070516e8c3f3d
MD5 090107b075b2e8172c3f3347e8656282
BLAKE2b-256 2d0ad1010ba09c10c1cb82951f02adb41fc141c53740b862adf7261b9ea6e0c7

See more details on using hashes here.

Provenance

The following attestation bundles were made for zixy-0.4.0rc1-cp310-abi3-musllinux_1_2_armv7l.whl:

Publisher: release.yml on Quantinuum/zixy

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file zixy-0.4.0rc1-cp310-abi3-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for zixy-0.4.0rc1-cp310-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 43add562033636117cbe5c99a5be6b8a9062c3478b519ccf9f52d32e9efa52b6
MD5 2c686f9ce4401cb877e62ca92f79ae87
BLAKE2b-256 1df9f61ce27d547ddab5775f0843fce7ff34ef52e4e8c22a1b447af425702f61

See more details on using hashes here.

Provenance

The following attestation bundles were made for zixy-0.4.0rc1-cp310-abi3-musllinux_1_2_aarch64.whl:

Publisher: release.yml on Quantinuum/zixy

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file zixy-0.4.0rc1-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for zixy-0.4.0rc1-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7faa2c2d47cfd826f635bbae087a4ff4fdf4479c90c54c71c50cd1c8d2abb5b3
MD5 82def3ffde9e5b9624c5c60b89e75101
BLAKE2b-256 84db14762a85c521cc70439328192668a9d4411689c2dd921f5a9a7a25c5bc64

See more details on using hashes here.

Provenance

The following attestation bundles were made for zixy-0.4.0rc1-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on Quantinuum/zixy

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file zixy-0.4.0rc1-cp310-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl.

File metadata

File hashes

Hashes for zixy-0.4.0rc1-cp310-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl
Algorithm Hash digest
SHA256 2a9c4dbce144e1803610fbcf78ba2f5ec943827f560f39da0dbf703b34d92fd1
MD5 6f0552b2d9b395d286b63ac3a02ac745
BLAKE2b-256 d0b62c916f049b07ba6a5fc892fbe4bf2520d17b07159406189f772c459752ad

See more details on using hashes here.

Provenance

The following attestation bundles were made for zixy-0.4.0rc1-cp310-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl:

Publisher: release.yml on Quantinuum/zixy

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file zixy-0.4.0rc1-cp310-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl.

File metadata

File hashes

Hashes for zixy-0.4.0rc1-cp310-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl
Algorithm Hash digest
SHA256 ea3e6aab8d884726fc4ffff751eb1a2c99f7ad37934270c0fa3f1ea044eee124
MD5 37921f1cc939b0e46352d60af6f33576
BLAKE2b-256 aea6e6db29f4c65b8576fa03856a8065934411f72760477d093b047728631c65

See more details on using hashes here.

Provenance

The following attestation bundles were made for zixy-0.4.0rc1-cp310-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl:

Publisher: release.yml on Quantinuum/zixy

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file zixy-0.4.0rc1-cp310-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl.

File metadata

File hashes

Hashes for zixy-0.4.0rc1-cp310-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl
Algorithm Hash digest
SHA256 77b9b2c3d8748151c8250eb5b7689cd1c0d6e774a1bc13c260ff97a003cc6549
MD5 337bc742d2b987ae30d7d69dc1cfb542
BLAKE2b-256 68795828c439de62a29a5b64f0681c9fc067f14bfc7c1e5d4b58fbad7e9b1f5d

See more details on using hashes here.

Provenance

The following attestation bundles were made for zixy-0.4.0rc1-cp310-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl:

Publisher: release.yml on Quantinuum/zixy

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file zixy-0.4.0rc1-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for zixy-0.4.0rc1-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 5c11aeb050ce9dca5a65888243382739fc73c4a5523e92d4d187da13323c8b46
MD5 8821f3e3f62293ef00ad441bac598514
BLAKE2b-256 ea10c4dce7df7fa13aa69f8dd4e8d8ad4004c2b1b8693f41e80dc9138b7d0e2c

See more details on using hashes here.

Provenance

The following attestation bundles were made for zixy-0.4.0rc1-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: release.yml on Quantinuum/zixy

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file zixy-0.4.0rc1-cp310-abi3-manylinux_2_5_i686.manylinux1_i686.whl.

File metadata

File hashes

Hashes for zixy-0.4.0rc1-cp310-abi3-manylinux_2_5_i686.manylinux1_i686.whl
Algorithm Hash digest
SHA256 42347bf3f4ea5b44372e601d2db738fab485585f7e52331dde5defa2e4d32e5b
MD5 c913bc1bf842bad9342fc86b310f2b93
BLAKE2b-256 9c5f9993cb862a750d644bc0cf8bf031db4c0f2be5266a804390b2b3027d0a86

See more details on using hashes here.

Provenance

The following attestation bundles were made for zixy-0.4.0rc1-cp310-abi3-manylinux_2_5_i686.manylinux1_i686.whl:

Publisher: release.yml on Quantinuum/zixy

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file zixy-0.4.0rc1-cp310-abi3-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for zixy-0.4.0rc1-cp310-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 86f561d7554e5df28524e8a0ffd7d14c976a2313c750bef60c6ac534d264d4df
MD5 e900252f750da37aae1730b8c4171a9d
BLAKE2b-256 94f7edef9d059e09473256f4ec2e7b6f9f5f13d17c580ab0ae89b9d7d8b83cd4

See more details on using hashes here.

Provenance

The following attestation bundles were made for zixy-0.4.0rc1-cp310-abi3-macosx_11_0_arm64.whl:

Publisher: release.yml on Quantinuum/zixy

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

0.4.0rc1 This release

14 files

0.3.2

14 files

0.3.1

14 files

0.3.0

14 files

0.2.2

14 files

0.2.1

14 files

0.2.0

14 files

0.1.0

13 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page