QMCPACK
MatrixOperators.h File Reference
+ Include dependency graph for MatrixOperators.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

 qmcplusplus
 helper functions for EinsplineSetBuilder
 
 qmcplusplus::MatrixOperators
 

Functions

template<typename T >
void product (const Matrix< T > &A, const Matrix< T > &B, Matrix< T > &C)
 static function to perform C=AB for real matrices More...
 
template<typename T >
void product_ABt (const Matrix< T > &A, const Matrix< T > &B, Matrix< T > &C)
 
template<typename T >
void product_AtB (const Matrix< T > &A, const Matrix< T > &B, Matrix< T > &C)
 
void half_outerProduct (const Matrix< double > &M, const Vector< double > &B, int iat, Matrix< double > &C)
 
void other_half_outerProduct (const Matrix< double > &M, const Vector< double > &B, int iat, Matrix< double > &C)
 
double innerProduct (const Vector< double > &A, const Vector< double > &B)
 
template<typename T >
void transpose (Matrix< T > &A)
 
template<typename T >
void transpose (const Matrix< T > &A, Matrix< T > &B)
 
template<typename T1 , typename T2 , typename T3 >
void diag_product (const Matrix< T1 > &A, const Vector< T2 > &B, Matrix< T3 > &C)
 C = A*diag(B) More...
 
template<typename T1 , typename T2 , typename T3 >
void diag_product (const Vector< T1 > &A, const Matrix< T2 > &B, Matrix< T3 > &C)
 C = diag(A)*B. More...
 
void product (const Matrix< double > &A, const Matrix< std::complex< double >> &B, Matrix< double > &C)
 static function to perform C=AB for complex matrices More...
 
template<typename T >
void product (const Matrix< T > &A, const Vector< T > &x, Vector< T > &y)
 static function to perform y=Ax for generic matrix and vector More...
 
template<typename T >
void product_Atx (const Matrix< T > &A, const Vector< T > &x, Vector< T > &y)
 static function to perform y = A^t x for generic matrix and vector More...
 
template<typename T , unsigned D>
void product (const Matrix< T > &A, const TinyVector< T, D > *xvPtr, TinyVector< T, D > *restrict yptr)
 static function to perform y=Ax for generic matrix and vector More...
 
template<typename T , unsigned D>
void product (const Matrix< T > &A, const Tensor< T, D > *xvPtr, Tensor< T, D > *restrict yptr)
 
template<unsigned D>
void product (const Matrix< double > &A, const Vector< TinyVector< double, D >> &x, TinyVector< double, D > *restrict yptr)
 static function to perform y=Ax for generic matrix and vector More...
 
template<unsigned D>
void product (const Matrix< std::complex< double >> &A, const Vector< TinyVector< std::complex< double >, D >> &x, TinyVector< std::complex< double >, D > *restrict yptr)
 static function to perform y=Ax for generic matrix and vector More...
 
void product (const Matrix< std::complex< double >> &A, const Vector< std::complex< double >> &x, std::complex< double > *restrict yptr)
 static function to perform y=Ax for generic matrix and vector More...
 
void product (const Matrix< std::complex< double >> &A, const Vector< double > &x, std::complex< double > *restrict yptr)
 static function to perform y=Ax for generic matrix and vector More...