The Hartree approximation

Extended interactions require an extension of quantum cluster methods: inter-cluster interactions have to be cut off and replaced by a mean field, in the Hartree approximation. An extended interaction on the cluster is then reduced to

\[\sum_{(ij)}V^c_{ij}n_i n_j + \sum_{(ij)}V^m_{ij}\left(n_i \langle n_j\rangle + n_j \langle n_i\rangle - \langle n_i\rangle\langle n_j\rangle \right)\]

where \(V_m\) stands for the terms of \(V_{ij}\) which need to be treated in the Hartree approximation, and \(V^c\) those that do not need to be. \((ij)\) stands for a pair of sites (\(i\ne j\)).

Since \(V_m\) is real symmetric, the mean-field Hamiltonian may be recast into

\[H_m = \sum_{ij}V^m_{ij}\left(n_i \langle n_j\rangle - \frac12\langle n_i\rangle\langle n_j\rangle \right)\]

where now the sum is over independent values of \(i\) and \(j\). \(V^m\) can be diagonalized by an orthogonal transformation \(L\): \(V^m = L\Lambda \tilde L\). One then defines eigenoperators \(O_a = L_{aj}n_j\) such that

\[H_m = \sum_a \lambda_a\left\{O_a \langle O_a\rangle - \frac12 \langle O_a\rangle^2\right\}\]

Now, let us consider the mean values \(\langle O_a\rangle\) as adjustable variational (or mean-field) parameters. Then, in terms of the coefficients \(h_a=\lambda_a\langle O_a\rangle\) of the operator \(O_a\), the mean-field Hamiltonian takes the following form:

\[H_m = \sum_a \left\{ h_a O_a - \frac{h_a^2}{2\lambda_a} \right\}\]

The variation of parameter \(h_a\) yields

\[\langle O_a\rangle = \frac{h_a}{\lambda_a} \rightarrow h_a=\lambda_a\langle O_a\rangle\]

The Hartree procedure consists in starting with trial values of \(h_a\) and iteratively performing the above assignation until convergence.

class hartree(model, Vm, V, eig, accur=0.0001, lattice=False, alpha=0.0)

This class contains the elements needed to perform the Hartree approximation for the inter-cluster components of an extended interaction. The basic self-consistency relation is

\[v_m = ve\langle V_m\rangle\]

where v is the coefficient of the operator V and \(v_m\) that of the operator \(V_m\), and e is an eigenvalue specific to the cluster shape and the interaction. \(\langle V_m\rangle\) is the average of the operator \(V_m\), taken as a lattice of as a cluster average.

Parameters:
  • model (lattice_model) – the lattice model

  • Vm (str) – name of the mean-field operator

  • V (str) – name of the interaction operator

  • eig (float) – eigenvalue

  • accur (float) – required accuracy of the self-consistent procedure

  • lattice (bool) – if True, the lattice average is used, otherwise the cluster average

  • alpha (float) – damping factor (0 if no damping)

Variables:
  • Vm (str) – mean-field operator

  • V (str) – extended interaction

  • eig (float) – eigenvalue e of the mean-field operator in the self-consistency relation

  • lattice (bool) – True if lattice averages are used

  • diff (float) – difference between successive values of \(v_m\)

  • ave (float) – average of the operator \(V_m\)

  • accur (float) – desired accuracy

update(I, pr=False)

Updates the value of the mean-field operator based on its average

Parameters:
  • I (model_instance) – instance of the lattice model

  • pr (bool) – if True, progress is printed on the screen

omega(I)

Returns the constant contribution, added to the Potthoff functional

Parameters:

model_instance (I) – the current model_instance

omega_var()

Returns the constant contribution, added to the Potthoff functional

converged()

Tests whether the mean-field procedure has converged

Returns:

True if the mean-field procedure has converged