Hello everyone,
I am using TDVP to study a spin chain. The Hamiltonian only includes a hopping term. The initial state is a spin-up at position 1 and all the rest are spin-down. The system exhibits ballistic transport, as expected.
In the next step, I introduced an extra qubit at position 4, which does not interact with any other qubits in the system. That is, there are nearest-neighbor hoppings on both sides of qubit 4 and a next-nearest-neighbor hopping between sites 3 and 5. Physically, this model should still exhibit ballistic transport. However, in TDVP, qubit 4 appears to act as a barrier, reflecting transport instead. This issue does not occur when using TEBD or exact methods.
I sincerely appreciate your insights and comments!
Haoyuan
using ITensorMPS, ITensors, Plots
# 9 qubits with one jumping qubit at position 4
N = 10
sites = siteinds("S=1/2",N)
spinInd = [1:3..., 5:10...]
os = OpSum()
for j in 1:length(spinInd)-1
os += 1/2,"S+",spinInd[j],"S-",spinInd[j+1]
os += 1/2,"S-",spinInd[j],"S+",spinInd[j+1]
end
H = MPO(os,sites)
psiIni = MPS(sites, ["Up", fill("Dn", N-1)...])
psis = Vector{MPS}([psiIni])
psi = psiIni
∆t = 0.01
T = 10.0
χ = 100
ctf = 1e-13
for (i, t) in enumerate(∆t:∆t:T)
psi = tdvp(H, -im * ∆t, psi; time_step = -im * ∆t, cutoff = ctf, maxdim = χ, outputlevel=0, normalize=true)
push!(psis, psi)
end
# Plotting
data = zeros(length(0:∆t:T), length(spinInd))
for (i, psi) in enumerate(psis)
data[i,:] = real.(expect(psi, "S+ * S-"; sites = spinInd))
end
heatmap(0:∆t:T, 1:length(spinInd), data', yflip = true)