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

Concern regarding term usage for Heisenberg Model #15

Open
JonhasSC opened this issue Jul 29, 2024 · 1 comment
Open

Concern regarding term usage for Heisenberg Model #15

JonhasSC opened this issue Jul 29, 2024 · 1 comment

Comments

@JonhasSC
Copy link

Given the implementation of the Heisenberg model, I have concerns regarding how flexible the model terms are. From playing around with it, I'm assuming I can only specify site and nearest neighbor interactions. This assumption comes from the implementation of the Heisenberg model where we see:

site_cons, site_ops = get_nonzero_match(h,['X','Y','Z'])
edge_cons, edge_ops = get_nonzero_match(J,['XX','YY','ZZ'])

self._td       =  {}
self._td['A']  =  [ site_ops, site_cons ]
self._td['_']  =  [ edge_ops, edge_cons ]

I also see that the user is able to specify their own terms through self._td = terms but its not clear to me how _td is used to build the Heisenberg model as its use is not documented.

This issue is brought up regarding on whether or not I can specify the J1-J2 Heisenberg model with this model. The J1-J2 model has nearest neighbor interaction and next nearest neighbor interaction terms. Given what is defined, it seems unsure whether or not it can be represented with this model.

@kjm538
Copy link
Collaborator

kjm538 commented Aug 2, 2024

The Heisenberg model implementation is specific to nearest neighbors, however the more general LatticeInstance should provide the functionality you are looking for. The usage for td (term dictionary) is described in section 2.3 of this notebook, and an example using the LatticeInstance is described at the end of this notebook as a 'User-Defined Spin Model'. Improvements to the documentation are ongoing.

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