qat.fermion.trotterisation.make_trotterisation_routine
- qat.fermion.trotterisation.make_trotterisation_routine(hamiltonian: SpinHamiltonian | FermionHamiltonian | ElectronicStructureHamiltonian, n_trotter_steps: int, final_time: float | None = 1.0, method: str | None = 'jordan-wigner') QRoutine
This function first trotterizes the evolution operator
of a Hamiltonian using a first order approximation. If the Hamiltonian is fermionic, it is converted to its spin representation.- Parameters:
hamiltonian (Union[SpinHamiltonian, FermionHamiltonian, ElectronicStructureHamiltonian]) – Hamiltonian to trotterize.
n_trotter_steps (int) – Number
of Trotter steps.final_time (Optional[float]) – Time
in the evolution operator.method (Optional[str]) – Method to use for the transformation to a spin representation. Other available methods include
"bravyi-kitaev"
and"parity"
. Defaults to"jordan-wigner"
.
- Returns:
Gates to apply to perform the time evolution of the chemical Hamiltonian with trotterisation.
- Return type:
Notes
In the fermionic case :
This operator is then mapped to a product of Pauli operators via a Jordan-Wigner transformation and the resulting QRoutine is returned.
The QRoutine implements a first order Trotter approximation, but higher order approximations are possible.