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.