View source on GitHub
|
Gates useful for simulating fermions.
Modules
common_gates module: Gates that are commonly used for quantum simulation of fermions.
fermionic_simulation module
four_qubit_gates module: Gates that target four qubits.
three_qubit_gates module: Common gates that target three qubits.
Classes
class CubicFermionicSimulationGate: w0|110⟩⟨101| + w1|110⟩⟨011| + w2|101⟩⟨011| + h.c. interaction.
class DoubleExcitationGate: Evolve under -|0011⟩⟨1100| + h.c. for some time.
class FSwapPowGate: The FSWAP gate, possibly raised to a power.
class InteractionOperatorFermionicGate: The Jordan-Wigner transform of \(\exp(-i H)\) for a fermionic Hamiltonian \(H\), where \(H\) is an interaction operator.
class ParityPreservingFermionicGate: The Jordan-Wigner transform of \(\exp(-i H)\) for a fermionic Hamiltonian \(H\).
class QuadraticFermionicSimulationGate: (w0 |10⟩⟨01| + h.c.) + w1 |11⟩⟨11| interaction.
class QuarticFermionicSimulationGate: Rotates Hamming-weight 2 states into their bitwise complements.
Functions
CRxxyy(...): Controlled version of openfermion.Rxxyy
CRyxxy(...): Controlled version of openfermion.Ryxxy
DoubleExcitation(...): Evolve under -|0011⟩⟨1100| + h.c. for some time.
FSWAP(...): The FSWAP gate, possibly raised to a power.
Rxxyy(...): Returns a gate with the matrix exp(-i rads (X⊗X + Y⊗Y) / 2).
Ryxxy(...): Returns a gate with the matrix exp(-i rads (Y⊗X - X⊗Y) / 2).
Rzz(...): Returns a gate with the matrix exp(-i Z⊗Z rads).
fermionic_simulation_gates_from_interaction_operator(...): Given \(H = \sum_{I \subset [n]} H_I\), returns gates \(\left\{G_I\right\} = \left\{e^{i H_I}\right\}\).
rot11(...): Phases the |11> state of two qubits by e^{i rads}.
rot111(...): Phases the |111> state of three qubits by e^{i rads}.
state_swap_eigen_component(...): The +/- eigen-component of the operation that swaps states x and y.
sum_of_interaction_operator_gate_generators(...): The interaction operator that is the sum of the generators of the specified fermionic simulation gates.
View source on GitHub