Hello everyone!

Suppose I have one-dimensional chain of spin-1/2 system with length of L and its wavefunction is represented as a MPS.

Every two nearest-neighboring sites form a local subsystems, in which four Bell states construct a set of complete orthogonal bases.

And the wavefunction of the local subsystem \ket{\psi}_{i,i+1}=\alpha_1\ket{+}+\alpha_2\ket{-}+\alpha_3\ket{p}^++\alpha_4\ket{p}^-

One can construct a local projection operator on the two nearest-neighboring sites to obtain the norm of the coefficients \alpha^{\dag}_i\alpha_i

Defining the one of the projection operators to the local bases of the subsystem as the following

```
function ITensors.op(::OpName"proj_plus",::SiteType"S=1/2",i::Index,j::Index)
st_1=[1,0]
st_2=[0,1]
st_prod=reshape(st_1*transpose(st_2),4)
st_prod_1=reshape(st_2*transpose(st_1),4)
proj_1=1/sqrt(2)*(st_prod+st_prod_1)
proj_op=kron(proj_1,transpose(proj_1))
return itensor(proj_op,i',j',dag(i),dag(j))
end
```

And the norm of the coefficient can be obtained by

```
alpha_1_n=inner(psi,apply(op("proj_plus",sites[i],sites[i+1]),psi))
```

But during the unitary time-evolution,the coeffients on every basis are always a complex number.

And such projection will cover the information of phase factors.

So my question is that how can one abtain the phase factor information of the local bases of the local subsystems?

Thank you very much!