QUDA
v1.1.0
A library for QCD on GPUs
|
Go to the source code of this file.
Classes | |
struct | quda::ColorSpinor< Float, Nc, Ns > |
struct | quda::ColorSpinor< Float, Nc, 4 > |
struct | quda::ColorSpinor< Float, Nc, 2 > |
Namespaces | |
quda | |
Functions | |
template<typename Float , int Nc, int Ns> | |
__device__ __host__ complex< Float > | quda::innerProduct (const ColorSpinor< Float, Nc, Ns > &a, const ColorSpinor< Float, Nc, Ns > &b) |
Compute the inner product over color and spin dot = \sum_s,c conj(a(s,c)) * b(s,c) More... | |
template<typename Float , int Nc, int Ns> | |
__device__ __host__ complex< Float > | quda::colorContract (const ColorSpinor< Float, Nc, Ns > &a, const ColorSpinor< Float, Nc, Ns > &b, int sa, int sb) |
Compute the color contraction over color at spin s dot = \sum_s,c a(s,c) * b(s,c) More... | |
template<typename Float , int Nc, int Ns> | |
__device__ __host__ complex< Float > | quda::innerProduct (const ColorSpinor< Float, Nc, Ns > &a, const ColorSpinor< Float, Nc, Ns > &b, int s) |
template<typename Float , int Nc, int Ns> | |
__device__ __host__ complex< Float > | quda::innerProduct (const ColorSpinor< Float, Nc, Ns > &a, const ColorSpinor< Float, Nc, Ns > &b, int sa, int sb) |
template<typename Float , int Nc, int Nsa, int Nsb> | |
__device__ __host__ complex< Float > | quda::innerProduct (const ColorSpinor< Float, Nc, Nsa > &a, const ColorSpinor< Float, Nc, Nsb > &b, int sa, int sb) |
Compute the inner product over color at spin sa and sb between a color spinors a and b of different spin length dot = \sum_c conj(a(c)) * b(s,c) More... | |
template<typename Float , int Ns> | |
__device__ __host__ ColorSpinor< Float, 3, 1 > | quda::crossProduct (const ColorSpinor< Float, 3, Ns > &a, const ColorSpinor< Float, 3, Ns > &b, int sa, int sb) |
template<typename Float , int Nc, int Ns> | |
__device__ __host__ Matrix< complex< Float >, Nc > | quda::outerProdSpinTrace (const ColorSpinor< Float, Nc, Ns > &a, const ColorSpinor< Float, Nc, Ns > &b) |
template<typename Float , int Nc> | |
__device__ __host__ Matrix< complex< Float >, Nc > | quda::outerProduct (const ColorSpinor< Float, Nc, 1 > &a, const ColorSpinor< Float, Nc, 1 > &b) |
template<typename Float , int Nc, int Ns> | |
__device__ __host__ ColorSpinor< Float, Nc, Ns > | quda::operator+ (const ColorSpinor< Float, Nc, Ns > &x, const ColorSpinor< Float, Nc, Ns > &y) |
ColorSpinor addition operator. More... | |
template<typename Float , int Nc, int Ns> | |
__device__ __host__ ColorSpinor< Float, Nc, Ns > | quda::operator- (const ColorSpinor< Float, Nc, Ns > &x, const ColorSpinor< Float, Nc, Ns > &y) |
ColorSpinor subtraction operator. More... | |
template<typename Float , int Nc, int Ns, typename S > | |
__device__ __host__ ColorSpinor< Float, Nc, Ns > | quda::operator* (const S &a, const ColorSpinor< Float, Nc, Ns > &x) |
Compute the scalar-vector product y = a * x. More... | |
template<typename Float , int Nc, int Ns> | |
__device__ __host__ ColorSpinor< Float, Nc, Ns > | quda::operator* (const Matrix< complex< Float >, Nc > &A, const ColorSpinor< Float, Nc, Ns > &x) |
Compute the matrix-vector product y = A * x. More... | |
template<typename Float , int Nc, int Ns> | |
__device__ __host__ ColorSpinor< Float, Nc, Ns > | quda::mv_add (const Matrix< complex< Float >, Nc > &A, const ColorSpinor< Float, Nc, Ns > &x, const ColorSpinor< Float, Nc, Ns > &y) |
Compute the matrix-vector product z = A * x + y. More... | |
template<typename Float , int Nc, int Ns> | |
__device__ __host__ ColorSpinor< Float, Nc, Ns > | quda::operator* (const HMatrix< Float, Nc *Ns > &A, const ColorSpinor< Float, Nc, Ns > &x) |
Compute the matrix-vector product y = A * x. More... | |
The header file defines some helper structs for dealing with ColorSpinors (e.g., a vector with both color and spin degrees of freedom).
Definition in file color_spinor.h.