New features
-
Adds the function
random_banded_interferometer
to generate unitary matrices with a given bandwidth. #208 -
Adds the function
tvd_cutoff_bounds
to calculate bounds in the total variation distance between a Fock-truncated and an ideal GBS distribution. #210 -
Adds function for calculating threshold detection probabilities for Gaussian states with displacement. #220
-
Adds new functions
total_photon_number_distribution
andcharacteristic_function
to study properties of the total photon number distribution of ak
identical lossy squeezers. #230 -
Adds new functions
xxpp_to_xpxp
andxpxp_to_xxpp
in thesymplectic
module to swap the ordering of the quadrature operators in vectors and matrices. #237
Improvements
-
The hafnians and loop hafnians of diagonal matrices are now calculated in polynomial time. #212
-
Refactors
setup.py
to avoid issues withCFLAGS
. #229 -
The
fidelity
function inquantum/gaussian_checks.py
is rewritten to add clarity. #226 -
Simplifies logic of
normal_ordered_expectation
by removing mutually cancellingnp.conj
. #228
Bug fixes
-
Removes unnecessary
np.real_if_close
statements inquantum/fock_tensors.py
causing theprobabilities
to not be normalized. #215 -
Fixes the prefactor in
pure_state_amplitude
. #231
Contributors
This release contains contributions from (in alphabetical order):
Jack Brown, Jake Bulmer, Rachel Chadwick, Stefano Paesani, Nicolas Quesada