Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

mcsolve in diagonal basis for time-independent Hamiltonians #341

Open
labay11 opened this issue Dec 8, 2024 · 0 comments
Open

mcsolve in diagonal basis for time-independent Hamiltonians #341

labay11 opened this issue Dec 8, 2024 · 0 comments
Labels
enhancement New feature or request

Comments

@labay11
Copy link

labay11 commented Dec 8, 2024

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

@labay11 labay11 added the enhancement New feature or request label Dec 8, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant