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

Thermal mode rounding error #24

Open
kdbarajas opened this issue Dec 18, 2021 · 2 comments
Open

Thermal mode rounding error #24

kdbarajas opened this issue Dec 18, 2021 · 2 comments
Labels
bug Something isn't working

Comments

@kdbarajas
Copy link
Collaborator

kdbarajas commented Dec 18, 2021

When setting thermalmode(n,mode), the Hilbert space of the mode is usually truncated when it no longer meaningfully contributes.

However, since the function is defined to have tr(thermalmode(mode,\bar{n})) = 1 for any Hilbert space dimension, rounding error that runs against machine precision begins to occur for large N Hilbert space. There should be a built-in mechanism that catches this and removes rounding error and sets higher mode number to zero.

The following plot represents the RMSE of the solution to timeevolution.schrodinger_dynamic between iterations for a density matrix with thermal mode n = 0.5 and increasing Hilbert space dimension.
output

@kdbarajas
Copy link
Collaborator Author

kdbarajas commented Dec 18, 2021

I should note that convergence for say n = 5 under the same setup (only a different thermal mode) had a clear convergence pattern. It is possible that the code isn't properly handling specifically non-integer values.

@jbroz11
Copy link
Member

jbroz11 commented Sep 23, 2022

@kdbarajas Can you provide the specific code that you are using to run the simulation? As is, this is not reproducible.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

3 participants