## How to add Jordan-Wigner strings on the left sites of an operator?

How do I use this algorithm? What does that parameter do?
Ned
Posts: 2
Joined: 31 Aug 2022, 13:29

### How to add Jordan-Wigner strings on the left sites of an operator?

Dear Johannes,

I have got a question about constructing wave packets in Tenpy.
I want to study the time evolution of the Fermi Hubbard model in the paper :"https://journals.aps.org/prl/supplement ... er4_sm.pdf"

and construct the following operator:
$h_{\sigma}^{\dagger} = \sum_{j} \alpha_{j} \exp({-ik_0 j}) c_{j}$

you can see the formula in the paper (Equation S1)
I want to make the MPO form of this operator and then apply it to the ground state which is an MPS.
I used the "add_onsite" function but it didn't work and I get the following Error:
"ValueError: can't add onsite operator which needs a Jordan-Wigner string!

I tried to use op_string='JW' but it didn't work too.

This is part of the code I am trying to build the Wave packet

Code: Select all

sigmaX= 0.05 ; Kf = 0.0 ;  J0= 5  ;  K0 =0.0
Coe_list= [np.exp((-(i -J0)**2)/(2.*sigmaX**2))* np.exp(1j*K0*i)  for i in range(L)]

class WavePacket(CouplingMPOModel):

def __init__(self, WavePacket_params, model_params):

site = SpinHalfFermionSite(cons_N="N", cons_Sz="Sz")
lat = Chain(L, site, bc=bc, bc_MPS=bc_MPS)

#  initialize CouplingModel
CouplingModel.__init__(self, lat)

#  add terms of the h operator:

MPOModel.__init__(self, lat, self.calc_H_MPO())

How can I add the Jordan Wigner string on the left sites of the Cu operator?

The best,
Johannes
Posts: 357
Joined: 21 Jul 2018, 12:52
Location: TU Munich