QUDA  1.0.0
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Public Member Functions | Public Attributes | Private Member Functions | Private Attributes | List of all members
quda::HMatrix< T, N > Class Template Reference

Specialized container for Hermitian matrices (e.g., used for wrapping clover matrices) More...

#include <quda_matrix.h>

Collaboration diagram for quda::HMatrix< T, N >:
Collaboration graph
[legend]

Public Member Functions

__device__ __host__ HMatrix ()
 
__device__ __host__ HMatrix (const HMatrix< T, N > &a)
 
__device__ __host__ HMatrix (const T data_[])
 
__device__ __host__ complex< T > const operator() (int i, int j) const
 
__device__ __host__ HMatrix_wrapper< T, HMatrix< T, N > > operator() (int i, int j)
 
template<class U >
__device__ __host__ void operator= (const HMatrix< U, N > &b)
 
template<typename S >
__device__ __host__ HMatrix (const clover_wrapper< T, S > &s)
 
template<typename S >
__device__ __host__ void operator= (const clover_wrapper< T, S > &s)
 
__device__ __host__ HMatrix< T, N > square () const
 Hermitian matrix square. More...
 
__device__ __host__ T max () const
 Compute the absolute max element of the Hermitian matrix. More...
 
__device__ __host__ void print () const
 

Public Attributes

data [N *N]
 

Private Member Functions

__device__ __host__ int index (int i, int j) const
 

Private Attributes

friend HMatrix_wrapper< T, HMatrix< T, N > >
 

Detailed Description

template<class T, int N>
class quda::HMatrix< T, N >

Specialized container for Hermitian matrices (e.g., used for wrapping clover matrices)

Definition at line 61 of file quda_matrix.h.

Constructor & Destructor Documentation

◆ HMatrix() [1/4]

template<class T, int N>
__device__ __host__ quda::HMatrix< T, N >::HMatrix ( )
inline

Definition at line 307 of file quda_matrix.h.

References quda::zero().

Here is the call graph for this function:

◆ HMatrix() [2/4]

template<class T, int N>
__device__ __host__ quda::HMatrix< T, N >::HMatrix ( const HMatrix< T, N > &  a)
inline

Definition at line 312 of file quda_matrix.h.

References quda::HMatrix< T, N >::data.

◆ HMatrix() [3/4]

template<class T, int N>
__device__ __host__ quda::HMatrix< T, N >::HMatrix ( const T  data_[])
inline

Definition at line 317 of file quda_matrix.h.

◆ HMatrix() [4/4]

template<typename T , int N>
template<typename S >
__device__ __host__ quda::HMatrix< T, N >::HMatrix ( const clover_wrapper< T, S > &  s)
inline

Member Function Documentation

◆ index()

template<class T, int N>
__device__ __host__ int quda::HMatrix< T, N >::index ( int  i,
int  j 
) const
inlineprivate

Definition at line 291 of file quda_matrix.h.

◆ max()

template<class T, int N>
__device__ __host__ T quda::HMatrix< T, N >::max ( ) const
inline

Compute the absolute max element of the Hermitian matrix.

Returns
Abosolue Max element

Definition at line 381 of file quda_matrix.h.

References quda::abs().

Here is the call graph for this function:

◆ operator()() [1/2]

template<class T, int N>
__device__ __host__ complex<T> const quda::HMatrix< T, N >::operator() ( int  i,
int  j 
) const
inline

Definition at line 322 of file quda_matrix.h.

References index().

Here is the call graph for this function:

◆ operator()() [2/2]

template<class T, int N>
__device__ __host__ HMatrix_wrapper<T,HMatrix<T,N> > quda::HMatrix< T, N >::operator() ( int  i,
int  j 
)
inline

Definition at line 333 of file quda_matrix.h.

References index().

Here is the call graph for this function:

◆ operator=() [1/2]

template<class T, int N>
template<class U >
__device__ __host__ void quda::HMatrix< T, N >::operator= ( const HMatrix< U, N > &  b)
inline

Definition at line 338 of file quda_matrix.h.

References quda::HMatrix< T, N >::data.

◆ operator=() [2/2]

template<typename T , int N>
template<typename S >
__device__ __host__ void quda::HMatrix< T, N >::operator= ( const clover_wrapper< T, S > &  s)
inline

◆ print()

template<class T, int N>
__device__ __host__ void quda::HMatrix< T, N >::print ( ) const
inline

Definition at line 390 of file quda_matrix.h.

References quda::Matrix< T, N >::Matrix().

Here is the call graph for this function:

◆ square()

template<class T, int N>
__device__ __host__ HMatrix<T,N> quda::HMatrix< T, N >::square ( ) const
inline

Hermitian matrix square.

Returns
Matrix square

Definition at line 353 of file quda_matrix.h.

References tmp.

Referenced by quda::computeTMCAV().

Here is the caller graph for this function:

Member Data Documentation

◆ data

template<class T, int N>
T quda::HMatrix< T, N >::data[N *N]

◆ HMatrix_wrapper< T, HMatrix< T, N > >

template<class T, int N>
friend quda::HMatrix< T, N >::HMatrix_wrapper< T, HMatrix< T, N > >
private

Definition at line 288 of file quda_matrix.h.


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