Witnessing multi-partite entanglement.
Project description
WITNESS MESS provides procedures for witnessing genuine multi-partite
entanglement from a subset of marginalia both in multi-partite qubit systems
and multi-mode continuous variable Gaussian systems.
Prerequisites
A suitable semi-definite optimizer is required.
- MOSEK is a commercial optimization software. Free personal licenses are
provided to members of academia. It is preferred for its unmatched speed
and versatility.
- CVXOPT is an open source convex optimization software. It can be used as
well, however, it is considerably slower than MOSEK.
Installation
As of release 0.4.2 it is possible to retrieve the latest release of the
package from PyPi by running 'pip install --user witnessmess'
Examples
See the examples directory. Both discrete and continuous variable examples
are provided.
Documentation
Genuine multipartite entanglement can be witnessed with a pair of functions
that determine optimal entanglement witnesses for particular, either discrete
or (Gaussian) continuous variable, quantum states.
Please note that the definition of covariance matrices follows the
conventions from (https://doi.org/10.1088/1367-2630/8/4/051).
- dm_optimal_witness (density_matrix, component_dims, use_pairs_list)
Produces an optimal genuine multipartite entanglement witness with respect
to the discrete variable multi-qudit state given by density_matrix.
: density_matrix
defines the state, the matrix must be in Kronecker form
: component_dims
defines a list of component dimensions,
for example a 3-qubit state has [ 2, 2, 2 ]
: use_pairs_list
defines the list of two-body marginalia the witness is
permitted to use, if unset the entire density_matrix is used
- cm_optimal_witness (covariance_matrix, mode_count, use_pairs_list)
Produces an optimal genuine multipartite entanglement witness with respect
to the continuous variable multi-mode state given by covariance_matrix.
: covariance_matrix
defines the state, the matrix must be in X-P interleaved form
: mode_count
defines the number of modes
: use_pairs_list
defines the list of two-body marginalia the witness is
permitted to use, if unset the entire covariance_matrix is used
In addition there is a number of helper functions for both discrete and
continuous variable states.
- dm_is_physical (density_matrix)
Determines whether the density matrix represents a physical state by
testing if the matrix is Hermitian, positive semi-definite and its trace
sufficiently close to one.
: density_matrix
defines the matrix to be checked, must be in Kronecker form
- cm_is_physical (covariance_matrix, mode_count)
Determines whether the covariance matrix represents a physical state by
testing if the matrix is symmetric and satisfies uncertainty relations.
: covariance_matrix
defines the matrix to be checked, must be in X-P interleaved form
: mode_count
defines the number of modes of the state,
yes, it could be inferred from covariance_matrix but, alas, it is not
- cm_build_random (mode_count, spectral_factor)
Constructs a random bona-fide covariance matrix.
: mode_count
defines a number of modes of the resulting random state
: spectral_factor
defines the interval (1, 1 + spectral_factor) symplectic eigenvalues
are randomly chosen from
References
The recipes for semi-definite programs are discussed in papers that are
referenced in the code where appropriate. States used in examples were taken
from different papers and are referenced as well. The same applies to the
conditions, criteria and recipes for construction of various mathematical
objects (such as Gell-Mann matrices) used in the implementation.
The implementation references the following papers.
- Multiparticle entanglement as an emergent phenomenon
https://doi.org/10.1103/PhysRevA.93.020104
- Proving genuine multiparticle entanglement from separable nearest-neighbor marginals
https://doi.org/10.1103/PhysRevA.98.062102
- Verifying genuine multipartite entanglement of the whole from its separable parts
https://doi.org/10.1364/QIM.2019.F5A.45
- Optimal entanglement witnesses for continuous-variable systems
https://doi.org/10.1088/1367-2630/8/4/051
- Continuous Variable Quantum Information: Gaussian States and Beyond
https://doi.org/10.1142/s1230161214400010
- Certifying emergent genuine multipartite entanglement with a partially blind witness
https://doi.org/10.1103/PhysRevA.106.062410
- Quantum-noise matrix for multimode systems: U(n) invariance, squeezing, and normal forms
https://doi.org/10.1103/PhysRevA.49.1567
- Peres-Horodecki Separability Criterion for Continuous Variable Systems
https://doi.org/10.1103/PhysRevLett.84.2726
- Two-element generation of the symplectic group
https://doi.org/10.2307/1993590
- Bloch vectors for qudits
https://doi.org/10.1088/1751-8113/41/23/235303
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 Distributions
No source distribution files available for this release.See tutorial on generating distribution archives.
Built Distribution
File details
Details for the file witnessmess-0.4.3-py3-none-any.whl
.
File metadata
- Download URL: witnessmess-0.4.3-py3-none-any.whl
- Upload date:
- Size: 15.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.1 CPython/3.11.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | daf6e55f0d96a8a7bd4c6c29b44d946d7abca9fe75a385958e459147a2495170 |
|
MD5 | 2031a7026421bd03b42aa273060c7787 |
|
BLAKE2b-256 | 4a01e11efeb51fba26470c31263ea0de6bc48f457af21737872b918c63725449 |