You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
For time-independent Hamiltonians it is possible to implement an exact Monte-Carlo solver which works on the diagonal basis of the effective Hamiltonian. In this way, the evolution of the wave function becomes exact and it is possible to calculate the next jump time deterministically. This makes the evolution much more efficient and exact than the default solver based on solving the ODE problem.
Proposed Solution
Together with @albertomercurio we did an implementation of the solve for a project we are working on. This is based on diagonalizing the effective Hamiltonian and expressing all quantities in the new basis. Our implementation does not use the SciML functions but can probably be adapted.
The calculation of the next jump time is obtained by finding the roots of the function $f(t, r, \psi) = |\hat{R} |\psi(t)\rangle|^2 - r$ where $r$ is the random number for the next jump time, $\psi(t)\rangle = \sum_j e^{-i \lambda_j t} |v_j\rangle$ and $\hat{R}$ is the change of basis matrix from the original basis to the diagonal basis of the Hamiltonian ($|v_j\rangle$). Note that this matrix is not unitary because the effective Hamiltonian is not Hermitian. Hence, in the new basis, the norm of a state needs to be expressed as $|\hat{R} |\psi(t)\rangle|$.
Alternate Solutions
No response
Additional Context
No response
The text was updated successfully, but these errors were encountered:
Problem Description
For time-independent Hamiltonians it is possible to implement an exact Monte-Carlo solver which works on the diagonal basis of the effective Hamiltonian. In this way, the evolution of the wave function becomes exact and it is possible to calculate the next jump time deterministically. This makes the evolution much more efficient and exact than the default solver based on solving the ODE problem.
Proposed Solution
Together with @albertomercurio we did an implementation of the solve for a project we are working on. This is based on diagonalizing the effective Hamiltonian and expressing all quantities in the new basis. Our implementation does not use the SciML functions but can probably be adapted.
The calculation of the next jump time is obtained by finding the roots of the function$f(t, r, \psi) = |\hat{R} |\psi(t)\rangle|^2 - r$ where $r$ is the random number for the next jump time, $\psi(t)\rangle = \sum_j e^{-i \lambda_j t} |v_j\rangle$ and $\hat{R}$ is the change of basis matrix from the original basis to the diagonal basis of the Hamiltonian ($|v_j\rangle$ ). Note that this matrix is not unitary because the effective Hamiltonian is not Hermitian. Hence, in the new basis, the norm of a state needs to be expressed as $|\hat{R} |\psi(t)\rangle|$ .
Alternate Solutions
No response
Additional Context
No response
The text was updated successfully, but these errors were encountered: