This repository has been archived by the owner on Mar 15, 2022. It is now read-only.
Releases: quantumlib/OpenFermion-Cirq
Releases · quantumlib/OpenFermion-Cirq
OpenFermion-Cirq v0.4.0
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
. Usecirq.ISwapPowGate
with negated exponent, instead.openfermioncirq.XXYY
. Use cirq.ISWAP with negated exponent, instead.openfermioncirq.YXXYPowGate
. Usecirq.PhasedISwapPowGate
, instead.openfermioncirq.YXXY
. Usecirq.PhasedISwapPowGate
, instead.openfermioncirq.CXXYYPowGate
. Usecirq.ControlledGate
andcirq.ISwapPowGate
with negated exponent, instead.openfermioncirq.CXXYY
. Usecirq.ControlledGate
andcirq.ISWAP
with negated exponent, instead.openfermioncirq.CYXXYPowGate
. Usecirq.ControlledGate
andcirq.PhasedISwapPowGate
, instead.openfermioncirq.CYXXY
. Usecirq.ControlledGate
andcirq.PhasedISwapPowGate
, instead.
OpenFermion-Cirq v0.3.0
Notable changes and additions:
CombinedDoubleExcitationGate
bogoliubov_transform
andprepare_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 formNamePowGate
. For example,XXYYGate
is nowXXYYPowGate
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
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
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
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.