Release 0.8
Summary of changes from 0.7
New features
-
You can now prepare multimode states in all backends, via the following new quantum operations in
strawberryfields.ops
:Ket
DensityMatrix
Gaussian
Both
Ket
andDensityMatrix
work with the Fock backends, whileGaussian
works with all three, applying the Williamson decomposition or, optionally, directly preparing the Gaussian backend with the provided Gaussian state. -
Added Gaussian decompositions to the front-end; these can be accessed via the new quantum operations
Interferometer
,GaussianTransform
,Gaussian
. These allow you to apply interferometers, Gaussian symplectic transformations, and prepare a state based on a covariance matrix respectively. You can also query the engine to determine the CV gate decompositions applied. -
Added the cross-Kerr interaction, accessible via the quantum operation
CKgate()
. -
Added utilities for creating random covariance, symplectic, and Gaussian unitary matrices in
strawberryfields.utils
. -
States can now be compared directly for equality - this is defined separately for Gaussian states and Fock basis states.
Improvements
- The engine logic and behaviour has been overhauled, making it simpler to use and understand.
eng.run()
andeng.reset()
now allow the user to alter parameters such ascutoff_dim
between runs.eng.reset_backend()
has been renamed toeng.reset()
, and now also implicitly resets the queue.- The engine can now be reset even in the case of modes having being added/deleted, with no side effects. This is due to the presence of register checkpoints, allowing the engine to keep track of register changes.
eng.print_applied()
keeps track of multiple simulation runs, by using nested lists.
- A new parameter class is introduced - this is a developmental change, and does not affect the user-facing parts of Strawberry Fields. All parameters passed to quantum operations are 'wrapped' in this parameter class, which also contains several high level mathematical and array/tensor manipulation functions and methods.
Contributors
This release contains contributions from:
Ville Bergholm, Christian Gogolin, Nicolás Quesada, Josh Izaac, and Nathan Killoran.