OpenFermion Cirq Versions Save

Quantum circuits for simulations of quantum chemistry and materials.

v0.4.0

4 years ago

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.

v0.3.0

5 years ago

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

v0.2.1a

5 years ago

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

v0.1.1a

5 years ago

Minor package polish.

v0.1.0a

5 years ago

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.