Implementation of t-J model

How do I use this algorithm? What does that parameter do?
Post Reply
Leandro Chinellato
Posts: 2
Joined: 20 Mar 2021, 20:40

Implementation of t-J model

Post by Leandro Chinellato »

Hi!
I am a degree physics student and I am learning to use tenpy, sorry if the question is very basic.
I am trying to implement the t-J model in a chain

\(\hat{H}=-t \sum_{\langle i j\rangle, \sigma}\left(a_{i \sigma}^{\dagger} a_{j \sigma}+\mathrm{h.c.}\right)+\frac{1}{2} J \sum_{\langle i j\rangle}\left(\vec{S}_{i} \cdot \vec{S}_{j}-\frac{n_{i} n_{j}}{4}\right)\)

however I get an error when I try to construct a hamiltonian with c and cdag operators and spin operators mixed.
How could I implement it?

Thanks for reading me !
yixuan
Posts: 4
Joined: 20 May 2021, 00:31

Re: Implementation of t-J model

Post by yixuan »

Hi Leandro,

From my understanding, you may need to define your own sites before constructing the model Hamiltonian as the t-J site is not pre-defined in TeNPy, so something like:

Code: Select all

class tJSite(Site):
    def __init__(self, conserve='Sz'):
        (define conserve quantity, operators, local site degree of freedom, etc)
    def __repr__(self):
        (debug?)
Then you can use for example the CouplingMPOModel class to define the model Hamiltonian:

Code: Select all

class tJ(CouplingMPOModel):
    def __init__(self, model_params):
        CouplingMPOModel.__init__(self, model_params)
    def init_sites(self, model_params):
        return tJSite(conserve)
    def init_terms(self, model_params):
        (define terms)
Hope this can help you!

Best,
Yixuan
Leandro Chinellato
Posts: 2
Joined: 20 Mar 2021, 20:40

Re: Implementation of t-J model

Post by Leandro Chinellato »

Hi!,

You're right, I'm going to try to do it.

Thank you very much Yixuan!
User avatar
Johannes
Site Admin
Posts: 413
Joined: 21 Jul 2018, 12:52
Location: TU Munich

Re: Implementation of t-J model

Post by Johannes »

Hi Leandro,
apologies for not replying earlier!

Just to check: Did this work out, did you manage it in the end? Or do you still need help? I hope you didn't give up!

The t-J model is definitely sufficiently important/generic that it would be a good idea to include it into TeNPy itself.
Would you like to contribute that? I can give you further pointers how to do it / help with the implementation if necessary.

Best,
Johannes
Post Reply