Skip to content

Release 0.10

Compare
Choose a tag to compare
@josh146 josh146 released this 22 Apr 22:56
· 843 commits to master since this release

Summary of changes from 0.9

New features

  • Added two new utility functions to extract a numerical representation of a circuit from an Engine object: extract_unitary and extract_channel.

  • Added a LaTeX quantum circuit drawer, that outputs the engine queue or the applied operations as a qcircuit compatible circuit diagram.

  • Added support for an alternative form of Clements decomposition, where the local phases occur at the end rather than in the middle of the beamsplitter array. This decomposition is more symmetric than the intermediate one, which could make it more robust. This form also makes it easier to implement a tensor-network simulation of linear optics.

  • Adds the GraphEmbed quantum operation/decomposition to the Strawberry Fields frontend. This allows the embedding of an arbitrary (complex-valued) weighted adjacency matrix into a Gaussian boson sampler.

  • Adds support for the Reck decomposition

  • Added documentation to the Quantum Algorithms section on CV quantum neural networks

Improvements

  • Test suite has been ported to pytest

  • Linting improvements

  • Made corrections to the Clements decomposition documentation and docstring, and fixed the Clements unit tests to ensure they are deterministic.

Bug fixes

  • Fixed Bloch-Messiah bug arising when singular values were degenerate. Previously, the Bloch-Messiah decomposition did not return matrices in the canonical symplectic form if one or more of the Bloch-Messiah singular values were degenerate.

Contributors

This release contains contributions from (in alphabetical order):

Shahnawaz Ahmed, Thomas R. Bromley, Ish Dhand, Marcus Edwards, Christian Gogolin, Josh Izaac, Nathan Killoran, Filippo Miatto, Nicolás Quesada.