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 Hubbard model #80

Draft
wants to merge 2 commits into
base: master
Choose a base branch
from
Draft

Add Hubbard model #80

wants to merge 2 commits into from

Conversation

lkdvos
Copy link
Member

@lkdvos lkdvos commented Oct 26, 2024

This overloads the Hubbard model from MPSKitModels.jl

TODO:

  • find some benchmarkdata to test
  • implement fixed particle number

Copy link

codecov bot commented Oct 26, 2024

Codecov Report

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

Files with missing lines Patch % Lines
src/operators/models.jl 0.00% 6 Missing ⚠️
src/operators/lattices/squarelattice.jl 0.00% 1 Missing ⚠️
Files with missing lines Coverage Δ
src/operators/lattices/squarelattice.jl 95.00% <0.00%> (-5.00%) ⬇️
src/operators/models.jl 70.58% <0.00%> (-9.42%) ⬇️

@Yue-Zhengyuan
Copy link

Yue-Zhengyuan commented Oct 28, 2024

Why is fixed particle number still not implemented? I think there is already FermionNumber symmetry class。

For benchmarking, maybe you can have a look at https://yastn.github.io/yastn/quickstart/hubbard_purification.html#d-fermi-hubbard-model-at-finite-temperature

@lkdvos
Copy link
Member Author

lkdvos commented Oct 28, 2024

I should probably be a little more careful with what I meant. Indeed, there is no problem using this function with imposing FermionNumber, which is just a combination of U1 and FermionParity. The subtlety lies in how symmetric tensors work: all tensors always have to have total charge 0. In essence, this means that imposing FermionNumber automatically makes you impose total particle number 0.
It is definitely possible to select a different filling, but this requires injection of U1 charges per site, typically also resulting in unit cells, and while I know how to achieve this, I have not yet figured out a good interface to do this.

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