HILA
Loading...
Searching...
No Matches
Hasenbusch_action_1< gauge_field, DIRAC_OP > Class Template Reference

#include <fermion_field.h>

Inheritance diagram for Hasenbusch_action_1< gauge_field, DIRAC_OP >:
Collaboration diagram for Hasenbusch_action_1< gauge_field, DIRAC_OP >:

Public Member Functions

double action ()
 Calculate and return the action.
 
virtual void backup_fields ()
 Make a copy of fields updated in a trajectory.
 
void draw_gaussian_fields ()
 
void force_step (double eps)
 
virtual void restore_backup ()
 Restore the previous backup.
 

Detailed Description

template<typename gauge_field, typename DIRAC_OP>
class Hasenbusch_action_1< gauge_field, DIRAC_OP >

The Hasenbusch method for updating fermion fields: Split the Dirac determinant into two parts, D_h1 = D + mh and D_h2 = D * 1 / (D + mh)^dagger

This is the first action term, with D_h1 = D + mh. Since the only real difference here is an addition to the original operator, we can use fermion_action with a different operator.

Definition at line 182 of file fermion_field.h.

Member Function Documentation

◆ draw_gaussian_fields()

template<typename gauge_field , typename DIRAC_OP >
void Hasenbusch_action_1< gauge_field, DIRAC_OP >::draw_gaussian_fields ( )
inlinevirtual

Draw any fields with a gaussian distribution, including the momentum

Reimplemented from action_base.

Definition at line 198 of file fermion_field.h.

◆ force_step()

template<typename gauge_field , typename DIRAC_OP >
void Hasenbusch_action_1< gauge_field, DIRAC_OP >::force_step ( double  eps)
inlinevirtual

Update the momentum with the derivative of the action term

Reimplemented from action_base.

Definition at line 199 of file fermion_field.h.


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