Skip to main content

bound-entangled

Reference implementations of several families of bound entangled states from the quantum information literature, as plain NumPy density matrices.

A bound entangled state is entangled yet has a positive partial transpose (PPT), so no pure entanglement can be distilled from it. This library collects constructions that are otherwise scattered across papers into a single, tested package, each factory returning the density matrix rho of the state.

📖 Documentation — one page per state, with the construction written out and what is known about it.

There is a TypeScript port of this package, also called bound-entangled — see js/README.md.

Installation

pip install bound-entangled

From a clone (the package lives in the python/ directory):

cd python && pip install -e ".[test]"

Requires Python ≥ 3.9. Depends on toqito and NumPy.

Usage

Packages are organized by the bipartite Hilbert space the states live in (c3_otimes_c3 = C³ ⊗ C³, cm_otimes_cn = C^m ⊗ C^n, etc.).

from bound_entangled.c3_otimes_c3 import chessboard_extremal_PPT, tiles_upb, pyramid_upb
from bound_entangled.cd_otimes_cd import yu_oh
from bound_entangled.c5_otimes_c5 import sn3_grid_state

rho = chessboard_extremal_PPT()          # 9x9 PPT-entangled chessboard state
rho = yu_oh(full_dim=3, x=0.5, y=0.1)    # Yu-Oh nonlocal bound entangled state

The two Horodecki states are both called horodecki, each in the package of the space it lives in: c2_otimes_c4 and c3_otimes_c3.

States

c2_otimes_c4 — C² ⊗ C⁴

Factory State Reference
horodecki 2×4 Horodecki bound entangled state quant-ph/9703004

c3_otimes_c3 — C³ ⊗ C³

Factory State Reference
chessboard, chessboard_extremal_PPT Bruß–Peres chessboard states quant-ph/9911056
cross_hatch 3×3 "cross-hatch" grid state (CCNR-detected) 1705.09261
horodecki 3×3 Horodecki bound entangled state quant-ph/9703004
ncomms6297 Rank-4 PPT entangled state from an explicit spectral decomposition ncomms6297
steering_state Steerable bound entangled state (counterexample to the stronger Peres conjecture) 1405.0262
tiles_upb, pyramid_upb States from the Tiles / Pyramid unextendible product bases quant-ph/9808030
parametrized_upb Six-parameter family of UPBs generalizing Tiles / Pyramid quant-ph/9908070

c4_otimes_c4 — C⁴ ⊗ C⁴

Factory State Reference
breuer Breuer bound-entangled state (PPT, detected by anti-linear map) quant-ph/0605036
piani 4×4 Benatti–Floreanini–Piani state quant-ph/0411095

c5_otimes_c5 — C⁵ ⊗ C⁵

Factory State Reference
sn3_grid_state Smallest known Schmidt-number-3 PPT bound entangled state 2402.12966

cd_otimes_cd — C^d ⊗ C^d

Factory State Reference
yu_oh, is_valid_yu_oh_input Yu–Oh family of nonlocal bound entangled states 1509.08991
gen_tiles1 GenTiles1 UPB generalizing Tiles to d⊗d, even d≥4 quant-ph/9908070
badziag_private_singlet Bądziąg et al. private-singlet state on C^2d ⊗ C^2d PRResearch 3, 023101
orthogonal_singlet ρ_F2, the second family of PPT singlets PRResearch 3, 023101
horodecki_2_by_d_generalized C² ⊗ C⁴ Horodecki state generalized to C² ⊗ C^d 1203.3711

cm_otimes_cn — C^m ⊗ C^n (parametric constructions)

Factory State Reference
grid_state Quantum grid states from graph edges 1705.09261
generalized_grid_state Grid states generalized to hyperedges 2402.12966
gen_tiles2 GenTiles2 UPB generalizing Tiles to m⊗n, n>3, m≥3, n≥m quant-ph/9908070
random_NPT, random_PPT, random_PPT_close_to_the_PPT_edge Random density matrices by PPT class (rejection sampling) —

multipartite — multipartite systems

Factory State Reference
smolin Smolin four-party unlockable bound entangled state quant-ph/0001001
generalized_smolin Generalized Smolin state on 2n qubits (bound entangled for all even n ≥ 2) quant-ph/0411142
quasi_ds Quasi-Dicke bound entangled state on n qubits ncomms6297

utils

Function Description
ketbra(a, b?) The outer product |a><b|, defaulting to |a><a|.
upb(basis) The bound entangled state on the orthogonal complement of an unextendible product basis.

Development

pip install -e ".[test]"
pytest

License

MIT

Metadata

Release files for bound-entangled 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for bound-entangled 0.2.0
File Size Uploaded
bound_entangled-0.2.0.tar.gz 20.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for bound-entangled 0.2.0
File Interpreter ABI Platform
bound_entangled-0.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 51.5 kB

Release files / bound_entangled-0.2.0.tar.gz

Download URL bound_entangled-0.2.0.tar.gz
Size 20.7 kB
Tags Source
SHA-256 checksum
How to use checksums
d6d6c331f5cdf30646a4b07a3fe002e620e5125e4f896ce5e935eb0c6abd42b1
BLAKE2b-256 checksum
How to use checksums
e1bb5d7d228ca6b56209fcfe98c016658fb95c674ea0d34c83ceb21f08561c0a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 10, 2026.

Transparency log

Release files / bound_entangled-0.2.0-py3-none-any.whl

Download URL bound_entangled-0.2.0-py3-none-any.whl
Size 30.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ab05a8dd62754400d3ac54bb061726c22aa638b13827750e78bc8cafbc9911cc
BLAKE2b-256 checksum
How to use checksums
a4977782f7a67b71f98d32a82767c4a4b7ee40ac458125cff3234489a082dffa
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 10, 2026.

Transparency log

Release history Release notifications | RSS feed

0.2.2

2 release files

0.2.1

2 release files

This release

0.2.0 This release

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release 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