Skip to main content

Helstrom · GitHub license contributions welcome

Helstrom is a quantum state distinguisher with minimum theoretical worst-case probability of error.

Features

  • Distinguish two qubits with minimum worst-case error.
  • Obtain POVMs and min_pwc.
  • Now available on PyPI!
  • Support for qudits now here!
  • Support for entangled states coming soon!

Tech

Helstrom uses a number of open source projects to work properly:

  • CVXPY - Python-embedded modeling language for convex optimization problems!
  • MOSEK - The package for large scale convex, conic and mixed-integer optimization.
  • NumPy - The fundamental package for scientific computing with Python.

And of course Helstrom itself is a free and open-source software with a public repository on GitHub.

Installation

Helstrom has been developed and tested to run on Python 3.8.

Install Python if you have not already.

You could install Helstrom via pip by running:

pip install helstrom

Note: MOSEK requires an academic license to operate. Academic faculty, students or staff gets free license. Apply for a license.

Alternatively, to contribute, download the code as ZIP, extract it, and enter the folder. Then, install the dependencies by typing the following command on your terminal:

cd helstrom-main # Change directory into child directory
pip install -r requirements.txt

Examples

Now run the following command on the terminal to use Helstrom's SDP and the results will be printed:

python -m helstrom "1 0; 0 0" "1 0; 0 1"
# Pass in desired states of rho_0 and rho_1 as two arguments

If the two arguments are not provided, by default, the states rho_0 and rho_1 are:

rho_0 = [ 1 0 ]    rho_1 =  [ 0.5 0 ]
        [ 0 0 ]             [ 0 0.5 ]
        # "1 0; 0 0"          # "0.5 0; 0 0.5"

If Helstrom was downloaded via ZIP, you may run helstromSDP.py directly.

Helstrom can be used as part of your code. Simply,

import helstrom
helstrom.sdp(rho_0, rho_1)

Development

Want to contribute? Great!

Helstrom uses Python for developing. Make changes in your file and create a pull request!

Metadata

Release files for helstrom 0.3

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

Source distribution (sdist)

Source distribution for helstrom 0.3
File Size Uploaded
helstrom-0.3.tar.gz 5.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for helstrom 0.3
File Interpreter ABI Platform
helstrom-0.3-py3-none-any.whl Python 3 none any Details

Total release size: 10.4 kB

Release files / helstrom-0.3.tar.gz

Download URL helstrom-0.3.tar.gz
Size 5.1 kB
Tags Source
SHA-256 checksum
How to use checksums
9333dab2dc901953bd61d9d7b3746b09364ec737c183d6cf1d5abb1af229c99c
BLAKE2b-256 checksum
How to use checksums
2a65876b501c01fdb7554fb1c4d67b5a3cefb09ef22d712295350b31270e6e93
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.0 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.8.10

Release files / helstrom-0.3-py3-none-any.whl

Download URL helstrom-0.3-py3-none-any.whl
Size 5.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
067278b570ff25ffb34af814021b803a5918dc16352682d429e184520320aeb6
BLAKE2b-256 checksum
How to use checksums
196419d6ea765da86040df33d8f65c6250ccc1c78c825b4b744e5e8bc4731464
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.0 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.8.10

Release history Release notifications | RSS feed

This release

0.3 This release

2 release files

0.2.1

2 release files

0.1

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