HILA
|
Go to the source code of this file.
Macros | |
#define | USE_deForcrandJahn |
\( SU(N) \) full overrelaxation using SVD | |
Functions | |
template<typename T , int N> | |
void | suN_overrelax (SU< N, T > &U, const SU< N, T > &staple) |
\( SU(N) \) Overrelaxation using SU(2) subgroups | |
#define USE_deForcrandJahn |
\( SU(N) \) full overrelaxation using SVD
Following de Forcrand and Jahn, hep-lat/0503041
Algorithm:
Maximize ReTr( S.dagger() e^{-i phi/N} u P v.dagger()) = ReTr( e^{-i phi/N} D P ) = sum_j Re e^{i phi/N} e^{i\theta_j} D_j j = 0 .. (N-1) assuming D_min is smallest, def \theta_min = -\bar\theta = -sum_j \theta_j j != i_min
Taking derivatives d/d\theta_j and setting these == 0, we obtain N-1 eqns which can be linearized Re e^{-i \phi/N} (i e^{i\theta_j}) D_j - Re e^{-i \phi/N} (i e^{-i \bar\theta}) D_min = 0 (i - \theta_j) (i + \bar\theta)
Let c == cos(phi/N), s == sin(phi/N) => (s - c \theta_j) D_j + (-s - c\bar\theta) D_min = 0 => sum_k (D_j delta_jk + D_min ) \theta_k = (s/c)(D_j - D_min)
This is a matrix equation of form M = (A + b F) theta = (A + w w^T) theta = rhs where A is diagonal and F is filled with 1, and w = sqrt(b)[1 1 1 ..]^T.
This can be solved with the Sherman-Morrison formula
Definition at line 101 of file sun_overrelax.h.
\( SU(N) \) Overrelaxation using SU(2) subgroups
T | float/double/long double |
N | Number of colors |
U | \( SU(N) \) link to perform overrelaxation on |
staple | Staple to compute overrelaxation with |
Definition at line 19 of file sun_overrelax.h.