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

Add Chepiga ansatz #147

Merged
merged 1 commit into from
Jun 5, 2024
Merged

Add Chepiga ansatz #147

merged 1 commit into from
Jun 5, 2024

Conversation

lkdvos
Copy link
Member

@lkdvos lkdvos commented Jun 5, 2024

Co-authored-by: Atsushi Ueda

Co-authored-by: Atsushi Ueda
Copy link

codecov bot commented Jun 5, 2024

Codecov Report

Attention: Patch coverage is 95.55556% with 2 lines in your changes missing coverage. Please review.

Project coverage is 83.73%. Comparing base (f7076b4) to head (c4fd585).

Files Patch % Lines
src/algorithms/excitation/chepigaansatz.jl 95.55% 2 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##           master     #147      +/-   ##
==========================================
+ Coverage   83.62%   83.73%   +0.11%     
==========================================
  Files          72       73       +1     
  Lines        4701     4746      +45     
==========================================
+ Hits         3931     3974      +43     
- Misses        770      772       +2     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@Gertian
Copy link
Collaborator

Gertian commented Jun 5, 2024

@lkdvos could add a reference for this Ansatz ?

@lkdvos
Copy link
Member Author

lkdvos commented Jun 5, 2024

It's already in the docstrings and the documentation page, not sure where else you want the reference?

@lkdvos lkdvos merged commit 4547d74 into master Jun 5, 2024
12 checks passed
@lkdvos lkdvos deleted the chepiga-ansatz branch June 5, 2024 12:23
@Jutho
Copy link
Member

Jutho commented Jun 5, 2024

I am not a huge fan of arbitrarily naming things after (a subset of) authors of papers. The search term "chepiga ansatz" has no hits on Google or Google Scholar. I know coming up with a good name is hard, but I believe it is worth the effort.

@Gertian
Copy link
Collaborator

Gertian commented Jun 5, 2024

It's already in the docstrings and the documentation page, not sure where else you want the reference?

I ment what Jutho just mentioned above. But I also agree that this is not easy. From my part this was just out of curiosity, I didn't notice you already mentioned the source in the docstring.

@Jutho
Copy link
Member

Jutho commented Jun 5, 2024

Something like LocalizedExcitationAnsatz (maybe even without the Ansatz part)?

Also, I am not sure whether the documentation advice is correct that this is good if the system is "sufficiently" gapped. Even in the gapped case, you need the excitation to delocalise. My impression was that this ansatz actually works well in the case of critical systems, because there the virtual space (of an MPS that well approximates the ground state) contains sufficient degrees of freedom to change the global state by only modifying a single local tensor. I.e. it is the much slower decay of correlations in such states that makes this ansatz work. If you do this is a strongly gapped state like AKLT, it would be pretty bad I think (one could easily check). There, even with the momentum space ansatz (I still don't like the quasiparticle name either 😄), modifying a single tensor is not sufficient to reach great precision, and this should be strictly worse.

@lkdvos
Copy link
Member Author

lkdvos commented Jun 5, 2024

Ah, I seem to have read over the abstract too quickly. In any case, it seems like this ansatz is probably contained within the manifold of the quasiparticle ansatz, so I would guess in general this is strictly "worse" than that, however it is also a whole lot cheaper. I'll try and adapt the doc page a bit, it's not too easy to write things for an algorithm I know very little about. I think it's mostly added for easy comparison, and since Atsushi sent me the code I just put it in.

Considering the name, we already have a couple of these in MPSKit, as for example marek_gap is presumably not known beyond our office, and VOMPS also gives no hits on google scholar. In that sense, I actually quite like the name, as it is A. short and easy to remember B. has already been used colloquially by some people in Benasque and in our office and C. has some explicit form of credit/citation in the code, so there is some benefit to naming it that way (I did not come up with this myself). I agree that it is a bit personal, so maybe I'll send an email to the authors asking for their permission, or if they use a different name themselves?

@Jutho
Copy link
Member

Jutho commented Jun 5, 2024

marek_gap definitely needs to go, that's not even using a family name. The problem with this is that you only credit the first author, which is often not a fair representation of reality.

@Jutho
Copy link
Member

Jutho commented Jun 5, 2024

For marek_gap, it anyway seems the documentation is very limited and the interface is not at all specified. The first return value is not the "Marek" gap but the actual (inverse) correlation length, and only the second return value is the gap. Personally, I would think that interface in the form of

(inverse_)correlation_length_spectrum(state, howmany, some options such as which symmetry sector or which angle)

would be more useful. Then there could be a first_gap utility, to find the first gap in a list of values that represent a spectrum of some kind. But this should probably not be discussed here.

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

Successfully merging this pull request may close these issues.

3 participants