![]() |
QMCPACK
|
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... | |
template<typename MAT1 , typename MAT2 > | |
void | insert_columns (const MAT1 &small, MAT2 &big, int offset_c) |
copy a small matrix (N, M1) to a big matrix (N, M2), M2>M1 More... | |
|
inline |
C = A*diag(B)
Definition at line 114 of file MatrixOperators.h.
References qmcplusplus::Units::distance::A, B(), and qmcplusplus::Units::charge::C.
Referenced by DensityMatrices1B::evaluate_matrix(), and OneBodyDensityMatrices::evaluateMatrix().
|
inline |
C = diag(A)*B.
Definition at line 129 of file MatrixOperators.h.
References qmcplusplus::Units::distance::A, B(), and qmcplusplus::Units::charge::C.
|
inline |
Definition at line 69 of file MatrixOperators.h.
References B(), and qmcplusplus::Units::charge::C.
|
inline |
Definition at line 87 of file MatrixOperators.h.
References qmcplusplus::Units::distance::A, and B().
|
inline |
copy a small matrix (N, M1) to a big matrix (N, M2), M2>M1
small | input matrix |
big | outout matrix |
offset_c | column offset |
Definition at line 34 of file CompositeSPOSet.cpp.
References copy().
Referenced by CompositeSPOSet::evaluate_notranspose().
|
inline |
Definition at line 78 of file MatrixOperators.h.
References B(), and qmcplusplus::Units::charge::C.
|
inline |
static function to perform C=AB for real matrices
Call dgemm/zgemm/sgemm/cgemm via BLAS::gemm
Definition at line 36 of file MatrixOperators.h.
References qmcplusplus::Units::distance::A, B(), qmcplusplus::Units::charge::C, and BLAS::gemm().
Referenced by DensityMatrices1B::evaluate_matrix(), PWOrbitalSet::evaluate_notranspose(), PWRealOrbitalSet::evaluate_notranspose(), AGPDeterminant::evaluateLogAndStore(), OneBodyDensityMatrices::evaluateMatrix(), DiracDeterminant< DU_TYPE >::evaluateRatiosAlltoOne(), PWOrbitalSet::evaluateValue(), PWRealOrbitalSet::evaluateValue(), LCAOrbitalSet::evaluateValue(), PWOrbitalSet::evaluateVGL(), PWRealOrbitalSet::evaluateVGL(), ForceCeperley::InitMatrix(), ForceChiesaPBCAA::InitMatrix(), MultiSlaterDetTableMethod::precomputeC_otherDs(), QMCFixedSampleLinearOptimizeBatched::previous_linear_methods_run(), QMCFixedSampleLinearOptimize::run(), Eigensolver::solveGeneralizedEigenvalues_Inv(), and QMCFixedSampleLinearOptimizeBatched::solveShiftsWithoutLMYEngine().
|
inline |
static function to perform C=AB for complex matrices
Call zgemm
Definition at line 159 of file MatrixOperators.h.
|
inline |
static function to perform y=Ax for generic matrix and vector
Definition at line 167 of file MatrixOperators.h.
References qmcplusplus::Units::distance::A, Vector< T, Alloc >::data(), and BLAS::gemv().
|
inline |
static function to perform y=Ax for generic matrix and vector
Definition at line 189 of file MatrixOperators.h.
References qmcplusplus::Units::distance::A, TinyVector< T, D >::begin(), and BLAS::gemm().
|
inline |
Definition at line 199 of file MatrixOperators.h.
References qmcplusplus::Units::distance::A, Tensor< T, D >::begin(), and BLAS::gemm().
|
inline |
static function to perform y=Ax for generic matrix and vector
Definition at line 212 of file MatrixOperators.h.
References qmcplusplus::Units::distance::A, TinyVector< T, D >::begin(), and dgemm().
|
inline |
static function to perform y=Ax for generic matrix and vector
Definition at line 226 of file MatrixOperators.h.
References qmcplusplus::Units::distance::A, zgemm(), and BLAS::zone.
|
inline |
static function to perform y=Ax for generic matrix and vector
Definition at line 240 of file MatrixOperators.h.
References qmcplusplus::Units::distance::A, zgemv(), and BLAS::zone.
|
inline |
static function to perform y=Ax for generic matrix and vector
Definition at line 252 of file MatrixOperators.h.
References qmcplusplus::Units::distance::A, qmcplusplus::Units::distance::m, and qmcplusplus::n.
|
inline |
Definition at line 47 of file MatrixOperators.h.
References qmcplusplus::Units::distance::A, B(), qmcplusplus::Units::charge::C, and BLAS::gemm().
|
inline |
Definition at line 58 of file MatrixOperators.h.
References qmcplusplus::Units::distance::A, B(), qmcplusplus::Units::charge::C, and BLAS::gemm().
Referenced by DensityMatrices1B::evaluate_matrix(), and OneBodyDensityMatrices::evaluateMatrix().
|
inline |
static function to perform y = A^t x for generic matrix and vector
Definition at line 178 of file MatrixOperators.h.
References qmcplusplus::Units::distance::A, Vector< T, Alloc >::data(), and BLAS::gemv().
Referenced by LCAOrbitalSet::evaluateDetRatios().
|
inline |
Definition at line 106 of file MatrixOperators.h.
References qmcplusplus::Units::distance::A, B(), and qmcplusplus::simd::transpose().