openfermioncirq.trotter.TrotterStep¶
-
class
openfermioncirq.trotter.TrotterStep(hamiltonian: Union[openfermion.ops._fermion_operator.FermionOperator, openfermion.ops._qubit_operator.QubitOperator, openfermion.ops._interaction_operator.InteractionOperator, openfermion.ops._diagonal_coulomb_hamiltonian.DiagonalCoulombHamiltonian])[source]¶ A method for performing a Trotter step.
This class assumes that Hamiltonian evolution using a Trotter-Suzuki product formula is performed in the following steps:
- Perform some preparatory operations (for instance, a basis change).
- Perform a number of Trotter steps. Each Trotter step may induce a permutation on the ordering in which qubits represent fermionic modes.
- Perform some finishing operations.
-
hamiltonian¶ The Hamiltonian being simulated.
-
__init__(hamiltonian: Union[openfermion.ops._fermion_operator.FermionOperator, openfermion.ops._qubit_operator.QubitOperator, openfermion.ops._interaction_operator.InteractionOperator, openfermion.ops._diagonal_coulomb_hamiltonian.DiagonalCoulombHamiltonian]) → None[source]¶ Initialize self. See help(type(self)) for accurate signature.
Methods
__init__(hamiltonian, …)Initialize self. finish(qubits, n_steps, control_qubit, …)Operations to perform after all Trotter steps are done. prepare(qubits, control_qubit)Operations to perform before doing the Trotter steps. step_qubit_permutation(qubits, control_qubit)The qubit permutation induced by a single Trotter step. trotter_step(qubits, time, control_qubit)Yield operations to perform a Trotter step.