ergo
|
Namespaces | |
arn | |
Classes | |
class | Acceptable |
class | AcceptableMaxIter |
struct | AccessMap |
class | Allocator |
class | AllocatorManager |
struct | ATAMatrix |
struct | CongrTransErrorMatrix |
class | DebugLevelHigh |
class | DebugLevelLow |
class | DebugLevelMedium |
struct | DiffMatrix |
class | EuclTruncationBase |
class | EuclTruncationCongrTransMeasure |
Truncation of general matrices with impact on matrix triple multiply as error measure. More... | |
class | EuclTruncationGeneral |
Truncation of general matrices. More... | |
class | EuclTruncationSymm |
Truncation of symmetric matrices. More... | |
class | EuclTruncationSymmElementLevel |
Truncation of symmetric matrices at the element level (used for mixed norm truncation) More... | |
class | EuclTruncationSymmWithZ |
Truncation of symmetric matrices with Z. More... | |
class | Failure |
class | FileWritable |
Write and read objects to/from file. More... | |
struct | Gblas |
class | Interval |
class | Matrix |
Matrix class and heart of the matrix library. More... | |
class | Matrix< Treal > |
class | MatrixBase |
Base class for matrix API. More... | |
class | MatrixGeneral |
Normal matrix. More... | |
class | MatrixHierarchicBase |
Base class for Matrix and Matrix specialization. More... | |
class | MatrixSymmetric |
Symmetric matrix. More... | |
class | MatrixTriangular |
Upper non-unit triangular matrix. More... | |
class | MemUsage |
class | Params |
class | SingletonForTimings |
class | SizesAndBlocks |
Describes dimensions of matrix and its blocks on all levels. More... | |
class | TC2 |
Trace correcting purification. More... | |
class | Time |
struct | TripleMatrix |
class | ValidPtr |
Smart pointer class to control access to object. More... | |
class | Vector |
Vector class. More... | |
class | Vector< Treal > |
class | VectorGeneral |
class | VectorHierarchicBase |
Base class for Vector and Vector specialization. More... | |
struct | XmY |
This proxy expresses the result of substraction of two objects, of possibly different types, TX and TY. More... | |
struct | XpY |
This proxy expresses the result of addition of two objects, of possibly different types, TX and TY. More... | |
struct | Xtrans |
This proxy expresses the result of transposition of an object of type TX. More... | |
struct | XY |
This proxy expresses the result of multiplication of two objects, of possibly different types, TX and TY. More... | |
struct | XYZ |
This proxy expresses the result of multiplication of three objects, of possibly different types, TX, TY, and TZ. More... | |
struct | XYZpUV |
This proxy expresses the result of multiplication of three objects added to two other multiplied objects. More... | |
Enumerations | |
enum | property { zero, ful } |
enum | normType { frobNorm, euclNorm, mixedNorm } |
enum | side { left, right } |
enum | inchversion { unstable, stable } |
enum | matrix_type { matrix_matr, matrix_symm, matrix_triang } |
Functions | |
template<> | |
float * | allocateElements< float > (int n) |
template<> | |
void | freeElements (float *ptr) |
template<> | |
double * | allocateElements< double > (int n) |
template<> | |
void | freeElements (double *ptr) |
template<class T > | |
T * | allocateElements (int n) |
template<class T > | |
void | freeElements (T *ptr) |
template<typename Treal > | |
int | sign (Treal value) |
Sign function returns the sign of the input. More... | |
template<typename Treal , typename Tfun > | |
Treal | bisection (Tfun const &fun, Treal min, Treal max, Treal const tol) |
Bisection algorithm for root finding. More... | |
static long int | get_file_size (const char *fileName) |
static void | copy_file (const char *sourceFileName, const char *destFileName) |
template<class Treal > | |
static Treal | maxdiff (const Treal *f1, const Treal *f2, int size) |
template<class Treal > | |
static Treal | maxdiff_tri (const Treal *f1, const Treal *f2, int size) |
template<class Treal > | |
static Treal | frobdiff (const Treal *f1, const Treal *f2, int size) |
template<typename Treal , typename Trealonfile > | |
static void | fileread (Treal *ptr, int size, FILE *file) |
template<typename Treal , typename Tmatrix > | |
static void | read_matrix (Tmatrix &A, char const *const matrixPath, int const size) |
template<typename Treal , typename Trealonfile , typename Tmatrix > | |
static void | read_sparse_matrix (Tmatrix &A, char const *const rowPath, char const *const colPath, char const *const valPath, int const nval) |
template<typename Treal > | |
static void | read_xyz (Treal *x, Treal *y, Treal *z, char *atomsPath, int const natoms, int const size) |
template<typename Treal > | |
Interval< Treal > | sqrtInt (Interval< Treal > const &other) |
template<typename Treal > | |
std::ostream & | operator<< (std::ostream &s, Interval< Treal > const &in) |
template<typename Tmatrix , typename Treal > | |
Interval< Treal > | euclIfSmall (Tmatrix const &M, Treal const requestedAbsAccuracy, Treal const requestedRelAccuracy, Treal const maxAbsVal, typename Tmatrix::VectorType *const eVecPtr=0, int maxIter=-1) |
Returns interval containing the Euclidean norm of the matrix M. More... | |
template<class T > | |
static void | gemm (const char *ta, const char *tb, const int *n, const int *k, const int *l, const T *alpha, const T *A, const int *lda, const T *B, const int *ldb, const T *beta, T *C, const int *ldc) |
template<class T > | |
static void | pptrf (const char *uplo, const int *n, T *ap, int *info) |
template<class T > | |
static void | spgst (const int *itype, const char *uplo, const int *n, T *ap, const T *bp, int *info) |
template<class T > | |
static void | tptri (const char *uplo, const char *diag, const int *n, T *ap, int *info) |
template<class T > | |
static void | trmm (const char *side, const char *uplo, const char *transa, const char *diag, const int *m, const int *n, const T *alpha, const T *A, const int *lda, T *B, const int *ldb) |
template<class T > | |
static void | sygv (const int *itype, const char *jobz, const char *uplo, const int *n, T *A, const int *lda, T *B, const int *ldb, T *w, T *work, const int *lwork, int *info) |
template<class T > | |
static void | ggev (const char *jobbl, const char *jobvr, const int *n, T *A, const int *lda, T *B, const int *ldb, T *alphar, T *alphai, T *beta, T *vl, const int *ldvl, T *vr, const int *ldvr, T *work, const int *lwork, int *info) |
template<class T > | |
static void | potrf (const char *uplo, const int *n, T *A, const int *lda, int *info) |
template<class T > | |
static void | trtri (const char *uplo, const char *diag, const int *n, T *A, const int *lda, int *info) |
template<class T > | |
static void | syrk (const char *uplo, const char *trans, const int *n, const int *k, const T *alpha, const T *A, const int *lda, const T *beta, T *C, const int *ldc) |
template<class T > | |
static void | symm (const char *side, const char *uplo, const int *m, const int *n, const T *alpha, const T *A, const int *lda, const T *B, const int *ldb, const T *beta, T *C, const int *ldc) |
template<class T > | |
static void | pocon (const char *uplo, const int *n, const T *A, const int *lda, const T *anorm, T *rcond, T *work, int *iwork, int *info) |
template<class T > | |
static void | stevx (const char *jobz, const char *range, const int *n, T *d, T *e, const T *vl, const T *vu, const int *il, const int *iu, const T *abstol, int *m, T *w, T *z, const int *ldz, T *work, int *iwork, int *ifail, int *info) |
template<class T > | |
static void | stevr (const char *jobz, const char *range, const int *n, T *d, T *e, const T *vl, const T *vu, const int *il, const int *iu, const T *abstol, int *m, T *w, T *z, const int *ldz, int *isuppz, T *work, int *lwork, int *iwork, int *liwork, int *info) |
template<class T > | |
static void | syev (const char *jobz, const char *uplo, const int *n, T *a, const int *lda, T *w, T *work, const int *lwork, int *info) |
template<class T > | |
static void | gemv (const char *ta, const int *m, const int *n, const T *alpha, const T *A, const int *lda, const T *x, const int *incx, const T *beta, T *y, const int *incy) |
template<class T > | |
static void | symv (const char *uplo, const int *n, const T *alpha, const T *A, const int *lda, const T *x, const int *incx, const T *beta, T *y, const int *incy) |
template<class T > | |
static void | trmv (const char *uplo, const char *trans, const char *diag, const int *n, const T *A, const int *lda, T *x, const int *incx) |
template<class T > | |
static void | scal (const int *n, const T *da, T *dx, const int *incx) |
template<class T > | |
static T | dot (const int *n, const T *dx, const int *incx, const T *dy, const int *incy) |
template<class T > | |
static void | axpy (const int *n, const T *da, const T *dx, const int *incx, T *dy, const int *incy) |
template<> | |
void | gemm< double > (const char *ta, const char *tb, const int *n, const int *k, const int *l, const double *alpha, const double *A, const int *lda, const double *B, const int *ldb, const double *beta, double *C, const int *ldc) |
template<> | |
void | pptrf< double > (const char *uplo, const int *n, double *ap, int *info) |
template<> | |
void | spgst< double > (const int *itype, const char *uplo, const int *n, double *ap, const double *bp, int *info) |
template<> | |
void | tptri< double > (const char *uplo, const char *diag, const int *n, double *ap, int *info) |
template<> | |
void | trmm< double > (const char *side, const char *uplo, const char *transa, const char *diag, const int *m, const int *n, const double *alpha, const double *A, const int *lda, double *B, const int *ldb) |
template<> | |
void | sygv< double > (const int *itype, const char *jobz, const char *uplo, const int *n, double *A, const int *lda, double *B, const int *ldb, double *w, double *work, const int *lwork, int *info) |
template<> | |
void | ggev< double > (const char *jobbl, const char *jobvr, const int *n, double *A, const int *lda, double *B, const int *ldb, double *alphar, double *alphai, double *beta, double *vl, const int *ldvl, double *vr, const int *ldvr, double *work, const int *lwork, int *info) |
template<> | |
void | potrf< double > (const char *uplo, const int *n, double *A, const int *lda, int *info) |
template<> | |
void | trtri< double > (const char *uplo, const char *diag, const int *n, double *A, const int *lda, int *info) |
template<> | |
void | syrk< double > (const char *uplo, const char *trans, const int *n, const int *k, const double *alpha, const double *A, const int *lda, const double *beta, double *C, const int *ldc) |
template<> | |
void | symm< double > (const char *side, const char *uplo, const int *m, const int *n, const double *alpha, const double *A, const int *lda, const double *B, const int *ldb, const double *beta, double *C, const int *ldc) |
template<> | |
void | pocon< double > (const char *uplo, const int *n, const double *A, const int *lda, const double *anorm, double *rcond, double *work, int *iwork, int *info) |
template<> | |
void | stevx< double > (const char *jobz, const char *range, const int *n, double *d, double *e, const double *vl, const double *vu, const int *il, const int *iu, const double *abstol, int *m, double *w, double *z, const int *ldz, double *work, int *iwork, int *ifail, int *info) |
template<> | |
void | stevr< double > (const char *jobz, const char *range, const int *n, double *d, double *e, const double *vl, const double *vu, const int *il, const int *iu, const double *abstol, int *m, double *w, double *z, const int *ldz, int *isuppz, double *work, int *lwork, int *iwork, int *liwork, int *info) |
template<> | |
void | syev< double > (const char *jobz, const char *uplo, const int *n, double *a, const int *lda, double *w, double *work, const int *lwork, int *info) |
template<> | |
void | gemv< double > (const char *ta, const int *m, const int *n, const double *alpha, const double *A, const int *lda, const double *x, const int *incx, const double *beta, double *y, const int *incy) |
template<> | |
void | symv< double > (const char *uplo, const int *n, const double *alpha, const double *A, const int *lda, const double *x, const int *incx, const double *beta, double *y, const int *incy) |
template<> | |
void | trmv< double > (const char *uplo, const char *trans, const char *diag, const int *n, const double *A, const int *lda, double *x, const int *incx) |
template<> | |
void | scal< double > (const int *n, const double *da, double *dx, const int *incx) |
template<> | |
double | dot< double > (const int *n, const double *dx, const int *incx, const double *dy, const int *incy) |
template<> | |
void | axpy< double > (const int *n, const double *da, const double *dx, const int *incx, double *dy, const int *incy) |
template<> | |
void | gemm< float > (const char *ta, const char *tb, const int *n, const int *k, const int *l, const float *alpha, const float *A, const int *lda, const float *B, const int *ldb, const float *beta, float *C, const int *ldc) |
template<> | |
void | pptrf< float > (const char *uplo, const int *n, float *ap, int *info) |
template<> | |
void | spgst< float > (const int *itype, const char *uplo, const int *n, float *ap, const float *bp, int *info) |
template<> | |
void | tptri< float > (const char *uplo, const char *diag, const int *n, float *ap, int *info) |
template<> | |
void | trmm< float > (const char *side, const char *uplo, const char *transa, const char *diag, const int *m, const int *n, const float *alpha, const float *A, const int *lda, float *B, const int *ldb) |
template<> | |
void | sygv< float > (const int *itype, const char *jobz, const char *uplo, const int *n, float *A, const int *lda, float *B, const int *ldb, float *w, float *work, const int *lwork, int *info) |
template<> | |
void | ggev< float > (const char *jobbl, const char *jobvr, const int *n, float *A, const int *lda, float *B, const int *ldb, float *alphar, float *alphai, float *beta, float *vl, const int *ldvl, float *vr, const int *ldvr, float *work, const int *lwork, int *info) |
template<> | |
void | potrf< float > (const char *uplo, const int *n, float *A, const int *lda, int *info) |
template<> | |
void | trtri< float > (const char *uplo, const char *diag, const int *n, float *A, const int *lda, int *info) |
template<> | |
void | syrk< float > (const char *uplo, const char *trans, const int *n, const int *k, const float *alpha, const float *A, const int *lda, const float *beta, float *C, const int *ldc) |
template<> | |
void | symm< float > (const char *side, const char *uplo, const int *m, const int *n, const float *alpha, const float *A, const int *lda, const float *B, const int *ldb, const float *beta, float *C, const int *ldc) |
template<> | |
void | pocon< float > (const char *uplo, const int *n, const float *A, const int *lda, const float *anorm, float *rcond, float *work, int *iwork, int *info) |
template<> | |
void | stevx< float > (const char *jobz, const char *range, const int *n, float *d, float *e, const float *vl, const float *vu, const int *il, const int *iu, const float *abstol, int *m, float *w, float *z, const int *ldz, float *work, int *iwork, int *ifail, int *info) |
template<> | |
void | stevr< float > (const char *jobz, const char *range, const int *n, float *d, float *e, const float *vl, const float *vu, const int *il, const int *iu, const float *abstol, int *m, float *w, float *z, const int *ldz, int *isuppz, float *work, int *lwork, int *iwork, int *liwork, int *info) |
template<> | |
void | syev< float > (const char *jobz, const char *uplo, const int *n, float *a, const int *lda, float *w, float *work, const int *lwork, int *info) |
template<> | |
void | gemv< float > (const char *ta, const int *m, const int *n, const float *alpha, const float *A, const int *lda, const float *x, const int *incx, const float *beta, float *y, const int *incy) |
template<> | |
void | symv< float > (const char *uplo, const int *n, const float *alpha, const float *A, const int *lda, const float *x, const int *incx, const float *beta, float *y, const int *incy) |
template<> | |
void | trmv< float > (const char *uplo, const char *trans, const char *diag, const int *n, const float *A, const int *lda, float *x, const int *incx) |
template<> | |
void | scal< float > (const int *n, const float *da, float *dx, const int *incx) |
template<> | |
void | axpy< float > (const int *n, const float *da, const float *dx, const int *incx, float *dy, const int *incy) |
template<class Treal > | |
static void | fulltopacked (const Treal *full, Treal *packed, const int size) |
template<class Treal > | |
static void | packedtofull (const Treal *packed, Treal *full, const int size) |
template<class Treal > | |
static void | tripackedtofull (const Treal *packed, Treal *full, const int size) |
template<class Treal > | |
static void | trifulltofull (Treal *trifull, const int size) |
normType | getNormType (const char *normStr) |
std::string | getNormTypeString (normType nType) |
template<typename Treal > | |
static Treal | getMachineEpsilon () |
template<typename Treal > | |
static Treal | getRelPrecision () |
template<typename TX > | |
Xtrans< TX > | transpose (TX const &A) |
Transposition. More... | |
template<typename TX > | |
Xtrans< TX > | transpose (const Xtrans< TX > &xtrans) |
Transposition. More... | |
template<typename TX , typename TY > | |
XY< TX, TY > | operator* (Xtrans< TX > const &trAA, Xtrans< TY > const &trBB) |
Multiplication of two transposition proxys holding objects of type TX and TY respectively. More... | |
template<typename TX , typename TY > | |
XY< TX, TY > | operator* (TX const &AA, Xtrans< TY > const &trBB) |
Multiplication of an object of type TX with a tranposition proxy holding an object of type TY. More... | |
template<typename TX , typename TY > | |
XY< TX, TY > | operator* (Xtrans< TX > const &trAA, TY const &BB) |
Multiplication of a tranposition proxy holding an object of type TX with an object of type TY. More... | |
template<typename TX , typename TY > | |
XY< TX, TY > | operator* (TX const &AA, TY const &BB) |
Multiplication of an object of type TX with an object of type TY. More... | |
template<typename TX , typename TY , typename TZ > | |
XYZ< TX, TY, TZ > | operator* (XY< TX, TY > const &AB, Xtrans< TZ > const &trCC) |
Multiplication of a multiplication proxy XY with a transposition proxy Xtrans. More... | |
template<typename TX , typename TY , typename TZ > | |
XYZ< TX, TY, TZ > | operator* (XY< TX, TY > const &AB, TZ const &CC) |
Multiplication of a multiplication proxy XY with an object of type TZ. More... | |
template<typename TX , typename TY , typename TZ , typename TU , typename TV > | |
XYZpUV< TX, TY, TZ, TU, TV > | operator+ (XYZ< TX, TY, TZ > const &ABC, XY< TU, TV > const &DE) |
Addition of two multiplication proxys XYZ and XY. More... | |
template<typename TX , typename TY > | |
XpY< TX, TY > | operator+ (TX const &AA, TY const &BB) |
Addition of two objects of type TX and TY. More... | |
template<typename TX , typename TY > | |
XmY< TX, TY > | operator- (TX const &AA, TY const &BB) |
Substraction of two objects of type TX and TY. More... | |
template<typename Treal , typename Tmatrix > | |
Treal | trace (const XYZ< Treal, MatrixGeneral< Treal, Tmatrix >, MatrixGeneral< Treal, Tmatrix > > &smm) |
template<typename Treal , typename Tmatrix , typename Top > | |
Treal | accumulate (MatrixSymmetric< Treal, Tmatrix > &A, Top &op) |
Performs operation specified in 'op' on all nonzero matrix elements and sums up the result and returns it. More... | |
template<class Treal > | |
void | quicksort (const Treal *value, int *index, int low, int high) |
template<typename Treal , typename Tvector > | |
Treal | operator* (Xtrans< VectorGeneral< Treal, Tvector > > const &xT, VectorGeneral< Treal, Tvector > const &y) |
transpose(x) * y Scalar (dot) product of two vectors More... | |
Heart of matrix library: MatrixHierarchicBase is the base class both for higher levels in the hierarchic Matrix (first part of this file) and for the specialization at the lowest level (second part of this file). Hence, functionality common to these class templates can be implemented in MatrixHierarchicBase.
The interface: The interface is in MatrixBase.h MatrixSymmetric.h MatrixGeneral.h MatrixTriangular.h.
Functions added to this file will not be visible. They have to be called from the interface classes.
Example usage: Check out API_test.cc
enum mat::inchversion |
enum mat::matrix_type |
enum mat::normType |
enum mat::property |
enum mat::side |
Treal mat::accumulate | ( | MatrixSymmetric< Treal, Tmatrix > & | A, |
Top & | op | ||
) |
Performs operation specified in 'op' on all nonzero matrix elements and sums up the result and returns it.
References A.
Referenced by testAccumulation().
T* mat::allocateElements | ( | int | n | ) |
double * mat::allocateElements< double > | ( | int | n | ) |
float * mat::allocateElements< float > | ( | int | n | ) |
|
inlinestatic |
|
inline |
References daxpy_(), mat::Gblas::time, and mat::Gblas::timekeeping.
|
inline |
References saxpy_(), mat::Gblas::time, and mat::Gblas::timekeeping.
Treal mat::bisection | ( | Tfun const & | fun, |
Treal | min, | ||
Treal | max, | ||
Treal const | tol | ||
) |
Bisection algorithm for root finding.
The bisection method finds the root of a function in the interval [min, max], or more precisely the place where the function changes sign. It is assumed that the function only changes sign once in the given interval.
The function is given by a class that has a member function named eval that evaluates the function in the given point.
References max, min(), sign(), and template_blas_fabs().
Referenced by mat::TC2< Treal, Tmatrix >::fermi_level(), mat::TC2< Treal, Tmatrix >::homo(), and mat::TC2< Treal, Tmatrix >::lumo().
|
static |
References get_file_size().
Referenced by mat::FileWritable::FileWritable(), and mat::FileWritable::operator=().
|
inlinestatic |
References template_blas_dot().
Referenced by mat::Vector< Treal, Telement >::dot(), mat::Vector< Treal >::dot(), dotIsBroken(), and operator*().
|
inline |
References ddot_(), mat::Gblas::time, and mat::Gblas::timekeeping.
Interval<Treal> mat::euclIfSmall | ( | Tmatrix const & | M, |
Treal const | requestedAbsAccuracy, | ||
Treal const | requestedRelAccuracy, | ||
Treal const | maxAbsVal, | ||
typename Tmatrix::VectorType *const | eVecPtr = 0 , |
||
int | maxIter = -1 |
||
) |
Returns interval containing the Euclidean norm of the matrix M.
If it is smaller than 'maxAbsVal' it is computed with the 'requestedAccuracy'.
If the norm is larger than 'maxAbsVal', the returned interval is based on the Frobenius norm.
References cols, mat::arn::LanczosLargestMagnitudeEig< Treal, Tmatrix, Tvector >::getLargestMagnitudeEig(), mat::arn::LanczosLargestMagnitudeEig< Treal, Tmatrix, Tvector >::getLargestMagnitudeEigPair(), mat::arn::LanczosLargestMagnitudeEigIfSmall< Treal, Tmatrix, Tvector >::largestMagEigIsSmall(), mat::arn::LanczosLargestMagnitudeEigIfSmall< Treal, Tmatrix, Tvector >::run(), mat::arn::LanczosLargestMagnitudeEig< Treal, Tmatrix, Tvector >::setAbsTol(), mat::arn::LanczosLargestMagnitudeEig< Treal, Tmatrix, Tvector >::setRelTol(), and template_blas_fabs().
Referenced by mat::MatrixSymmetric< Treal, Tmatrix >::eucl_diff(), mat::MatrixSymmetric< Treal, Tmatrix >::euclDiffIfSmall(), mat::EuclTruncationSymm< Tmatrix, Treal >::euclIfSmall(), mat::EuclTruncationSymmWithZ< Tmatrix, TmatrixZ, Treal >::euclIfSmall(), mat::EuclTruncationGeneral< Tmatrix, Treal >::euclIfSmall(), mat::EuclTruncationCongrTransMeasure< Tmatrix, TmatrixB, Treal >::euclIfSmall(), and mat::EuclTruncationBase< Tmatrix, Treal >::run().
|
static |
void mat::freeElements | ( | T * | ptr | ) |
void mat::freeElements | ( | float * | ptr | ) |
References mat::AllocatorManager< Treal >::free(), and mat::AllocatorManager< Treal >::instance().
Referenced by mat::Vector< Treal, Telement >::clear(), mat::Matrix< Treal, Telement >::clear(), mat::Vector< Treal >::clear(), mat::Matrix< Treal >::clear(), mat::VectorHierarchicBase< Treal >::operator=(), mat::MatrixHierarchicBase< Treal >::operator=(), mat::MatrixHierarchicBase< Treal >::resetCols(), mat::VectorHierarchicBase< Treal >::resetRows(), mat::MatrixHierarchicBase< Treal >::resetRows(), mat::Matrix< Treal, Telement >::transpose(), mat::Matrix< Treal >::transpose(), mat::MatrixHierarchicBase< Treal >::~MatrixHierarchicBase(), and mat::VectorHierarchicBase< Treal >::~VectorHierarchicBase().
void mat::freeElements | ( | double * | ptr | ) |
|
static |
References template_blas_sqrt().
|
static |
|
inlinestatic |
References A, B, and template_blas_gemm().
Referenced by benchmark_mm(), XCDistributorLdaBlas::distribute(), XCDistributorGgaBlas::distribute(), mat::Matrix< Treal, Telement >::gemm(), LR::gemm(), mat::Matrix< Treal >::gemm(), mat::Matrix< Treal, Telement >::gemm_upper_tr_only(), getrho_blocked_gga(), getrho_blocked_lda(), main(), mainFun(), multiply_matrices_general(), mat::MatrixGeneral< Treal, Tmatrix >::operator+=(), mat::MatrixGeneral< Treal, Tmatrix >::operator=(), mat::Matrix< Treal, Telement >::ssmm(), mat::Matrix< Treal, Telement >::ssmm_upper_tr_only(), mat::Matrix< Treal, Telement >::syInch(), mat::Matrix< Treal, Telement >::symm(), mat::Matrix< Treal, Telement >::syrk(), mat::Matrix< Treal, Telement >::sysq(), mat::Matrix< Treal, Telement >::sytr_upper_tr_only(), mat::Matrix< Treal, Telement >::trmm(), and mat::Matrix< Treal, Telement >::trmm_upper_tr_only().
|
inline |
References A, B, dgemm_(), mat::Gblas::time, and mat::Gblas::timekeeping.
|
inline |
References A, B, sgemm_(), mat::Gblas::time, and mat::Gblas::timekeeping.
|
inlinestatic |
References A, and template_blas_gemv().
Referenced by mat::Vector< Treal, Telement >::gemv(), mat::Vector< Treal >::gemv(), mainFun(), mat::VectorGeneral< ergo_real, Vectorrr >::operator+=(), mat::VectorGeneral< ergo_real, Vectorrr >::operator=(), mat::Vector< Treal, Telement >::symv(), and mat::Vector< Treal, Telement >::trmv().
|
inline |
References A, dgemv_(), mat::Gblas::time, and mat::Gblas::timekeeping.
|
inline |
References A, sgemv_(), mat::Gblas::time, and mat::Gblas::timekeeping.
|
static |
|
inlinestatic |
normType mat::getNormType | ( | const char * | normStr | ) |
std::string mat::getNormTypeString | ( | normType | nType | ) |
References euclNorm, frobNorm, and mixedNorm.
Referenced by GetDensFromFock::get_dens_from_fock_sparse().
|
inlinestatic |
|
inlinestatic |
References A, B, and template_lapack_ggev().
Referenced by get_all_generalized_eigenvalues(), and LR::EigenSolver::getResidual().
|
inline |
References A, B, dggev_(), mat::Gblas::time, and mat::Gblas::timekeeping.
|
inline |
References A, B, sggev_(), mat::Gblas::time, and mat::Gblas::timekeeping.
|
static |
References template_blas_fabs().
Referenced by mainFun(), and read_sparse_matrix().
|
static |
References template_blas_fabs().
Referenced by mainFun().
|
inline |
Multiplication of two transposition proxys holding objects of type TX and TY respectively.
Returns multiplication proxy XY.
References mat::Xtrans< TX >::A, and mat::Xtrans< TX >::tA.
|
inline |
Multiplication of an object of type TX with a tranposition proxy
holding an object of type TY.
Returns multiplication proxy XY.
References mat::Xtrans< TX >::A, and mat::Xtrans< TX >::tA.
|
inline |
Multiplication of a tranposition proxy holding an object of type TX with an object of type TY.
Returns multiplication proxy XY.
References mat::Xtrans< TX >::A, and mat::Xtrans< TX >::tA.
|
inline |
Multiplication of an object of type TX with an object of type TY.
Returns multiplication proxy XY.
|
inline |
Multiplication of a multiplication proxy XY with a transposition proxy Xtrans.
Returns multiplication proxy XYZ.
References mat::XY< TX, TY >::A, mat::Xtrans< TX >::A, mat::XY< TX, TY >::B, mat::XY< TX, TY >::tA, mat::Xtrans< TX >::tA, and mat::XY< TX, TY >::tB.
|
inline |
Multiplication of a multiplication proxy XY with an object of type TZ.
Returns multiplication proxy XYZ.
References mat::XY< TX, TY >::A, mat::XY< TX, TY >::B, mat::XY< TX, TY >::tA, and mat::XY< TX, TY >::tB.
Treal mat::operator* | ( | Xtrans< VectorGeneral< Treal, Tvector > > const & | xT, |
VectorGeneral< Treal, Tvector > const & | y | ||
) |
transpose(x) * y Scalar (dot) product of two vectors
References dot().
|
inline |
Addition of two multiplication proxys XYZ and XY.
Returns multiplication and addition proxy XYZpUV.
References mat::XY< TX, TY >::A, mat::XYZ< TX, TY, TZ >::A, mat::XY< TX, TY >::B, mat::XYZ< TX, TY, TZ >::B, mat::XYZ< TX, TY, TZ >::C, mat::XY< TX, TY >::tA, mat::XYZ< TX, TY, TZ >::tA, mat::XY< TX, TY >::tB, mat::XYZ< TX, TY, TZ >::tB, and mat::XYZ< TX, TY, TZ >::tC.
|
inline |
Addition of two objects of type TX and TY.
|
inline |
Substraction of two objects of type TX and TY.
std::ostream& mat::operator<< | ( | std::ostream & | s, |
Interval< Treal > const & | in | ||
) |
|
static |
Referenced by mainFun().
|
inlinestatic |
References A, and template_lapack_pocon().
|
inline |
References A, dpocon_(), mat::Gblas::time, and mat::Gblas::timekeeping.
|
inline |
References A, spocon_(), mat::Gblas::time, and mat::Gblas::timekeeping.
|
inlinestatic |
References A, and template_lapack_potrf().
Referenced by mat::Matrix< Treal >::inch().
|
inline |
References A, dpotrf_(), mat::Gblas::time, and mat::Gblas::timekeeping.
|
inline |
References A, spotrf_(), mat::Gblas::time, and mat::Gblas::timekeeping.
|
inlinestatic |
References template_lapack_pptrf().
Referenced by mainFun().
|
inline |
References dpptrf_(), mat::Gblas::time, and mat::Gblas::timekeeping.
|
inline |
References spptrf_(), mat::Gblas::time, and mat::Gblas::timekeeping.
void mat::quicksort | ( | const Treal * | value, |
int * | index, | ||
int | low, | ||
int | high | ||
) |
|
static |
References A.
Referenced by get_matrix_from_binary(), get_matrix_from_binary_vec(), and get_matrix_from_full().
|
static |
References A, maxdiff(), and template_blas_fabs().
|
static |
|
inlinestatic |
References template_blas_scal().
Referenced by mat::Vector< Treal >::operator*=().
|
inline |
References dscal_(), mat::Gblas::time, and mat::Gblas::timekeeping.
|
inline |
References sscal_(), mat::Gblas::time, and mat::Gblas::timekeeping.
|
inline |
Sign function returns the sign of the input.
1 for positive, -1 for negative and 0 for zero.
Referenced by bisection(), get_1e_density_matrix(), and get_2e_density_matrix().
|
inlinestatic |
References template_lapack_spgst().
|
inline |
References dspgst_(), mat::Gblas::time, and mat::Gblas::timekeeping.
|
inline |
References sspgst_(), mat::Gblas::time, and mat::Gblas::timekeeping.
|
inlinestatic |
References template_lapack_stevr().
Referenced by mat::arn::MatrixTridiagSymmetric< Treal >::getEigsByIndex().
|
inline |
References dstevr_(), mat::Gblas::time, and mat::Gblas::timekeeping.
|
inline |
References sstevr_(), mat::Gblas::time, and mat::Gblas::timekeeping.
|
inlinestatic |
|
inline |
References dstevx_(), mat::Gblas::time, and mat::Gblas::timekeeping.
|
inline |
References sstevx_(), mat::Gblas::time, and mat::Gblas::timekeeping.
|
inlinestatic |
|
inline |
References dsyev_(), mat::Gblas::time, and mat::Gblas::timekeeping.
|
inline |
References ssyev_(), mat::Gblas::time, and mat::Gblas::timekeeping.
|
inlinestatic |
References A, B, and template_lapack_sygv().
Referenced by get_F_orbs(), and LR::LRSolver::setE2diag().
|
inline |
References A, B, dsygv_(), mat::Gblas::time, and mat::Gblas::timekeeping.
|
inline |
References A, B, ssygv_(), mat::Gblas::time, and mat::Gblas::timekeeping.
|
inlinestatic |
References A, B, and template_blas_symm().
Referenced by getrho_blocked_lda(), mainFun(), mat::MatrixGeneral< Treal, Tmatrix >::operator+=(), mat::MatrixGeneral< Treal, Tmatrix >::operator=(), mat::MatrixSymmetric< Treal, Tmatrix >::operator=(), mat::Matrix< Treal, Telement >::ssmm(), mat::Matrix< Treal, Telement >::ssmm_upper_tr_only(), mat::Matrix< Treal, Telement >::symm(), mat::Matrix< Treal >::symm(), mat::Matrix< Treal, Telement >::sysq(), and mat::Matrix< Treal, Telement >::sytr_upper_tr_only().
|
inline |
References A, B, dsymm_(), mat::Gblas::time, and mat::Gblas::timekeeping.
|
inline |
References A, B, ssymm_(), mat::Gblas::time, and mat::Gblas::timekeeping.
|
inlinestatic |
|
inline |
References A, dsymv_(), mat::Gblas::time, and mat::Gblas::timekeeping.
|
inline |
References A, ssymv_(), mat::Gblas::time, and mat::Gblas::timekeeping.
|
inlinestatic |
|
inline |
References A, dsyrk_(), mat::Gblas::time, and mat::Gblas::timekeeping.
|
inline |
References A, ssyrk_(), mat::Gblas::time, and mat::Gblas::timekeeping.
|
inlinestatic |
References template_lapack_tptri().
Referenced by mainFun().
|
inline |
References dtptri_(), mat::Gblas::time, and mat::Gblas::timekeeping.
|
inline |
References stptri_(), mat::Gblas::time, and mat::Gblas::timekeeping.
Treal mat::trace | ( | const XYZ< Treal, MatrixGeneral< Treal, Tmatrix >, MatrixGeneral< Treal, Tmatrix > > & | smm | ) |
References mat::MatrixGeneral< Treal, Tmatrix >::trace_ab(), and mat::MatrixGeneral< Treal, Tmatrix >::trace_aTb().
Referenced by get_dens_from_cmo_FermiDiracDistr(), GetDensFromFock::get_dens_from_fock_sparse(), get_density_mat_by_purification(), template_lapack_lasq2(), and mat::Matrix< Treal, Telement >::trace().
|
inline |
Transposition.
Returns a transposition proxy of an object of type TX.
References A.
Referenced by eigvec::compute_rayleigh_quotient(), Jworker::ComputeMatrix(), Kworker::ComputeMatrix(), Vxc_worker::ComputeMatrix(), ComplexMatrix::do_conjugate(), do_tdhf_dynamics(), do_truncation(), SCF_unrestricted::get_2e_part_and_energy(), SCF_restricted::get_2e_part_and_energy(), GetDensFromFock::get_dens_from_fock_sparse(), get_Fock_matrix_in_ort_basis(), load_density_and_project_sparse(), main(), mainFun(), mat::ATAMatrix< Tmatrix, Treal >::matVecProd(), mat::TripleMatrix< Tmatrix, Tmatrix2, Treal >::matVecProd(), mat::CongrTransErrorMatrix< Tmatrix, Tmatrix2, Treal >::matVecProd(), mat::MatrixBase< Treal, Tmatrix >::operator=(), mat::MatrixGeneral< Treal, Tmatrix >::operator=(), eigvec::power_method(), report_subspace_error(), mat::arn::LanczosLargestMagnitudeEig< Treal, Tmatrix, Tvector >::rerun(), SCF_general::SCF_general(), mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::selective_orth(), mat::Matrix< Treal, Telement >::ssmm(), mat::arn::Lanczos< Treal, Tmatrix, Tvector >::step(), mat::arn::LanczosSeveralLargestEig< Treal, Tmatrix, Tvector >::step(), mat::Matrix< Treal, Telement >::symToNosym(), SCF_restricted::transform_with_invChol(), and mat::Matrix< Treal, Telement >::transpose().
Transposition.
Returns a transposition proxy of an object of type Xtrans<TX>. Only for correct treatment of repeated transposition, e.g. transpose(transpose(A))
References mat::Xtrans< TX >::A, and mat::Xtrans< TX >::tA.
|
static |
Referenced by mat::Matrix< Treal >::inch().
|
static |
Referenced by mainFun().
|
inlinestatic |
References A, B, and template_blas_trmm().
Referenced by mainFun(), mat::MatrixGeneral< Treal, Tmatrix >::operator=(), mat::Matrix< Treal, Telement >::syInch(), mat::Matrix< Treal, Telement >::sytr_upper_tr_only(), mat::Matrix< Treal, Telement >::trmm(), mat::Matrix< Treal >::trmm(), and mat::Matrix< Treal, Telement >::trmm_upper_tr_only().
|
inline |
References A, B, dtrmm_(), mat::Gblas::time, and mat::Gblas::timekeeping.
|
inline |
References A, B, strmm_(), mat::Gblas::time, and mat::Gblas::timekeeping.
|
inlinestatic |
References A, and template_blas_trmv().
Referenced by mainFun(), mat::VectorGeneral< ergo_real, Vectorrr >::operator=(), mat::Vector< Treal, Telement >::trmv(), and mat::Vector< Treal >::trmv().
|
inline |
References A, dtrmv_(), mat::Gblas::time, and mat::Gblas::timekeeping.
|
inline |
References A, strmv_(), mat::Gblas::time, and mat::Gblas::timekeeping.
|
inlinestatic |
References A, and template_lapack_trtri().
Referenced by mat::Matrix< Treal >::inch().
|
inline |
References A, dtrtri_(), mat::Gblas::time, and mat::Gblas::timekeeping.
|
inline |
References A, strtri_(), mat::Gblas::time, and mat::Gblas::timekeeping.