A library for the calculation of hafnians, Hermite polynomials and Gaussian boson sampling.
Added two new sampling functions in hafnian.sample
, allowing efficient sampling from classical Gaussian states:
hafnian_sample_classical_state
torontonian_sample_classical_state
Added functions to calculate the probability amplitudes directly for pure states:
pure_state_amplitude
state_vector
Added utility functions to check the validity of covariance matrices:
is_valid_cov
is_pure_cov
is_classical_cov
quantum
package now take as arguments xp-covariance matrices and vectors of means for consistency.This release contains contributions from (in alphabetical order):
Nicolas Quesada
Added a new sampling submodule hafnian.sample
, allowing sampling from the underlying hafnian/Torontonian distribution of graphs/Gaussian states
Documentation overhaul: now contains some of the best and most up-to-date information about hafnians, loop hafnians, and Torontonians
C++ library has been significantly improved, tested, and refactored
Ported the hafnian_approx.F90
Fortran file to C++
The Torontonian function is now parallelized via OpenMP
Tests and the C++ header library have been refactored
Addition of new C++ tests using Googletest
C++ library is now documented via Doxygen; this is integrated directly into Sphinx
This release contains contributions from (in alphabetical order):
Brajesh Gupt, Josh Izaac, Nicolas Quesada