Problem with multiplying MPO with MPS: Index Contraction

this is what I am trying to implement:

psi=apply(detEv,psi_old,maxdim=50)

Here detEv is an MPO: Vector{Index{Int64}}[[(dim=3|id=170|“S=1,Site,n=1”)‘, (dim=3|id=170|“S=1,Site,n=1”)], [(dim=3|id=879|“S=1,Site,n=2”)’, (dim=3|id=879|“S=1,Site,n=2”)], [(dim=3|id=363|“S=1,Site,n=3”)‘, (dim=3|id=363|“S=1,Site,n=3”)], [(dim=3|id=602|“S=1,Site,n=4”)’, (dim=3|id=602|“S=1,Site,n=4”)]]

and psi_old is an MPS: Vector{Index{Int64}}[[(dim=3|id=658|“S=1,Site,n=1”)], [(dim=3|id=39|“S=1,Site,n=2”)], [(dim=3|id=414|“S=1,Site,n=3”)], [(dim=3|id=599|“S=1,Site,n=4”)]]

I get the following error: In contract(A::MPO, x::MPS), A and x must share a set of site indices.

I am not really sure how to fix this

Fixed!

1 Like

could you expain how you fix it?