hiperwalk.ContinuousTime.set_evolution#

ContinuousTime.set_evolution(**kwargs)[source]#

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.

Parameters:
**kwargs

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().

Notes

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.

Warning

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.