HILA
Loading...
Searching...
No Matches
WilsonVector_t< Nvectors, N, T > Class Template Reference

#include <wilson_vector.h>

Collaboration diagram for WilsonVector_t< Nvectors, N, T >:

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_tfill (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_toperator*= (const S rhs)
 Mul assign by scalar.
 
const WilsonVector_toperator+ () const
 unary +
 
template<typename S >
WilsonVector_toperator+= (const WilsonVector_t< Nvectors, N, S > &rhs)
 Add assign from Wvec.
 
WilsonVector_t operator- () const
 unary -
 
template<typename S >
WilsonVector_toperator-= (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_toperator/= (const S rhs)
 Div assign by scalar.
 
WilsonVector_toperator= (const std::nullptr_t &z)
 assign from 0
 
template<typename S >
WilsonVector_toperator= (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
 
squarenorm () const
 norms
 

Detailed Description

template<int Nvectors, int N, typename T>
class WilsonVector_t< Nvectors, N, T >

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.

Member Function Documentation

◆ outer_product()

template<int Nvectors, int N, typename T >
template<typename S >
auto WilsonVector_t< Nvectors, N, T >::outer_product ( const Wilson_vector_t< Nvectors, N, S > &  rhs) const
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.


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