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

Support of fermionic systems #96

Open
diret47 opened this issue Dec 6, 2023 · 7 comments
Open

Support of fermionic systems #96

diret47 opened this issue Dec 6, 2023 · 7 comments

Comments

@diret47
Copy link

diret47 commented Dec 6, 2023

Hi, Jutho.
Is it possible to compute fermionic PEPS with TensorKit? For example Hubbard model?

@Jutho
Copy link
Owner

Jutho commented Dec 6, 2023

Hi @diret47 . TensorKit.jl supports tensors with fermionic symmetries, such that e.g. the necessary signs are automatically included upon permuting tensor legs.

However, TensorKit is a low-level library and does not contain higher level tensor network algorithms. For this, you should look at for example MPSKit.jl and PEPSKit.jl. Support for fermions in PEPSKit.jl is not yet included, but something we will be actively working on in the near future.

@Gertian
Copy link
Contributor

Gertian commented Dec 7, 2023

@diret47, I've recently implemented the contraction of fermionic PEPS in this branch of PEPSKit.jl .

There is currently no support for optimization of states as this would require evaluation of the gradient which is a formidable task... The plan is to bypass this trough automatic differentiation but this first requires some updates within TensorKit.jl and TensorOperations.jl .

@diret47
Copy link
Author

diret47 commented Dec 9, 2023

@diret47, I've recently implemented the contraction of fermionic PEPS in this branch of PEPSKit.jl .

There is currently no support for optimization of states as this would require evaluation of the gradient which is a formidable task... The plan is to bypass this trough automatic differentiation but this first requires some updates within TensorKit.jl and TensorOperations.jl .

That's awesome. I suppose we can already contract fPEPS by PEPSKit.jl easily. I hope implementation of AD optimization would be updated soon. I think one can use some SVD fashion optimization as a expedient now.

@Gertian
Copy link
Contributor

Gertian commented Dec 12, 2023

@diret47 , what do you mean with SVD fashion optimization ?

@diret47
Copy link
Author

diret47 commented Dec 12, 2023

@diret47 , what do you mean with SVD fashion optimization ?

Sorry, I just mean that sth like full update and simple update in iPEPS. I suppose that the optimization like DMRG may also be used in iPEPS, but it's not exact.

@Confusio
Copy link

Is there any document on TensorKit that explains the details of treating the fermion signs and swap operations in PEPS?

@lkdvos
Copy link
Collaborator

lkdvos commented May 21, 2024

I think the theoretic part is covered best in this paper: https://arxiv.org/abs/2404.14611
The @tensor macro in TensorKit follows that convention, where a twist (fermionic sign) appears for contracting "ket"s with "bra"s, and that paper should then show in what PEPS contractions this should be counteracted with supplementary twists.

I would also recommend to keep an eye on the PEPSKit.jl repo, we are also working on flushing out the details for fermionic symmetries in that library using TensorKit.

I do apologize for the lack of documentation on this topic, this is also something we are still working on.

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

5 participants