Dear Michael,

Could you try defining the operator c_up(x)*bdag(x) as a SITEOPERATOR and use it in the BONDOPERATOR?
Or even defining it in the basis.


Best,
Michele


--
ETH Zurich
Michele Dolfi
Institute for Theoretical Physics
HIT G 32.4
Wolfgang-Pauli-Str. 27
8093 Zurich
Switzerland


+41 44 633 78 56 phone
+41 44 633 11 15 fax 





On Feb 6, 2016, at 2:08 PM, Michael Pasek <michael.pasek@univ-paris-diderot.fr> wrote:

Dear all,

I am trying to compute the correlation of two bond operators as follows:

p['MEASURE_CORRELATIONS[custom op]'] = 'cppdag:cpp'

where cpp and cppdag are define in mymodel.xml as:

<BONDOPERATOR name="cpp" source="x" target="y">
c_up(x)*bdag(x)*c_up(y)*bdag(y)
</BONDOPERATOR>
<BONDOPERATOR name="cppdag" source="x" target="y">
b(x)*cdag_up(x)*b(y)*cdag_up(y)
</BONDOPERATOR>

where bdag, b, cdag_up and c_up are the usual boson, fermion creation-annihilation operators.
Disappointingly, in this case mps_optim only outputs a single number for the correlation measurement.

If I try instead to compute the correlation 'oppdag:opp' with

<BONDOPERATOR name="opp" source="x" target="y">
bdag(x)*c_up(y)
</BONDOPERATOR>
<BONDOPERATOR name="oppdag" source="x" target="y">
cdag_up(x)*b(y)
</BONDOPERATOR>

... I get a 4x4 matrix (i,i+1,j,j+1) as expected.
So the problem seems to come from computing the correlation of bond operators that are products of more than two site operators.

Is this measurement expected to fail with mps_optim, or am I doing something wrong?

Thank you for your help.

Michael