Hi again,

I am trying to make sense of the ground state of the famous cluster Hamiltonian. It is a well known fact that the cluster state has a bond dimension of 2. However, when I run the following script in Julia, it outputs an MPS of bond dimension 4 which is double of what I expect.

Blockquote

using ITensors

N = 10

bond_dim=8

sites = siteinds("S=1/2",N)

ampo = AutoMPO()

for j=2:N-1

ampo += 8,"Sz",j-1,"Sx",j,"Sz",j+1;

end

ampo+= 8,"Sz",N-1,"Sx",N,"Sz",1;

ampo+= 8,"Sz",N,"Sx",1,"Sz",2;

H = MPO(ampo,sites)

sweeps = Sweeps(5) # number of sweeps is 5

maxdim!(sweeps,10,20,100,100,200) # gradually increase states kept

cutoff!(sweeps,1E-10) # desired truncation error

psi0 = randomMPS(sites,bond_dim)#create a random initial MPS

energy,psi = dmrg(H,psi0,sweeps)

Blockquote

I understand that the ground state energies are correct but the program seems to unnecessarily double the dimension. Is there an explanation for this phenomenon and also is there a way to circumvent the issue?

Finally, while running a dmrg script one needs to specify a initial state with some bond dimension. Is there any significance to this initial bond dimension? (After playing around with the code it is my understanding that the final bond dimension can become both more or less than the initial BD.)