The Contact

Tan’s contact universally describes the large-momentum tails of certain correlation functions.

Double Occupancy

tdg.observable.contact.doubleOccupancy(ensemble)[source]

The double occupancy of a site is \(n_{\uparrow} n_{\downarrow}\) on that site (or the equivalent along any direction; not just the \(z\)-axis), which as an operator is equal to \(\frac{1}{2}(n^2-n)\), where \(n\) is the total number operator n().

Configuration slowest, then space.

tdg.observable.contact.DoubleOccupancy(ensemble)[source]

The spatial sum of the doubleOccupancy(); one per configurtion.

Contact

tdg.observable.contact.Contact(ensemble)[source]

The contact, \(C L^2 = 2\pi\frac{d\tilde{H}}{d\log a}\).

This observable is much less noisy than Contact_bosonic().

In the case where the only LegoSphere in the interaction is the on-site interaction, the fermionic method is accelerated by computing the DoubleOccupancy().

Note

The contact \(C\) is extensive, and \(L^2\) is extensive, so this observable is doubly extensive! You may want to compute something intensive, such as the derived contact density contact_by_kF4() [1], \(c/k_F^4 = \texttt{Contact} / (2\pi \texttt{N})^2\), where this observable is divided by two powers of an extensive observable!

tdg.observable.contact.Contact_bosonic(ensemble)[source]

The same expectation value as Contact() using automatic differentiation and the chain rule, evaluating \(dH/dC_R\) and the ensemble’s Tuning to compute \(dC_R / d\log a\). Just as n_bosonic() is extremely noisy in comparison to n(), so too is this noisy compared to Contact().

Todo

In fact, it is SO NOISY that it has not been checked for correctness by comparing with an exact Trotterized two-body calcuation.

tdg.observable.contact.contact_by_kF4(ensemble)[source]

The contact density normalized by the Fermi momentum.

\[\frac{c}{k_F^4} = \frac{C}{k_F^4 L^2} = \frac{CL^2}{(k_F L)^4} = \frac{\texttt{Contact}}{(2\pi \texttt{N})^2}\]