Skip to content
This repository has been archived by the owner on Mar 15, 2022. It is now read-only.

Releases: quantumlib/OpenFermion-Cirq

OpenFermion-Cirq v0.4.0

02 Apr 21:50
e0ee00e
Compare
Choose a tag to compare

Notable changes and additions:

  • An implementation of the fermionic Fast Fourier Transform: openfermioncirq.ffft.
  • Improved Givens rotation network for effecting one-body basis rotations: openfermioncirq.primitives.optimal_givens_decomposition.
  • openfermioncirq.CubicFermionicSimulationGate.
  • openfermioncirq.QuarticFermionicSimulationGate.

Deprecations:

  • openfermioncirq.XXYYPowGate. Use cirq.ISwapPowGate with negated exponent, instead.
  • openfermioncirq.XXYY. Use cirq.ISWAP with negated exponent, instead.
  • openfermioncirq.YXXYPowGate. Use cirq.PhasedISwapPowGate, instead.
  • openfermioncirq.YXXY. Use cirq.PhasedISwapPowGate, instead.
  • openfermioncirq.CXXYYPowGate. Use cirq.ControlledGate and cirq.ISwapPowGate with negated exponent, instead.
  • openfermioncirq.CXXYY. Use cirq.ControlledGate and cirq.ISWAP with negated exponent, instead.
  • openfermioncirq.CYXXYPowGate. Use cirq.ControlledGate and cirq.PhasedISwapPowGate, instead.
  • openfermioncirq.CYXXY. Use cirq.ControlledGate and cirq.PhasedISwapPowGate, instead.

OpenFermion-Cirq v0.3.0

19 Dec 02:35
Compare
Choose a tag to compare

Notable changes and additions:

  • CombinedDoubleExcitationGate
  • bogoliubov_transform and prepare_gaussian_state automatically detect spin symmetry and return optimized circuits if it is present
  • Implemented FSWAP as an EigenGate, so it can be raised to a power
  • Standardized common gate classes to take an exponent argument and have a name of the form NamePowGate. For example, XXYYGate is now XXYYPowGate and no longer takes rads, degs, or half_turns.
  • Faster simulation of most gates on Cirq's simulator via defining the _apply_unitary_to_tensor_ magic method
  • rot11, rotzz, Rxxyy, Ryxxy

OpenFermion-Cirq v0.2.1a

11 Sep 03:42
21b830e
Compare
Choose a tag to compare
Pre-release

Includes major changes to functionality for studying variational algorithms and the low rank Trotter step.

  • Changed the protocol for defining a variational ansatz
  • The objective function for variational algorithms is now represented by the VariationalObjective class
  • VariationalStudy can track additional information, such as time spent, about optimization runs
  • Utilize improved low rank decomposition from OpenFermion for low rank Trotter step
  • Changed how the one-body terms are simulated in the low rank Trotter step
  • Added a variational ansatz based on the low rank Trotter step

OpenFermion-Cirq v0.1.1a

18 Jul 22:55
b24de1f
Compare
Choose a tag to compare
Pre-release

Minor package polish.

  • Now requiring python 3.5.3+ instead of 3.5+ (quantumlib/Cirq#710).
  • Fixed error in variational algorithm tutorial.
  • Put user installation instructions before dev instructions.
  • Various doc fixes.

OpenFermion-Cirq v0.1.0a

18 Jul 08:19
0c5e84d
Compare
Choose a tag to compare
Pre-release

The first public alpha release of OpenFermion-Cirq! Launch features include:

  • Linear depth linear connectivity Bogoliubov transformations.
  • Framework for linear depth linear connectivity swap networks.
  • Framework for implementing different types of Trotter steps
  • Linear swap network DiagonalCoulombHamiltonian Trotter steps.
  • Linear split operator DiagonalCoulombHamiltonian Trotter steps.
  • Prototype functionality for arbitrary "low rank" Trotter steps.
  • Framework for instantiating variational ansatz circuits.
  • Framework for implementing variational algorithm studies.
  • Variational ansatz circuits based on linear Trotter steps.
  • Tutorial about basis transformations and free fermion models.
  • Tutorial about Trotter steps of DiagonalCoulombHamiltonians.
  • Tutorial about Trotter steps based on low rank decompositions.
  • Tutorial about implementing variational algorithms, applied to jellium, H2.