Hi, thanks for the reply. I have tried what you suggested but my eigenvalues are larger than 1. This is the code I am using:
//Create new MPS of size La
SpinHalf sites(La);
MPS psi2 = MPS(sites);
//Create Tensor to pick out RDM eigenvector
psi.position(La);
Index ir = commonIndex(psi.A(La),psi.A(La+1));
ITensor selt1 = setElt(ir(1));
ITensor wf = psi.A(La)*psi.A(La+1);
ITensor U = psi.A(La),S,V;
svd(wf,U,S,V);
ITensor rdmEVec = U*selt1;
for(int i=1; i<La; i++){
psi2.setA(i,psi.A(i));
}
psi2.setA(La,rdmEVec);
psi2.position(Lb);
ITensor wf2 = psi2.A(Lb)*psi2.A(Lb+1);
ITensor U1=psi2.A(Lb),S1,V1; //set last tensor to the rdm eigenvector
auto spectrum = svd(wf2,U1,S1,V1);
printf("T=%d", time);
for(auto p: spectrum.eigs()){
printf("\t%.12e", p);
}