# How to obtain the phase factor information of local subsystems in MPS?

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.

\ket{+}=\frac{1}{\sqrt{2}}(\ket{10}+\ket{01})\\ \ket{-}=\frac{1}{\sqrt{2}}(\ket{10}-\ket{01})\\ \ket{P}^+=\frac{1}{\sqrt{2}}(\ket{11}+\ket{00})\\ \ket{P}^-=\frac{1}{\sqrt{2}}(\ket{11}-\ket{00})

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!

Correct me if I am wrong but the following answer assumes your wavefunction is a product state between sites (1, 2) and the rest of the system, i.e. the bond dimension of the second link is 1.

Then your state can be expressed as |\psi> = |\phi> |\chi> where |\phi> = α_1|+⟩+α_2∣−⟩+α_3∣p+⟩+α_4∣p-⟩ and |\chi> the rest of the MPS from site 3 onwards.

If you are looking for a_1 you can take the overlap (<+|<\chi|) |\psi> where you will need to construct a two site MPS representing the state |+> and then connect it with a trivial bond dimension 1 bond to the MPS |\chi> such that you form the bra MPS (<+|<\chi|).

The above assumes that the norm of |\chi> is 1 which will be obeyed if the norm of |\phi> and |\psi> are 1.

To connect two MPS along a trivial bond so that you go from an MPS with 2 sites and an MPS with N - 2 sites to an MPS with N sites there is probably an optimal ITensors way to do it but you can create an empty MPS with N sites and fill it in. Maybe this is relevant Tensor product together MPS.

To create a two site MPS representing the state |+> you can either create a two site empty MPS and fill it in by deriving it on paper or you can start from |00> and applying some Hadamard and CNOT gates appropriately.

To get the |\chi> state just take everything from site 3 onwards from the original |\psi> MPS and throw away the trivial left bond on site 3.

In fact I guess if the unitary evolution is indeed maintaining a bond dimension 1 on the even links you can grab the two qubit states (1,2), (3,4) etc from the |\psi> MPS list and perform the overlap with |+> etc.