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

#include <wilson_vector.h>

Collaboration diagram for HalfWilsonVector< N, T >:

Public Member Functions

squarenorm ()
 

Detailed Description

template<int N, typename T>
class HalfWilsonVector< N, T >

half_Wilson_vector is a Wilson vector projected by 1 +- gamma_j and contains half the degrees of freedom

(1 +- gamma_j) is a projection operator. We will apply the projection to a Wilson_vector and store the result in a half_Wilson_vector. This will store all necessary information in half the amount of data and reduce the effort of multiplying with gauge matrices by half.

The constructor half_Wilson_vector(Wilson_vector<n, radix> w, Direction d) will take the projection automatically. A positive Direction d corresponds to 1+gamma_j and a negative Direction d corresponds to 1-gamma_j.

A half_Wilson_vector can be expanded to a full Wilson_vector using the method expand(Direction d). Notice that this requires knowing the Direction that was used to project it. The Direction is not stored.

Note that the eigenvectors below are normalized to sqrt(2), or |v*v| = 2. This is why we don't explicitly multiply by 2 when expanding to full Wilson_vector.

gamma(XUP) eigenvectors eigenvalue 0 0 0 i ( 1, 0, 0,-i) +1 0 0 i 0 ( 0, 1,-i, 0) +1 0 -i 0 0 ( 1, 0, 0,+i) -1 -i 0 0 0 ( 0, 1,+i, 0) -1

gamma(YUP) eigenvectors eigenvalue 0 0 0 -1 ( 1, 0, 0,-1) +1 0 0 1 0 ( 0, 1, 1, 0) +1 0 1 0 0 ( 1, 0, 0, 1) -1 -1 0 0 0 ( 0, 1,-1, 0) -1

gamma(ZUP) eigenvectors eigenvalue 0 0 i 0 ( 1, 0,-i, 0) +1 0 0 0 -i ( 0, 1, 0,+i) +1 -i 0 0 0 ( 1, 0,+i, 0) -1 0 i 0 0 ( 0, 1, 0,-i) -1

gamma(TUP) eigenvectors eigenvalue 0 0 1 0 ( 1, 0, 1, 0) +1 0 0 0 1 ( 0, 1, 0, 1) +1 1 0 0 0 ( 1, 0,-1, 0) -1 0 1 0 0 ( 0, 1, 0,-1) -1

gamma(FIVE) eigenvectors eigenvalue 1 0 0 0 sq2( 1, 0, 0, 0) +1 0 1 0 0 sq2( 0, 1, 0, 0) +1 0 0 -1 0 sq2( 0, 0, 1, 0) -1 0 0 0 -1 sq2( 0, 0, 0, 1) -1

Definition at line 426 of file wilson_vector.h.

Member Function Documentation

◆ squarenorm()

template<int N, typename T >
T HalfWilsonVector< N, T >::squarenorm ( )
inline

Returns the norm squared of (1+-gamma_j) * wilson_vector. Thus the factor 2.

Definition at line 656 of file wilson_vector.h.


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