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

Require tools to match states #1275

Open
jwnys opened this issue Jul 26, 2022 · 1 comment
Open

Require tools to match states #1275

jwnys opened this issue Jul 26, 2022 · 1 comment

Comments

@jwnys
Copy link
Collaborator

jwnys commented Jul 26, 2022

It often happens that we need to minimize the distance/maximize the overlap between a variational state and some fixed reference state. For example, in simulation of quantum devices, or in analyses like "https://onlinelibrary.wiley.com/doi/pdf/10.1002/pssb.202100172", or maybe also in time evolution (?).
It would be very useful to have a generic class, say "StateCompilation", which takes a reference state (can be an array, ExactState, or MCState), and a generic "loss_and_grad_fn", which takes the variational state and reference state as input.
This would allow us to e.g. create an infidelity, KL divergence, MSE, etc minimization with one driver class.

Apart from the driver, one also could use such measures/metrics/losses (especially infidelity) to compute excited states through orthogonalization.
@inailuig has many of the necessary ingredients already.
To my knowledge, such things do not exist yet in NetKet @PhilipVinc ?

@inailuig
Copy link
Collaborator

both are working, but would need some polishing if we ever want to merge...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants