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 sigma t-J model #45

Open
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

Yue-Zhengyuan
Copy link
Contributor

This PR adds the so-called "sigma t-J model", which changes the hopping term of the t-J model to

$$ (-t) \sum_{\langle i j \rangle, \sigma} \sigma (c^\dagger_{i\sigma} c_{j\sigma} + h.c.) = (-t) \sum_{\langle i j \rangle} (c^\dagger_{i\uparrow} c_{j\uparrow} - c^\dagger_{i\downarrow} c_{j\downarrow} + h.c.) $$

Copy link

codecov bot commented Mar 5, 2025

Codecov Report

Attention: Patch coverage is 0% with 14 lines in your changes missing coverage. Please review.

Files with missing lines Patch % Lines
src/models/hamiltonians.jl 0.00% 14 Missing ⚠️
Files with missing lines Coverage Δ
src/MPSKitModels.jl 100.00% <ø> (ø)
src/models/hamiltonians.jl 23.94% <0.00%> (-2.62%) ⬇️
🚀 New features to boost your workflow:
  • Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@lkdvos
Copy link
Member

lkdvos commented Mar 5, 2025

It might be more convenient to simply give this function a different name, instead of trying to pass everything through the same functions and having to control it with keyword arguments?

@Yue-Zhengyuan
Copy link
Contributor Author

Personally I think the difference from the usual t-J model is quite minor (although the physics changes a lot), so I don't quite want to make a new function to construct the Hamiltonian...

@lkdvos
Copy link
Member

lkdvos commented Mar 5, 2025

Maybe, but if you take that argument further, more or less all models are the same, all spin models are very similar, all fermionic models are, all spinfull fermionic models are, ...
I'm exaggerating to make a point of course, but you probably see what I mean.
I don't think people that are interested in the tJmodel automatically want to read the additional information about this specific extension to it, and given that the name is tJmodel it just seems fair to keep this separate.
Maybe just tJsigma_model could work?

My main problem with it however is that e_plusmin is SU(2) symmetric, and I might be mistaken but this version is not? Having a keyword there that fundamentally changes the operator feels a bit off to me.

@Yue-Zhengyuan
Copy link
Contributor Author

Oh I did overlook the different symmetry between the two models, since I hardly use the SU(2) symmetry. Now I agree that these two models should be separated. Thanks for pointing this out!

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.

2 participants