Hi ,
I am using DMRG code for XXZ spin- 1/2 AFM spin chain in presence of longitudinal field. In AFM phase I expect degenerate ground state energy(E0 and E1). Whereas I am getting fluctuations in E1-E0 as a function of hz at few values below second critical magnetic field(hc2). Also as I am using randomMPS I get different answers for E0/N(when I write upto 10 decimal places, answer is same upto 6 decimal places ) at each run. How can I control the DMRG parameters?
Length of the chain
int N = 32;
Hamiltonian used
for(int j = 1; j < N; ++j)
{
ampo += 1,"Sx",j,"Sx",j+1;
ampo += 1,"Sy",j, "Sy",j+1;
ampo += 3, "Sz", j ,"Sz",j+1;
}
ampo += 1,"Sx",N,"Sx",1;
ampo += 1,"Sy",N, "Sy",1;
ampo += 3, "Sz", N ,"Sz",1;
for(int j=1;j<=N;++j)
{
ampo += hz, "Sz",j;
}
DMRG parameters fixed
auto sweeps=Sweeps(6);
sweeps.maxdim()=10,20,30,40,50,80;
sweeps.cutoff()=1E-6,1E-7,1E-8,1E-9;
sweeps.niter()= 2 ;
sweeps.noise()=1E-8,1E-10,0.0;
Ground state and corrosponding energy using dmrg
auto [E0,psi0] = dmrg(H,randomMPS(sites,2),sweeps,{"Quiet=",true});