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

#include <fermion_field.h>

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

Public Member Functions

double action ()
 
void action (Field< double > &S)
 Return the action as a field of double precision numbers.
 
void draw_gaussian_fields ()
 
void initial_guess (Field< vector_type > &chi, Field< vector_type > &psi)
 
void save_new_solution (Field< vector_type > &psi)
 Add new solution to the list.
 
void force_step (double eps)
 
virtual void backup_fields ()
 Make a copy of fields updated in a trajectory.
 
virtual void restore_backup ()
 Restore the previous backup.
 

Detailed Description

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

The second Hasenbusch action term, D_h2 = D/(D^dagger + mh). The force and action of the second term are significantly different from the standard fermion action and are implemented here.

Definition at line 207 of file fermion_field.h.

Member Function Documentation

◆ action()

template<typename gauge_field , typename DIRAC_OP >
double Hasenbusch_action_2< gauge_field, DIRAC_OP >::action ( )
inlinevirtual

Return the value of the action with the current Field configuration

Reimplemented from action_base.

Definition at line 253 of file fermion_field.h.

◆ draw_gaussian_fields()

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

Generate a pseudofermion field with a distribution given by the action chi 1/(D_dagger D) chi

Reimplemented from action_base.

Definition at line 293 of file fermion_field.h.

◆ force_step()

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

Update the momentum with the derivative of the fermion action

Reimplemented from action_base.

Definition at line 349 of file fermion_field.h.

◆ initial_guess()

template<typename gauge_field , typename DIRAC_OP >
void Hasenbusch_action_2< gauge_field, DIRAC_OP >::initial_guess ( Field< vector_type > &  chi,
Field< vector_type > &  psi 
)
inline

Build an initial guess for the fermion matrix inversion by inverting first in the limited space of a few previous solutions. These are saved in old_chi.

Definition at line 314 of file fermion_field.h.


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