Thewalrus

Latest version: v0.21.0

Safety actively analyzes 687714 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 5

0.21.0

New features

* Adds the Takagi decomposition [(363)](https://github.com/XanaduAI/thewalrus/pull/363)

* Adds the Montrealer and Loop Montrealer functions [(363)](https://github.com/XanaduAI/thewalrus/pull/374).

Improvements

* Tighten power-trace bound of odd loop Hafnian. [(362)](https://github.com/XanaduAI/thewalrus/pull/362)

* Simplifies the internal working of Bloch-Messiah decomposition [(363)](https://github.com/XanaduAI/thewalrus/pull/338).

* Simplifies the internal working of Williamson decomposition [(366)](https://github.com/XanaduAI/thewalrus/pull/338).

* Improves the handling of an edge case in Takagi [(373)](https://github.com/XanaduAI/thewalrus/pull/373).

* Adds extra tests for the Takagi decomposition [(377)](https://github.com/XanaduAI/thewalrus/pull/377)

Contributors

This release contains contributions from (in alphabetical order):

Yanic Cardin (yaniccd), Gregory Morse (GregoryMorse), Nicolas Quesada (nquesada)

0.20.0

New features

* Implementation of gaussian boson sampling and gaussian boson sampling with threshold detectors. [(343)](https://github.com/XanaduAI/thewalrus/pull/338)
* New function to produce Bloch-Messiah decomposition of symplectic matrices. [(352)](https://github.com/XanaduAI/thewalrus/pull/352)

Improvements

* Added function to extend single mode symplectic to act on multiple modes. [(347)](https://github.com/XanaduAI/thewalrus/pull/347)
* Added function to compute grouped (total) click probabilities for GBS setups using threshold detectors. The function uses the positive P-distribution simulation method of [Drummond et al.](https://arxiv.org/pdf/2102.10341.pdf). [(#348)](https://github.com/XanaduAI/thewalrus/pull/348)

Bug fixes

* Remove redundant call of `Qmat`, `Amat` from `generate_hafnian_sample`. [(343)](https://github.com/XanaduAI/thewalrus/pull/343)

Documentation

* The centralized [Xanadu Sphinx Theme](https://github.com/XanaduAI/xanadu-sphinx-theme) is now used to style the Sphinx documentation. [(#341)](https://github.com/XanaduAI/thewalrus/pull/341)

Contributors

This release contains contributions from (in alphabetical order):

Mikhail Andrenkov (Mandrenkov), Sebastián Duque (sduquemesa), Jacob Hastrup (JacobHast), Antonín Hoskovec (thonic), Martin Houde (MHoude2), Benjamin Lanthier (benjaminlanthier), Dominic Leclerc (dleclerc33), Filippo Miatto (ziofil), Will McCutcheon, Brandon Turcotte (brandonpolymtl), Jiaqi Zhao (JQZ1111)

0.19.0

New features
* New functions for calculating properties of distinguishable squeezed states of light having passed through an interferometer. [326](https://github.com/XanaduAI/thewalrus/pull/326)

* New function `ltor` is added which allows `threshold_detector_prob` to act more consistently on displaced and zero-mean Gaussian states. [317](https://github.com/XanaduAI/thewalrus/pull/317)

* New functions for threshold detection probabilities of Fock states, the Bristolian (brs) and the Unitary Bristolian (ubrs). [316](https://github.com/XanaduAI/thewalrus/pull/316)

* Entanglement measures `entanglement_entropy` and `log_negativity` for bipartite Gaussian states are added to the quantum submodule. [332](https://github.com/XanaduAI/thewalrus/pull/322)

* New functions, `recursive_hafnian` and `solve` added in the `_hafnian` module. [325](https://github.com/XanaduAI/thewalrus/pull/325)

* New function to check if a matrix is symplectic `is_symplectic`. [334](https://github.com/XanaduAI/thewalrus/pull/334).

* Adds support for Python 3.10. [337](https://github.com/XanaduAI/thewalrus/pull/337)

Improvements
* Update methods for calculating threshold detector probabilities of Gaussian states, now using `ltor` function within `threshold_detection_prob` [317](https://github.com/XanaduAI/thewalrus/pull/317)

* `numba_tor` now can benefit from numba parallelization [317](https://github.com/XanaduAI/thewalrus/pull/317)

* Recursive Torontonian added for faster computation based on paper ["Polynomial speedup in Torontonian calculation by a scalable recursive algorithm" by Ágoston Kaposi, Zoltán Kolarovszki, Tamás Kozsik, Zoltán Zimborás, and Péter Rakyta](https://arxiv.org/pdf/2109.04528.pdf). [#321](https://github.com/XanaduAI/thewalrus/pull/321)

* Recursive Loop Torontonian added for faster computation based on combining recursive Torontonian improvement and new loop Torontonian feature. [332](https://github.com/XanaduAI/thewalrus/pull/332)

* Hafnians of odd-sized matrices are calculated roughly twice as fast. [329](https://github.com/XanaduAI/thewalrus/pull/329)

* The new Hafnian functions now use the Labudde method to calculate power traces instead of using diagonalization. [333](https://github.com/XanaduAI/thewalrus/pull/333)

Bug fixes

* Permanent algorithms handle 0x0 cases correctly. [320](https://github.com/XanaduAI/thewalrus/pull/320)

Contributors

This release contains contributions from (in alphabetical order):

Jake Bulmer, Luke Helt, Martin Houde, Theodor Isacsson, Benjamin Lanthier, Fabian Laudenbach, Dominic Leclerc, Gregory Morse, Nicolas Quesada, Brandon Turcotte, Jiaqi Zhao

0.18.0

New features

* Python module for the La Budde method of computing characteristic polynomials. [304](https://github.com/XanaduAI/thewalrus/pull/304)

Improvements

* Permanent algorithms are implemented in Python using Numba just-in-time compilation. [300](https://github.com/XanaduAI/thewalrus/pull/300)

* Hafnian algorithms are implemented in Python using Numba just-in-time compilation. [311](https://github.com/XanaduAI/thewalrus/pull/311)

* Documentation is updated to include the characteristic polynomials and decompositions modules. [312](https://github.com/XanaduAI/thewalrus/pull/312)

Bug fixes

* Makes modules reachable via the global namespace, instead of requiring importing the modules explicitly. [312](https://github.com/XanaduAI/thewalrus/pull/312)

python
import thewalrus as tw
tw.samples.generate_torontonian_sample


Breaking Changes

* 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](https://github.com/XanaduAI/thewalrus/pull/311)

Contributors

This release contains contributions from (in alphabetical order):

Theodor Isacsson, Benjamin Lanthier, Dominic Leclerc, Nicolas Quesada, Brandon Turcotte, Trevor Vincent, Jiaqi Zhao

0.17.0

Improvements
* Python installation no longer requires [`repoze.lru`](https://pypi.org/project/repoze.lru/). [#293](https://github.com/XanaduAI/thewalrus/pull/293)

* Multidimensional Hermite polynomials are now implemented in Numba, hence reducing the C++ dependencies of The Walrus. [295](https://github.com/XanaduAI/thewalrus/pull/295)

* Updates missing figures in the "Basics of Hafnians and Loop Hafnians" documentation. [288](https://github.com/XanaduAI/thewalrus/pull/288)

Contributors

This release contains contributions from (in alphabetical order):

Mikhail Andrenkov, Sebastián Duque

0.16.2

Bug fixes
* `hermite_multidimensional_numba` can now handle a cutoff of type `np.ndarray` with `shape=[]`. [283](https://github.com/XanaduAI/thewalrus/pull/283)

Contributors

This release contains contributions from (in alphabetical order):

Filippo Miatto

Page 1 of 5

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.