Skip to main content

sqtom - Squeezed state tomography in Python

GitHub Workflow Status (master) Codecov coverage CodeFactor Grade PyPI PyPI - Python Version

This repository implements the mode tomography ideas presented in

"Full statistical mode reconstruction of a light field via a photon-number-resolved measurement" by Burenkov. et al. Phys. Rev. A 95, 053806 (2017) and in Burenkov et al. in J. Res. Natl. Inst. Stan. 122, 30 (2017).

for twin beam light and extends it to degenerate squeezed light. By leveraging lmfit we can also give a number of uncertainty estimates, and moreover provide routines for thresholding photon-number measurements and useful heuristics for initial guesses for the solutions of the problem.

Contents

The main physical ideal used by Burenkov et al. is to model the joint photon distribution of the variables associated to the photon numbers in signal and idler beams as resulting from one or several lossy two-mode squeezed distributions hitting the detectors. To model dark counts they also allow for modes prepared in states with Poisson statistics to hit the detectors.

To obtain the joint probability distribution of the photon numbers in the signal and idlers one needs to convolve the probability distributions of the modes entering in the problem.

Requirements

  • SciPy to calculate probability distributions of Poisson, Geometric or Negative Binomial random variables.

  • NumPy to perform 2D convolutions and matrix manipulations.

  • The Walrus to calculate loss matrices and squeezed states probability distributions.

With the tools described so far we can solve the forward problem, i.e., given a set of physical parameters what is the probability distribution.

  • If we augment our tools with lmfit we can solve the inverse problem: to find the best set of parameters that explain a given observed frequency distribution of photon numbers.

Finally, we use pytest for testing.

All of these prerequisites can be installed via pip:

pip install sqtom

Author

Nicolas Quesada

License

This source code is free and open source, released under the Apache License, Version 2.0.

Metadata

Release files for sqtom 0.4.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 sqtom 0.4.0
File Size Uploaded Provenance
sqtom-0.4.0.tar.gz 7.1 kB Without provenance Details

Built distribution (wheel)

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

Total release size: 22.0 kB

Release files / sqtom-0.4.0.tar.gz

Download URL sqtom-0.4.0.tar.gz
Size 7.1 kB
Tags Source
SHA-256 checksum
How to use checksums
a4a23afd910b9955d2b071fd06454381c18d84364acdd175df5afb804ed86d56
BLAKE2b-256 checksum
How to use checksums
14e126fa07f70ba68552431c849d8908bb19815a895575ebbac849ed53b06573
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.2.0 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.6.8

Release files / sqtom-0.4.0-py3-none-any.whl

Download URL sqtom-0.4.0-py3-none-any.whl
Size 14.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
3dbfe7a8c4f0ee6aad934c9176c9d9dab4066ac62d5d180332a2ae6cff7483b9
BLAKE2b-256 checksum
How to use checksums
6b8db6478f02bdb339439e054c316cbd85c305d0c4dc4f2cba577f6a94a34eed
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.2.0 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.6.8

Security for sqtom 0.4.0

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.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

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