ABACUS develop
Atomic-orbital Based Ab-initio Computation at UStc
|
#include <complex>
Go to the source code of this file.
Classes | |
struct | block2d_data_type< T > |
class | ScalapackConnector |
Functions | |
int | numroc_ (const int *n, const int *nb, const int *iproc, const int *srcproc, const int *nprocs) |
void | descinit_ (int *desc, const int *m, const int *n, const int *mb, const int *nb, const int *irsrc, const int *icsrc, const int *ictxt, const int *lld, int *info) |
void | pddot_ (int *n, double *dot, double *x, int *ix, int *jx, int *descx, int *incx, double *y, int *iy, int *jy, int *descy, int *incy) |
void | pzdotc_ (int *n, std::complex< double > *dot, std::complex< double > *x, int *ix, int *jx, int *descx, int *incx, std::complex< double > *y, int *iy, int *jy, int *descy, int *incy) |
void | pdpotrf_ (char *uplo, int *n, double *a, int *ia, int *ja, int *desca, int *info) |
void | pzpotrf_ (char *uplo, int *n, std::complex< double > *a, int *ia, int *ja, int *desca, int *info) |
void | pdtran_ (const int *m, const int *n, const double *alpha, const double *a, const int *ia, const int *ja, const int *desca, const double *beta, double *c, const int *ic, const int *jc, const int *descc) |
void | pztranu_ (const int *m, const int *n, const std::complex< double > *alpha, const std::complex< double > *a, const int *ia, const int *ja, const int *desca, const std::complex< double > *beta, std::complex< double > *c, const int *ic, const int *jc, const int *descc) |
void | pzgemv_ (const char *transa, const int *M, const int *N, const double *alpha, const std::complex< double > *A, const int *IA, const int *JA, const int *DESCA, const std::complex< double > *B, const int *IB, const int *JB, const int *DESCB, const int *K, const double *beta, std::complex< double > *C, const int *IC, const int *JC, const int *DESCC, const int *L) |
void | pdgemv_ (const char *transa, const int *M, const int *N, const double *alpha, const double *A, const int *IA, const int *JA, const int *DESCA, const double *B, const int *IB, const int *JB, const int *DESCB, const int *K, const double *beta, double *C, const int *IC, const int *JC, const int *DESCC, const int *L) |
void | pdgemm_ (const char *transa, const char *transb, const int *M, const int *N, const int *K, const double *alpha, const double *A, const int *IA, const int *JA, const int *DESCA, const double *B, const int *IB, const int *JB, const int *DESCB, const double *beta, double *C, const int *IC, const int *JC, const int *DESCC) |
void | pzgemm_ (const char *transa, const char *transb, const int *M, const int *N, const int *K, const std::complex< double > *alpha, const std::complex< double > *A, const int *IA, const int *JA, const int *DESCA, const std::complex< double > *B, const int *IB, const int *JB, const int *DESCB, const std::complex< double > *beta, std::complex< double > *C, const int *IC, const int *JC, const int *DESCC) |
void | pdsymm_ (char *side, char *uplo, int *m, int *n, double *alpha, double *a, int *ia, int *ja, int *desca, double *b, int *ib, int *jb, int *descb, double *beta, double *c, int *ic, int *jc, int *descc) |
void | pdtrmm_ (char *side, char *uplo, char *transa, char *diag, int *m, int *n, double *alpha, double *a, int *ia, int *ja, int *desca, double *b, int *ib, int *jb, int *descb) |
void | pztrmm_ (char *side, char *uplo, char *transa, char *diag, int *m, int *n, std::complex< double > *alpha, std::complex< double > *a, int *ia, int *ja, int *desca, std::complex< double > *b, int *ib, int *jb, int *descb) |
void | pzhemm_ (char *side, char *uplo, int *m, int *n, std::complex< double > *alpha, std::complex< double > *a, int *ia, int *ja, int *desca, std::complex< double > *b, int *ib, int *jb, int *descb, std::complex< double > *beta, std::complex< double > *c, int *ic, int *jc, int *descc) |
void | pzgetrf_ (const int *M, const int *N, std::complex< double > *A, const int *IA, const int *JA, const int *DESCA, int *ipiv, int *info) |
void | pzgesv_ (const int *n, const int *nrhs, const std::complex< double > *A, const int *ia, const int *ja, const int *desca, int *ipiv, std::complex< double > *B, const int *ib, const int *jb, const int *descb, const int *info) |
void | pdsygvx_ (const int *itype, const char *jobz, const char *range, const char *uplo, const int *n, double *A, const int *ia, const int *ja, const int *desca, double *B, const int *ib, const int *jb, const int *descb, const double *vl, const double *vu, const int *il, const int *iu, const double *abstol, int *m, int *nz, double *w, const double *orfac, double *Z, const int *iz, const int *jz, const int *descz, double *work, int *lwork, int *iwork, int *liwork, int *ifail, int *iclustr, double *gap, int *info) |
void | pzhegvx_ (const int *itype, const char *jobz, const char *range, const char *uplo, const int *n, std::complex< double > *A, const int *ia, const int *ja, const int *desca, std::complex< double > *B, const int *ib, const int *jb, const int *descb, const double *vl, const double *vu, const int *il, const int *iu, const double *abstol, int *m, int *nz, double *w, const double *orfac, std::complex< double > *Z, const int *iz, const int *jz, const int *descz, std::complex< double > *work, int *lwork, double *rwork, int *lrwork, int *iwork, int *liwork, int *ifail, int *iclustr, double *gap, int *info) |
void | pssygvx_ (const int *itype, const char *jobz, const char *range, const char *uplo, const int *n, float *A, const int *ia, const int *ja, const int *desca, float *B, const int *ib, const int *jb, const int *descb, const float *vl, const float *vu, const int *il, const int *iu, const float *abstol, int *m, int *nz, float *w, const float *orfac, float *Z, const int *iz, const int *jz, const int *descz, float *work, int *lwork, int *iwork, int *liwork, int *ifail, int *iclustr, float *gap, int *info) |
void | pchegvx_ (const int *itype, const char *jobz, const char *range, const char *uplo, const int *n, std::complex< float > *A, const int *ia, const int *ja, const int *desca, std::complex< float > *B, const int *ib, const int *jb, const int *descb, const float *vl, const float *vu, const int *il, const int *iu, const float *abstol, int *m, int *nz, float *w, const float *orfac, std::complex< float > *Z, const int *iz, const int *jz, const int *descz, std::complex< float > *work, int *lwork, float *rwork, int *lrwork, int *iwork, int *liwork, int *ifail, int *iclustr, float *gap, int *info) |
void | pzgetri_ (const int *n, const std::complex< double > *A, const int *ia, const int *ja, const int *desca, int *ipiv, const std::complex< double > *work, const int *lwork, const int *iwork, const int *liwork, const int *info) |
void | pzgeadd_ (const char *transa, const int *m, const int *n, const std::complex< double > *alpha, const std::complex< double > *a, const int *ia, const int *ja, const int *desca, const std::complex< double > *beta, const std::complex< double > *c, const int *ic, const int *jc, const int *descc) |
void | pztranc_ (const int *M, const int *N, const std::complex< double > *alpha, const std::complex< double > *A, const int *IA, const int *JA, const int *DESCA, const std::complex< double > *beta, std::complex< double > *C, const int *IC, const int *JC, const int *DESCC) |
void | pdgemr2d_ (const int *M, const int *N, double *A, const int *IA, const int *JA, const int *DESCA, double *B, const int *IB, const int *JB, const int *DESCB, const int *ICTXT) |
void | pzgemr2d_ (const int *M, const int *N, std::complex< double > *A, const int *IA, const int *JA, const int *DESCA, std::complex< double > *B, const int *IB, const int *JB, const int *DESCB, const int *ICTXT) |
void | Cpigemr2d (int m, int n, int *ptrmyblock, int ia, int ja, int *ma, int *ptrmynewblock, int ib, int jb, int *mb, int globcontext) |
void | Cpdgemr2d (int m, int n, double *ptrmyblock, int ia, int ja, int *ma, double *ptrmynewblock, int ib, int jb, int *mb, int globcontext) |
void | Cpzgemr2d (int m, int n, std::complex< double > *ptrmyblock, int ia, int ja, int *ma, std::complex< double > *ptrmynewblock, int ib, int jb, int *mb, int globcontext) |
void | Cpsgemr2d (int m, int n, float *ptrmyblock, int ia, int ja, int *ma, float *ptrmynewblock, int ib, int jb, int *mb, int globcontext) |
void | Cpcgemr2d (int m, int n, std::complex< float > *ptrmyblock, int ia, int ja, int *ma, std::complex< float > *ptrmynewblock, int ib, int jb, int *mb, int globcontext) |
template<typename T > | |
std::enable_if< block2d_data_type< T >::value, void >::type | Cpxgemr2d (int M, int N, T *A, int IA, int JA, int *DESCA, T *B, int IB, int JB, int *DESCB, int ICTXT) |
void Cpcgemr2d | ( | int | m, |
int | n, | ||
std::complex< float > * | ptrmyblock, | ||
int | ia, | ||
int | ja, | ||
int * | ma, | ||
std::complex< float > * | ptrmynewblock, | ||
int | ib, | ||
int | jb, | ||
int * | mb, | ||
int | globcontext | ||
) |
void Cpdgemr2d | ( | int | m, |
int | n, | ||
double * | ptrmyblock, | ||
int | ia, | ||
int | ja, | ||
int * | ma, | ||
double * | ptrmynewblock, | ||
int | ib, | ||
int | jb, | ||
int * | mb, | ||
int | globcontext | ||
) |
void Cpigemr2d | ( | int | m, |
int | n, | ||
int * | ptrmyblock, | ||
int | ia, | ||
int | ja, | ||
int * | ma, | ||
int * | ptrmynewblock, | ||
int | ib, | ||
int | jb, | ||
int * | mb, | ||
int | globcontext | ||
) |
void Cpsgemr2d | ( | int | m, |
int | n, | ||
float * | ptrmyblock, | ||
int | ia, | ||
int | ja, | ||
int * | ma, | ||
float * | ptrmynewblock, | ||
int | ib, | ||
int | jb, | ||
int * | mb, | ||
int | globcontext | ||
) |
std::enable_if< block2d_data_type< T >::value, void >::type Cpxgemr2d | ( | int | M, |
int | N, | ||
T * | A, | ||
int | IA, | ||
int | JA, | ||
int * | DESCA, | ||
T * | B, | ||
int | IB, | ||
int | JB, | ||
int * | DESCB, | ||
int | ICTXT | ||
) |
Copies a 2D block of data from matrix A to matrix B using the Scalapack library. This function supports different data types: double, std::complex<double>, float, std::complex<float>, and int.
T | The data type of the matrices A and B. |
M | The number of rows of matrix A. |
N | The number of columns of matrix A. |
A | Pointer to the source matrix A. |
IA | The starting row index of the block in matrix A. |
JA | The starting column index of the block in matrix A. |
DESCA | Descriptor array for matrix A. |
B | Pointer to the destination matrix B. |
IB | The starting row index of the block in matrix B. |
JB | The starting column index of the block in matrix B. |
DESCB | Descriptor array for matrix B. |
ICTXT | The context identifier. |
void Cpzgemr2d | ( | int | m, |
int | n, | ||
std::complex< double > * | ptrmyblock, | ||
int | ia, | ||
int | ja, | ||
int * | ma, | ||
std::complex< double > * | ptrmynewblock, | ||
int | ib, | ||
int | jb, | ||
int * | mb, | ||
int | globcontext | ||
) |
void descinit_ | ( | int * | desc, |
const int * | m, | ||
const int * | n, | ||
const int * | mb, | ||
const int * | nb, | ||
const int * | irsrc, | ||
const int * | icsrc, | ||
const int * | ictxt, | ||
const int * | lld, | ||
int * | info | ||
) |
int numroc_ | ( | const int * | n, |
const int * | nb, | ||
const int * | iproc, | ||
const int * | srcproc, | ||
const int * | nprocs | ||
) |
void pchegvx_ | ( | const int * | itype, |
const char * | jobz, | ||
const char * | range, | ||
const char * | uplo, | ||
const int * | n, | ||
std::complex< float > * | A, | ||
const int * | ia, | ||
const int * | ja, | ||
const int * | desca, | ||
std::complex< float > * | B, | ||
const int * | ib, | ||
const int * | jb, | ||
const int * | descb, | ||
const float * | vl, | ||
const float * | vu, | ||
const int * | il, | ||
const int * | iu, | ||
const float * | abstol, | ||
int * | m, | ||
int * | nz, | ||
float * | w, | ||
const float * | orfac, | ||
std::complex< float > * | Z, | ||
const int * | iz, | ||
const int * | jz, | ||
const int * | descz, | ||
std::complex< float > * | work, | ||
int * | lwork, | ||
float * | rwork, | ||
int * | lrwork, | ||
int * | iwork, | ||
int * | liwork, | ||
int * | ifail, | ||
int * | iclustr, | ||
float * | gap, | ||
int * | info | ||
) |
void pddot_ | ( | int * | n, |
double * | dot, | ||
double * | x, | ||
int * | ix, | ||
int * | jx, | ||
int * | descx, | ||
int * | incx, | ||
double * | y, | ||
int * | iy, | ||
int * | jy, | ||
int * | descy, | ||
int * | incy | ||
) |
void pdgemm_ | ( | const char * | transa, |
const char * | transb, | ||
const int * | M, | ||
const int * | N, | ||
const int * | K, | ||
const double * | alpha, | ||
const double * | A, | ||
const int * | IA, | ||
const int * | JA, | ||
const int * | DESCA, | ||
const double * | B, | ||
const int * | IB, | ||
const int * | JB, | ||
const int * | DESCB, | ||
const double * | beta, | ||
double * | C, | ||
const int * | IC, | ||
const int * | JC, | ||
const int * | DESCC | ||
) |
void pdgemr2d_ | ( | const int * | M, |
const int * | N, | ||
double * | A, | ||
const int * | IA, | ||
const int * | JA, | ||
const int * | DESCA, | ||
double * | B, | ||
const int * | IB, | ||
const int * | JB, | ||
const int * | DESCB, | ||
const int * | ICTXT | ||
) |
void pdgemv_ | ( | const char * | transa, |
const int * | M, | ||
const int * | N, | ||
const double * | alpha, | ||
const double * | A, | ||
const int * | IA, | ||
const int * | JA, | ||
const int * | DESCA, | ||
const double * | B, | ||
const int * | IB, | ||
const int * | JB, | ||
const int * | DESCB, | ||
const int * | K, | ||
const double * | beta, | ||
double * | C, | ||
const int * | IC, | ||
const int * | JC, | ||
const int * | DESCC, | ||
const int * | L | ||
) |
void pdpotrf_ | ( | char * | uplo, |
int * | n, | ||
double * | a, | ||
int * | ia, | ||
int * | ja, | ||
int * | desca, | ||
int * | info | ||
) |
void pdsygvx_ | ( | const int * | itype, |
const char * | jobz, | ||
const char * | range, | ||
const char * | uplo, | ||
const int * | n, | ||
double * | A, | ||
const int * | ia, | ||
const int * | ja, | ||
const int * | desca, | ||
double * | B, | ||
const int * | ib, | ||
const int * | jb, | ||
const int * | descb, | ||
const double * | vl, | ||
const double * | vu, | ||
const int * | il, | ||
const int * | iu, | ||
const double * | abstol, | ||
int * | m, | ||
int * | nz, | ||
double * | w, | ||
const double * | orfac, | ||
double * | Z, | ||
const int * | iz, | ||
const int * | jz, | ||
const int * | descz, | ||
double * | work, | ||
int * | lwork, | ||
int * | iwork, | ||
int * | liwork, | ||
int * | ifail, | ||
int * | iclustr, | ||
double * | gap, | ||
int * | info | ||
) |
void pdsymm_ | ( | char * | side, |
char * | uplo, | ||
int * | m, | ||
int * | n, | ||
double * | alpha, | ||
double * | a, | ||
int * | ia, | ||
int * | ja, | ||
int * | desca, | ||
double * | b, | ||
int * | ib, | ||
int * | jb, | ||
int * | descb, | ||
double * | beta, | ||
double * | c, | ||
int * | ic, | ||
int * | jc, | ||
int * | descc | ||
) |
void pdtran_ | ( | const int * | m, |
const int * | n, | ||
const double * | alpha, | ||
const double * | a, | ||
const int * | ia, | ||
const int * | ja, | ||
const int * | desca, | ||
const double * | beta, | ||
double * | c, | ||
const int * | ic, | ||
const int * | jc, | ||
const int * | descc | ||
) |
void pdtrmm_ | ( | char * | side, |
char * | uplo, | ||
char * | transa, | ||
char * | diag, | ||
int * | m, | ||
int * | n, | ||
double * | alpha, | ||
double * | a, | ||
int * | ia, | ||
int * | ja, | ||
int * | desca, | ||
double * | b, | ||
int * | ib, | ||
int * | jb, | ||
int * | descb | ||
) |
void pssygvx_ | ( | const int * | itype, |
const char * | jobz, | ||
const char * | range, | ||
const char * | uplo, | ||
const int * | n, | ||
float * | A, | ||
const int * | ia, | ||
const int * | ja, | ||
const int * | desca, | ||
float * | B, | ||
const int * | ib, | ||
const int * | jb, | ||
const int * | descb, | ||
const float * | vl, | ||
const float * | vu, | ||
const int * | il, | ||
const int * | iu, | ||
const float * | abstol, | ||
int * | m, | ||
int * | nz, | ||
float * | w, | ||
const float * | orfac, | ||
float * | Z, | ||
const int * | iz, | ||
const int * | jz, | ||
const int * | descz, | ||
float * | work, | ||
int * | lwork, | ||
int * | iwork, | ||
int * | liwork, | ||
int * | ifail, | ||
int * | iclustr, | ||
float * | gap, | ||
int * | info | ||
) |
void pzdotc_ | ( | int * | n, |
std::complex< double > * | dot, | ||
std::complex< double > * | x, | ||
int * | ix, | ||
int * | jx, | ||
int * | descx, | ||
int * | incx, | ||
std::complex< double > * | y, | ||
int * | iy, | ||
int * | jy, | ||
int * | descy, | ||
int * | incy | ||
) |
void pzgeadd_ | ( | const char * | transa, |
const int * | m, | ||
const int * | n, | ||
const std::complex< double > * | alpha, | ||
const std::complex< double > * | a, | ||
const int * | ia, | ||
const int * | ja, | ||
const int * | desca, | ||
const std::complex< double > * | beta, | ||
const std::complex< double > * | c, | ||
const int * | ic, | ||
const int * | jc, | ||
const int * | descc | ||
) |
void pzgemm_ | ( | const char * | transa, |
const char * | transb, | ||
const int * | M, | ||
const int * | N, | ||
const int * | K, | ||
const std::complex< double > * | alpha, | ||
const std::complex< double > * | A, | ||
const int * | IA, | ||
const int * | JA, | ||
const int * | DESCA, | ||
const std::complex< double > * | B, | ||
const int * | IB, | ||
const int * | JB, | ||
const int * | DESCB, | ||
const std::complex< double > * | beta, | ||
std::complex< double > * | C, | ||
const int * | IC, | ||
const int * | JC, | ||
const int * | DESCC | ||
) |
void pzgemr2d_ | ( | const int * | M, |
const int * | N, | ||
std::complex< double > * | A, | ||
const int * | IA, | ||
const int * | JA, | ||
const int * | DESCA, | ||
std::complex< double > * | B, | ||
const int * | IB, | ||
const int * | JB, | ||
const int * | DESCB, | ||
const int * | ICTXT | ||
) |
void pzgemv_ | ( | const char * | transa, |
const int * | M, | ||
const int * | N, | ||
const double * | alpha, | ||
const std::complex< double > * | A, | ||
const int * | IA, | ||
const int * | JA, | ||
const int * | DESCA, | ||
const std::complex< double > * | B, | ||
const int * | IB, | ||
const int * | JB, | ||
const int * | DESCB, | ||
const int * | K, | ||
const double * | beta, | ||
std::complex< double > * | C, | ||
const int * | IC, | ||
const int * | JC, | ||
const int * | DESCC, | ||
const int * | L | ||
) |
void pzgesv_ | ( | const int * | n, |
const int * | nrhs, | ||
const std::complex< double > * | A, | ||
const int * | ia, | ||
const int * | ja, | ||
const int * | desca, | ||
int * | ipiv, | ||
std::complex< double > * | B, | ||
const int * | ib, | ||
const int * | jb, | ||
const int * | descb, | ||
const int * | info | ||
) |
void pzgetrf_ | ( | const int * | M, |
const int * | N, | ||
std::complex< double > * | A, | ||
const int * | IA, | ||
const int * | JA, | ||
const int * | DESCA, | ||
int * | ipiv, | ||
int * | info | ||
) |
void pzgetri_ | ( | const int * | n, |
const std::complex< double > * | A, | ||
const int * | ia, | ||
const int * | ja, | ||
const int * | desca, | ||
int * | ipiv, | ||
const std::complex< double > * | work, | ||
const int * | lwork, | ||
const int * | iwork, | ||
const int * | liwork, | ||
const int * | info | ||
) |
void pzhegvx_ | ( | const int * | itype, |
const char * | jobz, | ||
const char * | range, | ||
const char * | uplo, | ||
const int * | n, | ||
std::complex< double > * | A, | ||
const int * | ia, | ||
const int * | ja, | ||
const int * | desca, | ||
std::complex< double > * | B, | ||
const int * | ib, | ||
const int * | jb, | ||
const int * | descb, | ||
const double * | vl, | ||
const double * | vu, | ||
const int * | il, | ||
const int * | iu, | ||
const double * | abstol, | ||
int * | m, | ||
int * | nz, | ||
double * | w, | ||
const double * | orfac, | ||
std::complex< double > * | Z, | ||
const int * | iz, | ||
const int * | jz, | ||
const int * | descz, | ||
std::complex< double > * | work, | ||
int * | lwork, | ||
double * | rwork, | ||
int * | lrwork, | ||
int * | iwork, | ||
int * | liwork, | ||
int * | ifail, | ||
int * | iclustr, | ||
double * | gap, | ||
int * | info | ||
) |
void pzhemm_ | ( | char * | side, |
char * | uplo, | ||
int * | m, | ||
int * | n, | ||
std::complex< double > * | alpha, | ||
std::complex< double > * | a, | ||
int * | ia, | ||
int * | ja, | ||
int * | desca, | ||
std::complex< double > * | b, | ||
int * | ib, | ||
int * | jb, | ||
int * | descb, | ||
std::complex< double > * | beta, | ||
std::complex< double > * | c, | ||
int * | ic, | ||
int * | jc, | ||
int * | descc | ||
) |
void pzpotrf_ | ( | char * | uplo, |
int * | n, | ||
std::complex< double > * | a, | ||
int * | ia, | ||
int * | ja, | ||
int * | desca, | ||
int * | info | ||
) |
void pztranc_ | ( | const int * | M, |
const int * | N, | ||
const std::complex< double > * | alpha, | ||
const std::complex< double > * | A, | ||
const int * | IA, | ||
const int * | JA, | ||
const int * | DESCA, | ||
const std::complex< double > * | beta, | ||
std::complex< double > * | C, | ||
const int * | IC, | ||
const int * | JC, | ||
const int * | DESCC | ||
) |
void pztranu_ | ( | const int * | m, |
const int * | n, | ||
const std::complex< double > * | alpha, | ||
const std::complex< double > * | a, | ||
const int * | ia, | ||
const int * | ja, | ||
const int * | desca, | ||
const std::complex< double > * | beta, | ||
std::complex< double > * | c, | ||
const int * | ic, | ||
const int * | jc, | ||
const int * | descc | ||
) |
void pztrmm_ | ( | char * | side, |
char * | uplo, | ||
char * | transa, | ||
char * | diag, | ||
int * | m, | ||
int * | n, | ||
std::complex< double > * | alpha, | ||
std::complex< double > * | a, | ||
int * | ia, | ||
int * | ja, | ||
int * | desca, | ||
std::complex< double > * | b, | ||
int * | ib, | ||
int * | jb, | ||
int * | descb | ||
) |