Module: openfermion.circuits.trotter

Modules

algorithms module: Algorithms for performing Trotter steps.

diagonal_coulomb_trotter_error module: Code for evaluating Trotter errors for diagonal Coulomb Hamiltonians.

hubbard_trotter_error module: Module to compute Trotter errors in the plane-wave dual basis.

low_depth_trotter_error module: Module to compute Trotter errors in the plane-wave dual basis.

trotter_algorithm module: Classes for representing algorithms for performing Trotter steps.

trotter_error module: Module to compute the second order Trotter error.

Classes

class AsymmetricSplitOperatorTrotterStep: A method for performing a Trotter step.

class ControlledAsymmetricSplitOperatorTrotterStep: A method for performing a Trotter step.

class ControlledSymmetricSplitOperatorTrotterStep: A method for performing a Trotter step.

class LinearSwapNetworkTrotterAlgorithm: A Trotter algorithm using the "fermionic simulation gate".

class LowRankTrotterAlgorithm: A Trotter algorithm using the low rank decomposition strategy.

class SplitOperatorTrotterAlgorithm: A Trotter algorithm using a split-operator approach.

class SplitOperatorTrotterStep: A method for performing a Trotter step.

class SymmetricSplitOperatorTrotterStep: A method for performing a Trotter step.

class TrotterAlgorithm: An algorithm for performing a Trotter step.

class TrotterStep: A method for performing a Trotter step.

Functions

bit_mask_of_modes_acted_on_by_fermionic_terms(...): Create a mask of which modes of the system are acted on by which terms.

diagonal_coulomb_potential_and_kinetic_terms_as_arrays(...): Give the potential and kinetic terms of a diagonal Coulomb Hamiltonian as arrays.

error_bound(...): Numerically upper bound the error in the ground state energy for the second order Trotter-Suzuki expansion.

error_operator(...): Determine the difference between the exact generator of unitary evolution and the approximate generator given by Trotter-Suzuki to the given order.

fermionic_swap_trotter_error_operator_diagonal_two_body(...): Compute the fermionic swap network Trotter error of a diagonal two-body Hamiltonian.

low_depth_second_order_trotter_error_bound(...): Numerically upper bound the error in the ground state energy for the second-order Trotter-Suzuki expansion.

low_depth_second_order_trotter_error_operator(...): Determine the difference between the exact generator of unitary evolution and the approximate generator given by the second-order Trotter-Suzuki expansion.

simulate_trotter(...): Simulate Hamiltonian evolution using a Trotter-Suzuki product formula.

simulation_ordered_grouped_hubbard_terms_with_info(...): Give terms from the Fermi-Hubbard Hamiltonian in simulated order.

simulation_ordered_grouped_low_depth_terms_with_info(...): Give terms from the dual basis Hamiltonian in simulated order.

split_operator_trotter_error_operator_diagonal_two_body(...): Compute the split-operator Trotter error of a diagonal two-body Hamiltonian.

stagger_with_info(...): Give terms simulated in a single stagger of a Trotter step.

trotter_steps_required(...): Determine the number of Trotter steps for accurate simulation.

LINEAR_SWAP_NETWORK Instance of openfermion.circuits.LinearSwapNetworkTrotterAlgorithm
LOW_RANK Instance of openfermion.circuits.LowRankTrotterAlgorithm
SPLIT_OPERATOR Instance of openfermion.circuits.SplitOperatorTrotterAlgorithm