ffsim.simulate_trotter_double_factorized¶
- ffsim.simulate_trotter_double_factorized(vec, hamiltonian, time, *, norb, nelec, n_steps=1, order=0, copy=True)[source]¶
Double-factorized Hamiltonian simulation using Trotter-Suzuki formula.
- Parameters:
vec (
ndarray) – The state vector to evolve.hamiltonian (
DoubleFactorizedHamiltonian) – The Hamiltonian.time (
float) – The evolution time.norb (
int) – The number of spatial orbitals.nelec (
tuple[int,int]) – The number of alpha and beta electrons.n_steps (
int) – The number of Trotter steps.order (
int) – The order of the Trotter decomposition.copy (
bool) –Whether to copy the vector before operating on it.
If
copy=Truethen this function always returns a newly allocated vector and the original vector is left untouched.If
copy=Falsethen this function may still return a newly allocated vector, but the original vector may have its data overwritten. It is also possible that the original vector is returned, modified in-place.
- Return type:
- Returns:
The final state of the simulation.