Replies: 1 comment
|
@Adrien-Kahn by any chance do you have a code to do the determinant state ground state optimization using G and Gh, or you only have the code for bridge? |
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Hi, I've been trying to prepare excited states for a certain model with NetKet. I came across various examples of code implementing penalty-based state preparation, such as the code attached to this discussion (as well as corresponding PR), fidelity implementation here and here, etc, and I tried to prepare a code out of these. For most cases, although I'm obtaining reasonable energy values for both ground and excited states, it turns out that my fidelity (computed without VMC) is significantly off for the excited state (perfect for the ground state).
So I came across 2308.16848, where they are taking the Slater determinant of a larger Hilbert space to ensure ground and excited states are orthogonal (eq 1-2 and 15).

As far as I understand, I can implement it in Netket by doubling my Hamiltonian, where two chunks are independent from each other and acting on different portions of the general Hilbert space, which is doubled as well:
In order to take care of the two Hilbert spaces separately, I created the following model
where the model takes only half of the Hilbert space, and each model is essentially a backflow network with different parameters.
I followed the standard training procedure with the doubled Hilbert space and split the two models into two separate MC states after training, ensuring that each new MC state contains half of the
sampler_state.σ. While this produces a perfect ground state, I found that the excited state is again quite off, though the two states are not identical. In fact, the overlap between the two states is quite similar to the results I get with the penalty-based implementation.It seems I am unable to ensure orthogonality between two states, and I cannot find a way to force it either. Do you, by any chance, have an implementation for finding excited states that I could look into? Or could you point me towards a resource that I can implement?
Thanks
Best regards
All reactions