HILA
Loading...
Searching...
No Matches
dirac_staggered< matrix > Class Template Reference

#include <staggered.h>

Public Types

using matrix_type = matrix
 The matrix type.
 
using type_flt = dirac_staggered< typename gauge_field_base< matrix >::gauge_type_flt >
 
using vector_type = SU_vector< matrix::size, hila::arithmetic_type< matrix > >
 The SU(N) vector type.
 

Public Member Functions

void apply (const Field< vector_type > &in, Field< vector_type > &out)
 Applies the operator to in.
 
void dagger (const Field< vector_type > &in, Field< vector_type > &out)
 Applies the conjugate of the operator.
 
template<typename M >
 dirac_staggered (dirac_staggered< M > &d, gauge_field_base< matrix > &g)
 Construct from another Dirac_Wilson operator of a different type.
 
 Field (&gauge)[4]
 A reference to the gauge links used in the dirac operator.
 
template<typename momtype >
void force (const Field< vector_type > &chi, const Field< vector_type > &psi, Field< momtype >(&force)[4], int sign=1)
 

Public Attributes

double mass
 the fermion mass
 
Parity par = ALL
 The parity this operator applies to.
 

Detailed Description

template<typename matrix>
class dirac_staggered< matrix >

An operator class that applies the staggered Dirac operator D.apply(in, out) aplies the operator D.dagger(int out) aplies the conjugate of the operator

This is useful for defining inverters as composite operators. For example the conjugate gradient inverter is CG<dirac_staggered>.

Definition at line 92 of file libraries/dirac/staggered.h.

Member Typedef Documentation

◆ type_flt

template<typename matrix >
using dirac_staggered< matrix >::type_flt = dirac_staggered<typename gauge_field_base<matrix>::gauge_type_flt>

Single precision type in case the base type is double precision. This is used to precondition the inversion of this operator

Definition at line 109 of file libraries/dirac/staggered.h.

Member Function Documentation

◆ force()

template<typename matrix >
template<typename momtype >
void dirac_staggered< matrix >::force ( const Field< vector_type > &  chi,
const Field< vector_type > &  psi,
Field< momtype >(&)  force[4],
int  sign = 1 
)
inline

Applies the derivative of the Dirac operator with respect to the gauge field

Definition at line 152 of file libraries/dirac/staggered.h.


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