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.