## Hermitian conjugate for coupled system

How do I use this algorithm? What does that parameter do?
svv
Posts: 1
Joined: 09 Jul 2022, 10:41

### Hermitian conjugate for coupled system

hi,

Code: Select all

self.add_multi_coupling(-tc, [( "Bd", 0, 0), ("B", 0, 1), ("N", 1, 1)])
self.add_multi_coupling(-tc, [( "Bd", 0, 1), ("B", 0, 0), ("N", 1, 0)])

these are the terms that I wish to use, but this is giving the error of "poorly conditioned Lanczos!"
Is this a significant error?
When I use the term given below everything works fine, but the Hermitian conjugate coming is not something that I want.

Code: Select all

self.add_multi_coupling(-tc, [("Bd", 0, 0), ("B",0, 1), ("N", 1, 1)],plus_hc=True)

Is there some other way out?
Johannes
Posts: 337
Joined: 21 Jul 2018, 12:52
Location: TU Munich

### Re: Hermitian conjugate for coupled system

The first example adds terms $$b^\dagger_{x,0} b_{x,1} n_{x+1,1} + b^\dagger_{x,1} b_{x,0} n_{x+1,0}$$, which is not hermitian due to the switch in the n index.

DMRG (or more precisely the Lanczos called by DMRG) always assumes a hermitian Hamiltonian!
The "poorly conditioned Lanczos" is likely an indicator of the non-hermitian H in this case, so yes, this is definitely a serious warning and indicates wrong results!

The second example is by construction hermitian, as it adds
$$b^\dagger_{x,0} b_{x,1} n_{x+1,1} + h.c. = b^\dagger_{x,0} b_{x,1} n_{x+1,1} +n_{x+1,1} b_{x,1} b^\dagger_{x,0}$$ using the u=1 on both n operators, hence you can run DMRG without the warning.

It's not quite clear to me: are you aware that the H was not hermitian, but still want to run DMRG?