1
0
Files
python-thewalrus/python-thewalrus.changes

233 lines
11 KiB
Plaintext

-------------------------------------------------------------------
Tue Apr 26 05:35:43 UTC 2022 - Steve Kowalik <steven.kowalik@suse.com>
- No longer skip Python 3.10, dask is now available.
-------------------------------------------------------------------
Fri Feb 4 22:23:56 UTC 2022 - Ben Greiner <code@bnavigator.de>
- Update to 0.18.0:
* Python module for the La Budde method of computing
characteristic polynomials. #304
* Permanent algorithms are implemented in Python using Numba
just-in-time compilation. #300
* Hafnian algorithms are implemented in Python using Numba
just-in-time compilation. #311
* Documentation is updated to include the characteristic
polynomials and decompositions modules. #312
* Makes modules reachable via the global namespace, instead of
requiring importing the modules explicitly. #312
import thewalrus as tw
tw.samples.generate_torontonian_sample
* The Walrus is no longer dependent on C++, and all C++-related
code and documentation is removed. Instead, all code has been
ported to Python using just-in-time compilation to improve
performance. #311
- Release 0.17.0
* Python installation no longer requires repoze.lru. #293
* Multidimensional Hermite polynomials are now implemented in
Numba, hence reducing the C++ dependencies of The Walrus. #295
* Updates missing figures in the "Basics of Hafnians and Loop
Hafnians" documentation. #288
-------------------------------------------------------------------
Wed Oct 27 08:01:52 UTC 2021 - Guillaume GARDET <guillaume.gardet@opensuse.org>
- Update to version 0.16.2:
* Bug fixes
* hermite_multidimensional_numba can now handle a cutoff of
type np.ndarray with shape=[]. #283
- Version 0.16.1:
* Improvements
* Faster implementation of hermite_multidimensional_numba and
hermite_multidimensional_numba_grad. #280
* Bug fixes
* Updates the samples.generate_torontonian_sample function to
ensure probabilities are normalized. #250
* Pins Numba to version <0.54 to avoid binary imcompatibilities
with the 1.21 release of NumPy. #250
- Version 0.16.0:
* New features
* Adds the function hafnian_sparse to compute sparse loop hafnians
(pure Python implementation). #245
* The symplectic.squeezing function is now generalized to multiple
modes of single mode squeezing. #249
* Adds a function symplectic.passive_transformation which allows for
Gaussian states to be transformed by arbitrary non-unitary, non-square
linear optical transformations. #249
* The torontonian_sample_state function now can sample displaced
Gaussian states. #248
* Adds the function hafnian_banded to calculate the hafnian of a
banded matrix. #246
* Adds the functions hermite_multidimensional_numba and
grad_hermite_multidimensional_numba to calculate renormalized
multidimensional Hermite polynomials and its gradients using numba. #251
* Adds the functions mzgate and grad_mzgate to calculate the Fock
representation of the Mach-Zehnder gate and its gradients. #257
* Adds the ability to calculate n-body photon number distributions
using the function n_body_marginals. #253
* Adds the ability to calculate cumulants and arbitrary expectation
values of products of powers of photon numbers with the functions
photon_number_cumulant and photon_number_moment respectively. #264
* Adds support for calculating the permanent using the BBFG
algorithm and changes this to the default method for calculating
permanents. #267
* Adds the ability to calculate click cumulants in threshold
detection with the function click_cumulant. #264
* Improvements
* Speeds up the calculation of photon number variances/covariances. #244
* Updates documentation for the the tor function. #265
* Numba methods for multidimensional hermite can now detect
dtype automatically. #271
* Bug fixes
* Corrects bug in the function photon_number_covar that gave
incorrect results when the covariance between two modes with
finite displacements was calculated. #264
* Fixes a bug in setup.py that would cause the build to fail when
using miniforge for M1 macs. #273
* Updates the samples.generate_hafnian_sample function to renormalizing
probabilities. #250
* Breaking changes
* Torontonians and approximations to the hafnian for non-negative
matrices are no longer calculated in C++ using the Eigen software
library. Instead, they are now calculated in pure Python using Numba.
These changes have the nice result of making The Walrus compilable
from source using only a C++ compiler. #262 #259.
- Version 0.15.1
* Bug fixes
* Builds The Walrus binaries against an older version of NumPy, to avoid
a breaking ABI change in NumPy 1.20. #240
- Version 0.15.0
* 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 and
characteristic_function to study properties of the total photon
number distribution of a k identical lossy squeezers. #230
* Adds new functions xxpp_to_xpxp and xpxp_to_xxpp in the symplectic
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 with CFLAGS. #229
* The fidelity function in quantum/gaussian_checks.py is rewritten to
add clarity. #226
* Simplifies logic of normal_ordered_expectation by removing mutually
cancelling np.conj. #228
* Bug fixes
* Removes unnecessary np.real_if_close statements in quantum/fock_tensors.py
causing the probabilities to not be normalized. #215
* Fixes the prefactor in pure_state_amplitude. #231
-------------------------------------------------------------------
Mon Feb 8 14:35:31 UTC 2021 - andy great <andythe_great@pm.me>
- Disable build for python 3.6 because numpy does not support it.
-------------------------------------------------------------------
Thu Nov 26 07:51:50 UTC 2020 - andy great <andythe_great@pm.me>
- Update to version 0.14.0.
* New features
* Adds the function find_classical_subsystem that tries to find
a subset of the modes with a classical covariance matrix.
* Adds the functions mean_number_of_clicks and
variance_number_of_clicks that calculate the first and second
statistical moments of the total number of clicks in a
Gaussian state centered at the origin.
* Adds the module decompositions with the function williamson
to find the Williamson decomposition of an even-size
positive-semidefinite matrix.
* Adds the loop_hafnian_quad function to the Python interface
for converting double precision matrices into quad precision,
doing the calculations in quad precision, and then return the
result as a double.
* Improvements
* Introduces a new faster and significantly more accurate
algorithm to calculate power traces allowing to speed up the
calculation of loop hafnians
* The quantum module has been refactored and organized into
sub-modules. Several functions have been renamed, while the
old names are being deprecated.
* Adds support for C++14
* pytest-randomly is added to the test suite to improve testing
and avoid stochastically failing tests.
* Modifies the function input_validation to use np.allclose for
checking the symmetry of the input matrices.
* Modifies the function _hafnian to calculate efficiently loop
hafnians of diagonal matrices.
* Breaking changes
* Removes the redundant function normal_ordered_complex_cov.
* Renames the function mean_number_of_clicks to be
mean_number_of_click_graph.
-------------------------------------------------------------------
Thu Sep 24 21:14:01 UTC 2020 - Matej Cepl <mcepl@suse.com>
- Actually manually adding "-fopenmp" to CFLAGS allows us to use
even the standard SUSE CFLAGS (workaround found in the same
bug).
-------------------------------------------------------------------
Mon Sep 21 15:08:09 UTC 2020 - Matej Cepl <mcepl@suse.com>
- Standard OpenSUSE CFLAGS break the build
(gh#XanaduAI/thewalrus#198).
-------------------------------------------------------------------
Thu Sep 17 19:35:47 UTC 2020 - andy great <andythe_great@pm.me>
- Fix spec file typo.
-------------------------------------------------------------------
Fri Sep 11 20:38:18 UTC 2020 - andy great <andythe_great@pm.me>
- Update to version 0.13.0.
* Adds a new algorithm for hafnians of matrices with low rank.
* Adds a function to calculate the fidelity between two Gaussian
quantum states.
* Adds a new module, thewalrus.random, to generate random
unitary, symplectic and covariance matrices.
* Adds new functions normal_ordered_expectation,
photon_number_expectation and photon_number_squared_expectation
in thewalrus.quantum to calculate expectation values of
products of normal ordered expressions and number operators and
their squares.
* Adds the function hafnian_sample_graph_rank_one in
thewalrus.samples to sample from rank-one adjacency matrices.
* Adds parallelization support using Dask for
quantum.probabilities.
* Removes support for Python 3.5.
* Changes in the interface and speed ups in the functions in the
thewalrus.fock_gradients module.
* Improves documentation of the multidimensional Hermite
polynomials.
* Improves speed of fock_tensor when the symplectic matrix passed
is also orthogonal.
* Fixes Numba decorated functions not rendering properly in the
documentation.
* Solves the issue with quantum and samples not being rendered in
the documentation or the TOC.
* Fix bug where quantum and samples were not showing up in the
documentation.
* The functions in thewalrus.fock_gradients are now separated
into functions for the gradients and the gates. Moreover, they
are renamed, for instance Dgate becomes displacement and its
gradient is now grad_displacement.
-------------------------------------------------------------------
Wed Aug 5 16:12:15 UTC 2020 - andy great <andythe_great@pm.me>
- Use pytest for %check
-------------------------------------------------------------------
Sun Aug 2 10:05:38 UTC 2020 - andy great <andythe_great@pm.me>
- Initial package release.