squeezing mode tomography
Project description
sqtom - Squeezed state tomography in Python
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.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file sqtom-0.4.0.tar.gz
.
File metadata
- Download URL: sqtom-0.4.0.tar.gz
- Upload date:
- Size: 7.1 kB
- Tags: Source
- Uploaded using 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
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a4a23afd910b9955d2b071fd06454381c18d84364acdd175df5afb804ed86d56 |
|
MD5 | 058af992b5652a534faf0c55e1f28745 |
|
BLAKE2b-256 | 14e126fa07f70ba68552431c849d8908bb19815a895575ebbac849ed53b06573 |
File details
Details for the file sqtom-0.4.0-py3-none-any.whl
.
File metadata
- Download URL: sqtom-0.4.0-py3-none-any.whl
- Upload date:
- Size: 14.9 kB
- Tags: Python 3
- Uploaded using 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
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3dbfe7a8c4f0ee6aad934c9176c9d9dab4066ac62d5d180332a2ae6cff7483b9 |
|
MD5 | 22f220b7ee164a6aa7fa469adcbad8a3 |
|
BLAKE2b-256 | 6b8db6478f02bdb339439e054c316cbd85c305d0c4dc4f2cba577f6a94a34eed |