|
HILA
|
#include <wilson_vector.h>

Public Member Functions | |
| Array< N *Nvectors, 1, T > & | asArray () |
| cast to Array | |
| WilsonVector_t | conj () const |
| complex conjugate | |
| template<typename S , std::enable_if_t< hila::is_complex_or_arithmetic< S >::value > = 0> | |
| WilsonVector_t & | fill (const S rhs) |
| fill method | |
| void | gaussian_random (T width=1.0) |
| gaussian random | |
| template<typename S , std::enable_if_t< hila::is_complex_or_arithmetic< S >::value > = 0> | |
| WilsonVector_t & | operator*= (const S rhs) |
| Mul assign by scalar. | |
| const WilsonVector_t & | operator+ () const |
| unary + | |
| template<typename S > | |
| WilsonVector_t & | operator+= (const WilsonVector_t< Nvectors, N, S > &rhs) |
| Add assign from Wvec. | |
| WilsonVector_t | operator- () const |
| unary - | |
| template<typename S > | |
| WilsonVector_t & | operator-= (const WilsonVector_t< Nvectors, N, S > &rhs) |
| Sub assign from Wvec. | |
| template<typename S , std::enable_if_t< hila::is_complex_or_arithmetic< S >::value > = 0> | |
| WilsonVector_t & | operator/= (const S rhs) |
| Div assign by scalar. | |
| WilsonVector_t & | operator= (const std::nullptr_t &z) |
| assign from 0 | |
| template<typename S > | |
| WilsonVector_t & | operator= (const WilsonVector_t< Nvectors, N, S > &rhs) |
| Assign from WilsonVector. | |
| template<typename S > | |
| auto | outer_product (const Wilson_vector_t< Nvectors, N, S > &rhs) const |
| T | squarenorm () const |
| norms | |
Wilson_vector contains the data for a single pseudofermion with the Wilson action. For each gamma dimension, contains a SU(N) vector. Wilson fermions can be multiplied by the gamma matrices gamma0, gamma1 ... gamma5 (or up to gamma 2 for 2 and 3 dimensions).
A gamma matrix can also be projected to a half_Wilson_vector using the constructor half_Wilson_vector(wilson_vector, dir, sign). This multiplies the vector with 0.5*(1-sign*gamma_dir), leaving half the degrees of freedom. A full Wilson vector can be recovered using half_Wilson_vector::grow.
use type WilsonVector_t, which can be used to define WilsonVector and HalfWilsonVector -types
Definition at line 57 of file wilson_vector.h.
|
inline |
Returns a square matrix, cast into the Matrix<N,N,Complex<T>> -type, which is the sum of the outer products of the colour vectors in this Wilson vector and the argument
Definition at line 229 of file wilson_vector.h.