I want to calculate gs energy and excited states energies of tJ model for J=0 by using DMRG. I put p_state = ['up', 'down', 'empty', 'empty']*(L//4) for half filling. But I am not sure abot conservation of number particles. How to implement it for tJ model. Also, I want to add some magnetic field and potential for this model. Is there any possibility to do it?
Thanks.
The definition of the model is
Code: Select all
L = 12
J = 0
def example_run():
M = tj_model.tJChain({"L": L, 'J': J})
p_state = ['up', 'down', 'empty', 'empty']*(L//4)
psi0 = MPS.from_product_state(M.lat.mps_sites(), p_state, bc = M.lat.bc_MPS)
dmrg_params = {
'mixer': True,
'trunc_params': {
'chi_max': 8,
'svd_min': 1.e-10,
},
'max_E_err': 1.e-10,
'verbose': 1,
'max_sweeps':20,
}
states = dmrg_params['orthogonal_to'] = []
for i in range(3):
psi = psi0.copy()
results = dmrg.run(psi, M, dmrg_params)
states.append(psi)
print("Energy per site: ", results['E'])
if __name__ == "__main__":
example_run()