Set the evolution operator.

This method defines the evolution operator for a specified time. It first determines the Hamiltonian and subsequently derives the evolution operator via a truncated Taylor series. The default number of terms in this series is set to terms=21, which is adequate when the Hamiltonian is derived from the adjacency matrix and gamma is less than 1.


Additional arguments for setting Hamiltonian and time. If omitted, the default arguments are used. See hiperwalk.ContinuousTime.set_hamiltonian(), hiperwalk.ContinuousTime.set_time(), and hiperwalk.ContinuousTime.set_terms().


The evolution operator is given by

\[U(t) = \text{e}^{-\text{i}tH},\]

where \(H\) is the Hamiltonian, and \(t\) is the time.

The \(n\text{th}\) partial sum of the Taylor series expansion is given by

\[\text{e}^{-\text{i}tH} \approx \sum_{j = 0}^{n-1} (-\text{i}tH)^j / j!\]

where terms\(=n\). This choice reflects default Python loops over integers, such as range and np.arange.


For non-integer time (floating number), the result is approximate. It is recommended to select a small time interval and perform multiple matrix multiplications to minimize rounding errors.