HILA
|
#include <staggered.h>
Public Types | |
using | vector_type = SU_vector< matrix::size, hila::arithmetic_type< matrix > > |
The SU(N) vector type. | |
using | matrix_type = matrix |
The matrix type. | |
using | type_flt = dirac_staggered< typename gauge_field_base< matrix >::gauge_type_flt > |
Public Member Functions | |
Field (&gauge)[4] | |
A reference to the gauge links used in the dirac 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. | |
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 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. | |
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.
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.
|
inline |
Applies the derivative of the Dirac operator with respect to the gauge field
Definition at line 152 of file libraries/dirac/staggered.h.