Is there a straightforward method to convert an MPS or MPO with electronic site indices into an MPS or MPO with spin 1/2 indices via a Jordan Wigner transformation?
For example, suppose I have Fermi-Hubbard Hamiltonian:
sites = siteinds("Electron", Nx*Ny; conserve_nf = true, conserve_nfparity = true)
lattice = square_lattice(Nx, Ny; yperiodic=false, xperiodic=false)
ampo = OpSum()
for b in lattice
ampo += t, "Cdagup", b.s1, "Cup", b.s2
ampo += t, "Cdagup", b.s2, "Cup", b.s1
ampo += t, "Cdagdn", b.s1, "Cdn", b.s2
ampo += t, "Cdagdn", b.s2, "Cdn", b.s1
end
for i in 1:N
ampo += u, "Nupdn", i
end
H = MPO(ampo, sites)
Does ITensors have any implementation like jordan_wigner_transform(MPO::H)
that will result in an MPO with site indices having something like
(dim=2|id=825|"S=1/2,Site,n=1")