HILA
|
#include <gauge_field.h>
Public Types | |
using | gauge_type = matrix |
The matrix type. | |
using | fund_type = matrix |
using | basetype = hila::arithmetic_type< matrix > |
The base type (double, float, int...) | |
using | gauge_type_flt = matrix |
Public Member Functions | |
void | set_unity () |
Set the gauge field to unity. | |
void | random () |
Draw a random gauge field. | |
void | draw_momentum () |
Gaussian random momentum for each element. | |
void | zero_momentum () |
Set the momentum to zero. | |
void | gauge_update (double eps) |
Update the gauge field with time step eps. | |
void | add_momentum (Field< SquareMatrix< N, Complex< basetype > > > *force) |
void | backup () |
Make a copy of fields updated in a trajectory. | |
void | restore_backup () |
Restore the previous backup. | |
void | read_file (std::string filename) |
Read the gauge field from a file. | |
void | write_file (std::string filename) |
Write the gauge field to a file. | |
double | plaquette () |
Calculate the plaquette. | |
double | polyakov (int dir) |
Calculate the polyakov loop. | |
Field< gauge_type > & | get_momentum (int dir) |
Return a reference to the momentum field. | |
Field< gauge_type > & | get_gauge (int dir) |
Return a reference to the gauge field. | |
virtual void | refresh () |
Recalculate represented or smeared field. | |
Public Attributes | |
Field< matrix > | gauge_backup [4] |
Storage for a backup of the gauge field. | |
Field< matrix > | gauge [4] |
A matrix field for each Direction. | |
Field< matrix > | momentum [4] |
Static Public Attributes | |
static constexpr int | N = matrix::size |
The size of the matrix. | |
A gauge field contains a SU(N) matrix in each Direction for the gauge field and for the momentum. Defines methods for HMC to update the field and the momentum.
Definition at line 193 of file gauge_field.h.
using gauge_field< matrix >::fund_type = matrix |
The fundamental gauge type. In the standard case it is the same as the matrix type
Definition at line 199 of file gauge_field.h.
|
inherited |
If the base type is double, this will be the corresponding floating point type.
Definition at line 47 of file gauge_field.h.
|
inlinevirtual |
Project a force term to the algebra and add to the momentum
Reimplemented from gauge_field_base< matrix >.
Definition at line 249 of file gauge_field.h.
|
inherited |
Also create a momentum field. This is only allocated if necessary
Definition at line 24 of file gauge_field.h.