HILA
Loading...
Searching...
No Matches
represented_gauge_field< repr > Class Template Reference

#include <gauge_field.h>

Inheritance diagram for represented_gauge_field< repr >:
Collaboration diagram for represented_gauge_field< repr >:

Public Types

using basetype = hila::arithmetic_type< repr >
 The base type (double, float, int...)
 
using fund_type = typename repr::sun
 The type of a fundamental representation matrix.
 
using gauge_type = repr
 The matrix type.
 
using gauge_type_flt = repr
 

Public Member Functions

virtual void add_momentum (Field< SquareMatrix< N, Complex< basetype > > > *force)
 Update the momentum by given force.
 
void add_momentum (Field< SquareMatrix< N, Complex< basetype > > >(&force)[4])
 
void backup ()
 
void draw_momentum ()
 
Field< fund_type > & get_gauge (int dir)
 Return a reference to the gauge Field.
 
Field< fund_type > & get_momentum (int dir)
 Return a reference to the momentum field.
 
void random ()
 
void refresh ()
 Represent the fields.
 
 represented_gauge_field (gauge_field< fund_type > &f)
 Construct from a fundamental field.
 
 represented_gauge_field (represented_gauge_field &r)
 Copy constructor.
 
void restore_backup ()
 Restore the previous backup.
 
void set_unity ()
 
void zero_momentum ()
 Set the momentum to zero.
 

Public Attributes

gauge_field< fund_type > & fundamental
 Reference to the fundamental gauge field.
 
Field< repr > gauge [4]
 A matrix field for each Direction.
 
Field< repr > momentum [4]
 

Static Public Attributes

static constexpr int N = repr::size
 The size of the representation.
 
static constexpr int Nf = fund_type::size
 The size of the matrix.
 

Detailed Description

template<class repr>
class represented_gauge_field< repr >

A gauge field, similar to the standard gauge_field class above, but with the gauge field projected into a higher representation.

Definition at line 297 of file gauge_field.h.

Member Typedef Documentation

◆ gauge_type_flt

using gauge_field_base< repr >::gauge_type_flt = repr
inherited

If the base type is double, this will be the corresponding floating point type.

Definition at line 47 of file gauge_field.h.

Member Function Documentation

◆ add_momentum()

template<class repr >
void represented_gauge_field< repr >::add_momentum ( Field< SquareMatrix< N, Complex< basetype > > >(&)  force[4])
inline

Project a force term to the algebra and add to the momentum

Definition at line 347 of file gauge_field.h.

◆ backup()

template<class repr >
void represented_gauge_field< repr >::backup ( )
inlinevirtual

Make a backup of the fundamental gauge field Again, this may get called twice.

Reimplemented from gauge_field_base< repr >.

Definition at line 366 of file gauge_field.h.

◆ draw_momentum()

template<class repr >
void represented_gauge_field< repr >::draw_momentum ( )
inlinevirtual

This gets called if there is a represented gauge action term. If there is also a fundamental term, it gets called twice...

Reimplemented from gauge_field_base< repr >.

Definition at line 359 of file gauge_field.h.

◆ random()

template<class repr >
void represented_gauge_field< repr >::random ( )
inlinevirtual

Draw a random gauge field. This will set the underlying fundamental field

Reimplemented from gauge_field_base< repr >.

Definition at line 340 of file gauge_field.h.

◆ set_unity()

template<class repr >
void represented_gauge_field< repr >::set_unity ( )
inlinevirtual

Set the gauge field to unity. This will set the underlying fundamental field

Reimplemented from gauge_field_base< repr >.

Definition at line 333 of file gauge_field.h.

Member Data Documentation

◆ momentum

Field<repr > gauge_field_base< repr >::momentum[4]
inherited

Also create a momentum field. This is only allocated if necessary

Definition at line 24 of file gauge_field.h.


The documentation for this class was generated from the following file: