QMCPACK
LAPACK Struct Reference
+ Collaboration diagram for LAPACK:

Static Public Member Functions

static void heev (char &jobz, char &uplo, int &n, std::complex< float > *a, int &lda, float *w, std::complex< float > *work, int &lwork, float *rwork, int &info)
 
static void heev (char &jobz, char &uplo, int &n, std::complex< double > *a, int &lda, double *w, std::complex< double > *work, int &lwork, double *rwork, int &info)
 
static void gesvd (const char &jobu, const char &jobvt, const int &m, const int &n, float *a, const int &lda, float *s, float *u, const int &ldu, float *vt, const int &ldvt, float *work, const int &lwork, int &info)
 
static void gesvd (const char &jobu, const char &jobvt, const int &m, const int &n, double *a, const int &lda, double *s, double *u, const int &ldu, double *vt, const int &ldvt, double *work, const int &lwork, int &info)
 
static void gesvd (const char &jobu, const char &jobvt, const int &m, const int &n, std::complex< float > *a, const int &lda, float *s, std::complex< float > *u, const int &ldu, std::complex< float > *vt, const int &ldvt, std::complex< float > *work, const int &lwork, float *rwork, int &info)
 
static void gesvd (const char &jobu, const char &jobvt, const int &m, const int &n, std::complex< double > *a, const int &lda, double *s, std::complex< double > *u, const int &ldu, std::complex< double > *vt, const int &ldvt, std::complex< double > *work, const int &lwork, double *rwork, int &info)
 
static void geev (char *jobvl, char *jobvr, int *n, double *a, int *lda, double *alphar, double *alphai, double *vl, int *ldvl, double *vr, int *ldvr, double *work, int *lwork, int *info)
 
static void geev (char *jobvl, char *jobvr, int *n, float *a, int *lda, float *alphar, float *alphai, float *vl, int *ldvl, float *vr, int *ldvr, float *work, int *lwork, int *info)
 
static void geev (char *jobvl, char *jobvr, int *n, std::complex< double > *a, int *lda, std::complex< double > *alpha, std::complex< double > *vl, int *ldvl, std::complex< double > *vr, int *ldvr, std::complex< double > *work, int *lwork, double *rwork, int *info)
 
static void geev (char *jobvl, char *jobvr, int *n, std::complex< float > *a, int *lda, std::complex< float > *alpha, std::complex< float > *vl, int *ldvl, std::complex< float > *vr, int *ldvr, std::complex< float > *work, int *lwork, float *rwork, int *info)
 
static void ggev (char *jobvl, char *jobvr, int *n, double *a, int *lda, double *b, int *ldb, double *alphar, double *alphai, double *beta, double *vl, int *ldvl, double *vr, int *ldvr, double *work, int *lwork, int *info)
 
static void ggev (char *jobvl, char *jobvr, int *n, float *a, int *lda, float *b, int *ldb, float *alphar, float *alphai, float *beta, float *vl, int *ldvl, float *vr, int *ldvr, float *work, int *lwork, int *info)
 
static void hevr (char &JOBZ, char &RANGE, char &UPLO, int &N, float *A, int &LDA, float &VL, float &VU, int &IL, int &IU, float &ABSTOL, int &M, float *W, float *Z, int &LDZ, int *ISUPPZ, float *WORK, int &LWORK, float *RWORK, int &LRWORK, int *IWORK, int &LIWORK, int &INFO)
 
static void hevr (char &JOBZ, char &RANGE, char &UPLO, int &N, double *A, int &LDA, double &VL, double &VU, int &IL, int &IU, double &ABSTOL, int &M, double *W, double *Z, int &LDZ, int *ISUPPZ, double *WORK, int &LWORK, double *RWORK, int &LRWORK, int *IWORK, int &LIWORK, int &INFO)
 
static void hevr (char &JOBZ, char &RANGE, char &UPLO, int &N, std::complex< float > *A, int &LDA, float &VL, float &VU, int &IL, int &IU, float &ABSTOL, int &M, float *W, std::complex< float > *Z, int &LDZ, int *ISUPPZ, std::complex< float > *WORK, int &LWORK, float *RWORK, int &LRWORK, int *IWORK, int &LIWORK, int &INFO)
 
static void hevr (char &JOBZ, char &RANGE, char &UPLO, int &N, std::complex< double > *A, int &LDA, double &VL, double &VU, int &IL, int &IU, double &ABSTOL, int &M, double *W, std::complex< double > *Z, int &LDZ, int *ISUPPZ, std::complex< double > *WORK, int &LWORK, double *RWORK, int &LRWORK, int *IWORK, int &LIWORK, int &INFO)
 
static void getrf (const int &n, const int &m, double *a, const int &n0, int *piv, int &st)
 
static void getrf (const int &n, const int &m, float *a, const int &n0, int *piv, int &st)
 
static void getrf (const int &n, const int &m, std::complex< double > *a, const int &n0, int *piv, int &st)
 
static void getrf (const int &n, const int &m, std::complex< float > *a, const int &n0, int *piv, int &st)
 
static void getri (int n, float *restrict a, int n0, int const *restrict piv, float *restrict work, int const &n1, int &status)
 
static void getri (int n, double *restrict a, int n0, int const *restrict piv, double *restrict work, int const &n1, int &status)
 
static void getri (int n, std::complex< float > *restrict a, int n0, int const *restrict piv, std::complex< float > *restrict work, int const &n1, int &status)
 
static void getri (int n, std::complex< double > *restrict a, int n0, int const *restrict piv, std::complex< double > *restrict work, int const &n1, int &status)
 
static void geqrf (int M, int N, std::complex< double > *A, const int LDA, std::complex< double > *TAU, std::complex< double > *WORK, int LWORK, int &INFO)
 
static void geqrf (int M, int N, double *A, const int LDA, double *TAU, double *WORK, int LWORK, int &INFO)
 
static void geqrf (int M, int N, std::complex< float > *A, const int LDA, std::complex< float > *TAU, std::complex< float > *WORK, int LWORK, int &INFO)
 
static void geqrf (int M, int N, float *A, const int LDA, float *TAU, float *WORK, int LWORK, int &INFO)
 
static void gelqf (int M, int N, std::complex< double > *A, const int LDA, std::complex< double > *TAU, std::complex< double > *WORK, int LWORK, int &INFO)
 
static void gelqf (int M, int N, double *A, const int LDA, double *TAU, double *WORK, int LWORK, int &INFO)
 
static void gelqf (int M, int N, std::complex< float > *A, const int LDA, std::complex< float > *TAU, std::complex< float > *WORK, int LWORK, int &INFO)
 
static void gelqf (int M, int N, float *A, const int LDA, float *TAU, float *WORK, int LWORK, int &INFO)
 
static void gqr (int M, int N, int K, std::complex< double > *A, const int LDA, std::complex< double > *TAU, std::complex< double > *WORK, int LWORK, int &INFO)
 
static void gqr (int M, int N, int K, double *A, const int LDA, double *TAU, double *WORK, int LWORK, int &INFO)
 
static void gqr (int M, int N, int K, std::complex< float > *A, const int LDA, std::complex< float > *TAU, std::complex< float > *WORK, int LWORK, int &INFO)
 
static void gqr (int M, int N, int K, float *A, const int LDA, float *TAU, float *WORK, int LWORK, int &INFO)
 
static void glq (int M, int N, int K, std::complex< double > *A, const int LDA, std::complex< double > *TAU, std::complex< double > *WORK, int LWORK, int &INFO)
 
static void glq (int M, int N, int K, double *A, const int LDA, double *TAU, double *WORK, int LWORK, int &INFO)
 
static void glq (int M, int N, int K, std::complex< float > *A, const int LDA, std::complex< float > *TAU, std::complex< float > *WORK, int LWORK, int &INFO)
 
static void glq (int M, int N, int K, float *A, const int LDA, float *TAU, float *WORK, int const LWORK, int &INFO)
 
static void potrf (const char &UPLO, const int &N, float *A, const int &LDA, int &INFO)
 
static void potrf (const char &UPLO, const int &N, double *A, const int &LDA, int &INFO)
 
static void potrf (const char &UPLO, const int &N, std::complex< float > *A, const int &LDA, int &INFO)
 
static void potrf (const char &UPLO, const int &N, std::complex< double > *A, const int &LDA, int &INFO)
 

Detailed Description

Definition at line 490 of file BLAS.hpp.

Member Function Documentation

◆ geev() [1/4]

static void geev ( char *  jobvl,
char *  jobvr,
int *  n,
double *  a,
int *  lda,
double *  alphar,
double *  alphai,
double *  vl,
int *  ldvl,
double *  vr,
int *  ldvr,
double *  work,
int *  lwork,
int *  info 
)
inlinestatic

Definition at line 594 of file BLAS.hpp.

References dgeev(), qmcplusplus::lda, and qmcplusplus::n.

Referenced by LinearMethod::getLowestEigenvector(), RotatedSPOs::log_antisym_matrix(), and Eigensolver::solveGeneralizedEigenvalues_Inv().

608  {
609  dgeev(jobvl, jobvr, n, a, lda, alphar, alphai, vl, ldvl, vr, ldvr, work, lwork, info);
610  }
void dgeev(char *JOBVL, char *JOBVR, int *N, double *A, int *LDA, double *ALPHAR, double *ALPHAI, double *VL, int *LDVL, double *VR, int *LDVR, double *WORK, int *LWORK, int *INFO)

◆ geev() [2/4]

static void geev ( char *  jobvl,
char *  jobvr,
int *  n,
float *  a,
int *  lda,
float *  alphar,
float *  alphai,
float *  vl,
int *  ldvl,
float *  vr,
int *  ldvr,
float *  work,
int *  lwork,
int *  info 
)
inlinestatic

Definition at line 612 of file BLAS.hpp.

References qmcplusplus::lda, qmcplusplus::n, and sgeev().

626  {
627  sgeev(jobvl, jobvr, n, a, lda, alphar, alphai, vl, ldvl, vr, ldvr, work, lwork, info);
628  }
void sgeev(char *JOBVL, char *JOBVR, int *N, float *A, int *LDA, float *ALPHAR, float *ALPHAI, float *VL, int *LDVL, float *VR, int *LDVR, float *WORK, int *LWORK, int *INFO)

◆ geev() [3/4]

static void geev ( char *  jobvl,
char *  jobvr,
int *  n,
std::complex< double > *  a,
int *  lda,
std::complex< double > *  alpha,
std::complex< double > *  vl,
int *  ldvl,
std::complex< double > *  vr,
int *  ldvr,
std::complex< double > *  work,
int *  lwork,
double *  rwork,
int *  info 
)
inlinestatic

Definition at line 630 of file BLAS.hpp.

References qmcplusplus::lda, qmcplusplus::n, and zgeev().

644  {
645  zgeev(jobvl, jobvr, n, a, lda, alpha, vl, ldvl, vr, ldvr, work, lwork, rwork, info);
646  }
void zgeev(char *JOBVL, char *JOBVR, int *N, std::complex< double > *A, int *LDA, std::complex< double > *ALPHA, std::complex< double > *VL, int *LDVL, std::complex< double > *VR, int *LDVR, std::complex< double > *WORK, int *LWORK, double *RWORK, int *INFO)

◆ geev() [4/4]

static void geev ( char *  jobvl,
char *  jobvr,
int *  n,
std::complex< float > *  a,
int *  lda,
std::complex< float > *  alpha,
std::complex< float > *  vl,
int *  ldvl,
std::complex< float > *  vr,
int *  ldvr,
std::complex< float > *  work,
int *  lwork,
float *  rwork,
int *  info 
)
inlinestatic

Definition at line 648 of file BLAS.hpp.

References cgeev(), qmcplusplus::lda, and qmcplusplus::n.

662  {
663  cgeev(jobvl, jobvr, n, a, lda, alpha, vl, ldvl, vr, ldvr, work, lwork, rwork, info);
664  }
void cgeev(char *JOBVL, char *JOBVR, int *N, std::complex< float > *A, int *LDA, std::complex< float > *ALPHA, std::complex< float > *VL, int *LDVL, std::complex< float > *VR, int *LDVR, std::complex< float > *WORK, int *LWORK, float *RWORK, int *INFO)

◆ gelqf() [1/4]

static void gelqf ( int  M,
int  N,
std::complex< double > *  A,
const int  LDA,
std::complex< double > *  TAU,
std::complex< double > *  WORK,
int  LWORK,
int &  INFO 
)
inlinestatic

Definition at line 923 of file BLAS.hpp.

References qmcplusplus::Units::distance::A, qmcplusplus::Units::force::N, and zgelqf().

931  {
932  zgelqf(M, N, A, LDA, TAU, WORK, LWORK, INFO);
933  }
void zgelqf(const int &M, const int &N, std::complex< double > *A, const int &LDA, std::complex< double > *TAU, std::complex< double > *WORK, const int &LWORK, int &INFO)

◆ gelqf() [2/4]

static void gelqf ( int  M,
int  N,
double *  A,
const int  LDA,
double *  TAU,
double *  WORK,
int  LWORK,
int &  INFO 
)
inlinestatic

Definition at line 935 of file BLAS.hpp.

References qmcplusplus::Units::distance::A, dgelqf(), and qmcplusplus::Units::force::N.

936  {
937  dgelqf(M, N, A, LDA, TAU, WORK, LWORK, INFO);
938  }
void dgelqf(const int &M, const int &N, double *A, const int &LDA, double *TAU, double *WORK, const int &LWORK, int &INFO)

◆ gelqf() [3/4]

static void gelqf ( int  M,
int  N,
std::complex< float > *  A,
const int  LDA,
std::complex< float > *  TAU,
std::complex< float > *  WORK,
int  LWORK,
int &  INFO 
)
inlinestatic

Definition at line 940 of file BLAS.hpp.

References qmcplusplus::Units::distance::A, cgelqf(), and qmcplusplus::Units::force::N.

948  {
949  cgelqf(M, N, A, LDA, TAU, WORK, LWORK, INFO);
950  }
void cgelqf(const int &M, const int &N, std::complex< float > *A, const int &LDA, std::complex< float > *TAU, std::complex< float > *WORK, const int &LWORK, int &INFO)

◆ gelqf() [4/4]

static void gelqf ( int  M,
int  N,
float *  A,
const int  LDA,
float *  TAU,
float *  WORK,
int  LWORK,
int &  INFO 
)
inlinestatic

Definition at line 952 of file BLAS.hpp.

References qmcplusplus::Units::distance::A, qmcplusplus::Units::force::N, and sgelqf().

953  {
954  sgelqf(M, N, A, LDA, TAU, WORK, LWORK, INFO);
955  }
void sgelqf(const int &M, const int &N, float *A, const int &LDA, float *TAU, float *WORK, const int &LWORK, int &INFO)

◆ geqrf() [1/4]

static void geqrf ( int  M,
int  N,
std::complex< double > *  A,
const int  LDA,
std::complex< double > *  TAU,
std::complex< double > *  WORK,
int  LWORK,
int &  INFO 
)
inlinestatic

Definition at line 889 of file BLAS.hpp.

References qmcplusplus::Units::distance::A, qmcplusplus::Units::force::N, and zgeqrf().

897  {
898  zgeqrf(M, N, A, LDA, TAU, WORK, LWORK, INFO);
899  }
void zgeqrf(const int &M, const int &N, std::complex< double > *A, const int &LDA, std::complex< double > *TAU, std::complex< double > *WORK, const int &LWORK, int &INFO)

◆ geqrf() [2/4]

static void geqrf ( int  M,
int  N,
double *  A,
const int  LDA,
double *  TAU,
double *  WORK,
int  LWORK,
int &  INFO 
)
inlinestatic

Definition at line 901 of file BLAS.hpp.

References qmcplusplus::Units::distance::A, dgeqrf(), and qmcplusplus::Units::force::N.

902  {
903  dgeqrf(M, N, A, LDA, TAU, WORK, LWORK, INFO);
904  }
void dgeqrf(const int &M, const int &N, double *A, const int &LDA, double *TAU, double *WORK, const int &LWORK, int &INFO)

◆ geqrf() [3/4]

static void geqrf ( int  M,
int  N,
std::complex< float > *  A,
const int  LDA,
std::complex< float > *  TAU,
std::complex< float > *  WORK,
int  LWORK,
int &  INFO 
)
inlinestatic

Definition at line 906 of file BLAS.hpp.

References qmcplusplus::Units::distance::A, cgeqrf(), and qmcplusplus::Units::force::N.

914  {
915  cgeqrf(M, N, A, LDA, TAU, WORK, LWORK, INFO);
916  }
void cgeqrf(const int &M, const int &N, std::complex< float > *A, const int &LDA, std::complex< float > *TAU, std::complex< float > *WORK, const int &LWORK, int &INFO)

◆ geqrf() [4/4]

static void geqrf ( int  M,
int  N,
float *  A,
const int  LDA,
float *  TAU,
float *  WORK,
int  LWORK,
int &  INFO 
)
inlinestatic

Definition at line 918 of file BLAS.hpp.

References qmcplusplus::Units::distance::A, qmcplusplus::Units::force::N, and sgeqrf().

919  {
920  sgeqrf(M, N, A, LDA, TAU, WORK, LWORK, INFO);
921  }
void sgeqrf(const int &M, const int &N, float *A, const int &LDA, float *TAU, float *WORK, const int &LWORK, int &INFO)

◆ gesvd() [1/4]

static void gesvd ( const char &  jobu,
const char &  jobvt,
const int &  m,
const int &  n,
float *  a,
const int &  lda,
float *  s,
float *  u,
const int &  ldu,
float *  vt,
const int &  ldvt,
float *  work,
const int &  lwork,
int &  info 
)
inlinestatic

Definition at line 520 of file BLAS.hpp.

References qmcplusplus::lda, qmcplusplus::Units::distance::m, qmcplusplus::n, qmcplusplus::Units::time::s, and sgesvd().

Referenced by LRBreakup< BreakupBasis >::DoAllBreakup(), LRBreakup< BreakupBasis >::DoBreakup(), LRBreakup< BreakupBasis >::DoGradBreakup(), LRBreakup< BreakupBasis >::DoStrainBreakup(), and qmcplusplus::testing::makeRngSpdMatrix().

534  {
535  sgesvd(jobu, jobvt, m, n, a, lda, s, u, ldu, vt, ldvt, work, lwork, info);
536  }
void sgesvd(const char &JOBU, const char &JOBVT, const int &M, const int &N, float *A, const int &LDA, float *S, float *U, const int &LDU, float *VT, const int &LDVT, float *work, const int &LWORK, int &INFO)

◆ gesvd() [2/4]

static void gesvd ( const char &  jobu,
const char &  jobvt,
const int &  m,
const int &  n,
double *  a,
const int &  lda,
double *  s,
double *  u,
const int &  ldu,
double *  vt,
const int &  ldvt,
double *  work,
const int &  lwork,
int &  info 
)
inlinestatic

Definition at line 538 of file BLAS.hpp.

References dgesvd(), qmcplusplus::lda, qmcplusplus::Units::distance::m, qmcplusplus::n, and qmcplusplus::Units::time::s.

552  {
553  dgesvd(jobu, jobvt, m, n, a, lda, s, u, ldu, vt, ldvt, work, lwork, info);
554  }
void dgesvd(const char &JOBU, const char &JOBVT, const int &M, const int &N, double *A, const int &LDA, double *S, double *U, const int &LDU, double *VT, const int &LDVT, double *work, const int &LWORK, int &INFO)

◆ gesvd() [3/4]

static void gesvd ( const char &  jobu,
const char &  jobvt,
const int &  m,
const int &  n,
std::complex< float > *  a,
const int &  lda,
float *  s,
std::complex< float > *  u,
const int &  ldu,
std::complex< float > *  vt,
const int &  ldvt,
std::complex< float > *  work,
const int &  lwork,
float *  rwork,
int &  info 
)
inlinestatic

Definition at line 556 of file BLAS.hpp.

References cgesvd(), qmcplusplus::lda, qmcplusplus::Units::distance::m, qmcplusplus::n, and qmcplusplus::Units::time::s.

571  {
572  cgesvd(jobu, jobvt, m, n, a, lda, s, u, ldu, vt, ldvt, work, lwork, rwork, info);
573  }
void cgesvd(const char &JOBU, const char &JOBVT, const int &M, const int &N, std::complex< float > *A, const int &LDA, float *S, std::complex< float > *U, const int &LDU, std::complex< float > *VT, const int &LDVT, std::complex< float > *work, const int &LWORK, float *RWORK, int &INFO)

◆ gesvd() [4/4]

static void gesvd ( const char &  jobu,
const char &  jobvt,
const int &  m,
const int &  n,
std::complex< double > *  a,
const int &  lda,
double *  s,
std::complex< double > *  u,
const int &  ldu,
std::complex< double > *  vt,
const int &  ldvt,
std::complex< double > *  work,
const int &  lwork,
double *  rwork,
int &  info 
)
inlinestatic

Definition at line 575 of file BLAS.hpp.

References qmcplusplus::lda, qmcplusplus::Units::distance::m, qmcplusplus::n, qmcplusplus::Units::time::s, and zgesvd().

590  {
591  zgesvd(jobu, jobvt, m, n, a, lda, s, u, ldu, vt, ldvt, work, lwork, rwork, info);
592  }
void zgesvd(const char &JOBU, const char &JOBVT, const int &M, const int &N, std::complex< double > *A, const int &LDA, double *S, std::complex< double > *U, const int &LDU, std::complex< double > *VT, const int &LDVT, std::complex< double > *work, const int &LWORK, double *RWORK, int &INFO)

◆ getrf() [1/4]

static void getrf ( const int &  n,
const int &  m,
double *  a,
const int &  n0,
int *  piv,
int &  st 
)
inlinestatic

Definition at line 825 of file BLAS.hpp.

References dgetrf(), qmcplusplus::Units::distance::m, and qmcplusplus::n.

826  {
827  dgetrf(n, m, a, n0, piv, st);
828  }
void dgetrf(const int &n, const int &m, double *a, const int &n0, int *piv, int &st)

◆ getrf() [2/4]

static void getrf ( const int &  n,
const int &  m,
float *  a,
const int &  n0,
int *  piv,
int &  st 
)
inlinestatic

Definition at line 830 of file BLAS.hpp.

References qmcplusplus::Units::distance::m, qmcplusplus::n, and sgetrf().

831  {
832  sgetrf(n, m, a, n0, piv, st);
833  }
void sgetrf(const int &n, const int &m, float *a, const int &n0, int *piv, int &st)

◆ getrf() [3/4]

static void getrf ( const int &  n,
const int &  m,
std::complex< double > *  a,
const int &  n0,
int *  piv,
int &  st 
)
inlinestatic

Definition at line 835 of file BLAS.hpp.

References qmcplusplus::Units::distance::m, qmcplusplus::n, and zgetrf().

836  {
837  zgetrf(n, m, a, n0, piv, st);
838  }
void zgetrf(const int &n, const int &m, std::complex< double > *a, const int &n0, int *piv, int &st)

◆ getrf() [4/4]

static void getrf ( const int &  n,
const int &  m,
std::complex< float > *  a,
const int &  n0,
int *  piv,
int &  st 
)
inlinestatic

Definition at line 840 of file BLAS.hpp.

References cgetrf(), qmcplusplus::Units::distance::m, and qmcplusplus::n.

841  {
842  cgetrf(n, m, a, n0, piv, st);
843  }
void cgetrf(const int &n, const int &m, std::complex< float > *a, const int &n0, int *piv, int &st)

◆ getri() [1/4]

static void getri ( int  n,
float *restrict  a,
int  n0,
int const *restrict  piv,
float *restrict  work,
int const &  n1,
int &  status 
)
inlinestatic

Definition at line 845 of file BLAS.hpp.

References qmcplusplus::n, and sgetri().

852  {
853  sgetri(n, a, n0, piv, work, n1, status);
854  }
void sgetri(const int &n, float *a, const int &n0, int const *piv, float *work, const int &, int &st)

◆ getri() [2/4]

static void getri ( int  n,
double *restrict  a,
int  n0,
int const *restrict  piv,
double *restrict  work,
int const &  n1,
int &  status 
)
inlinestatic

Definition at line 856 of file BLAS.hpp.

References dgetri(), and qmcplusplus::n.

863  {
864  dgetri(n, a, n0, piv, work, n1, status);
865  }
void dgetri(const int &n, double *a, const int &n0, int const *piv, double *work, const int &, int &st)

◆ getri() [3/4]

static void getri ( int  n,
std::complex< float > *restrict  a,
int  n0,
int const *restrict  piv,
std::complex< float > *restrict  work,
int const &  n1,
int &  status 
)
inlinestatic

Definition at line 867 of file BLAS.hpp.

References cgetri(), and qmcplusplus::n.

874  {
875  cgetri(n, a, n0, piv, work, n1, status);
876  }
void cgetri(const int &n, std::complex< float > *a, const int &n0, int const *piv, std::complex< float > *work, const int &, int &st)

◆ getri() [4/4]

static void getri ( int  n,
std::complex< double > *restrict  a,
int  n0,
int const *restrict  piv,
std::complex< double > *restrict  work,
int const &  n1,
int &  status 
)
inlinestatic

Definition at line 878 of file BLAS.hpp.

References qmcplusplus::n, and zgetri().

885  {
886  zgetri(n, a, n0, piv, work, n1, status);
887  }
void zgetri(const int &n, std::complex< double > *a, const int &n0, int const *piv, std::complex< double > *work, const int &, int &st)

◆ ggev() [1/2]

static void ggev ( char *  jobvl,
char *  jobvr,
int *  n,
double *  a,
int *  lda,
double *  b,
int *  ldb,
double *  alphar,
double *  alphai,
double *  beta,
double *  vl,
int *  ldvl,
double *  vr,
int *  ldvr,
double *  work,
int *  lwork,
int *  info 
)
inlinestatic

Definition at line 667 of file BLAS.hpp.

References dggev(), qmcplusplus::lda, and qmcplusplus::n.

Referenced by Eigensolver::solveGeneralizedEigenvalues().

684  {
685  dggev(jobvl, jobvr, n, a, lda, b, ldb, alphar, alphai, beta, vl, ldvl, vr, ldvr, work, lwork, info);
686  }
void dggev(char *JOBVL, char *JOBVR, int *N, double *A, int *LDA, double *B, int *LDB, double *ALPHAR, double *ALPHAI, double *BETA, double *VL, int *LDVL, double *VR, int *LDVR, double *WORK, int *LWORK, int *INFO)

◆ ggev() [2/2]

static void ggev ( char *  jobvl,
char *  jobvr,
int *  n,
float *  a,
int *  lda,
float *  b,
int *  ldb,
float *  alphar,
float *  alphai,
float *  beta,
float *  vl,
int *  ldvl,
float *  vr,
int *  ldvr,
float *  work,
int *  lwork,
int *  info 
)
inlinestatic

Definition at line 688 of file BLAS.hpp.

References qmcplusplus::lda, qmcplusplus::n, and sggev().

705  {
706  sggev(jobvl, jobvr, n, a, lda, b, ldb, alphar, alphai, beta, vl, ldvl, vr, ldvr, work, lwork, info);
707  }
void sggev(char *JOBVL, char *JOBVR, int *N, float *A, int *LDA, float *B, int *LDB, float *ALPHAR, float *ALPHAI, float *BETA, float *VL, int *LDVL, float *VR, int *LDVR, float *WORK, int *LWORK, int *INFO)

◆ glq() [1/4]

static void glq ( int  M,
int  N,
int  K,
std::complex< double > *  A,
const int  LDA,
std::complex< double > *  TAU,
std::complex< double > *  WORK,
int  LWORK,
int &  INFO 
)
inlinestatic

Definition at line 993 of file BLAS.hpp.

References qmcplusplus::Units::distance::A, qmcplusplus::Units::energy::K, qmcplusplus::Units::force::N, and zunglq().

1002  {
1003  zunglq(M, N, K, A, LDA, TAU, WORK, LWORK, INFO);
1004  }
void zunglq(const int &M, const int &N, const int &K, std::complex< double > *A, const int &LDA, std::complex< double > *TAU, std::complex< double > *WORK, const int &LWORK, int &INFO)

◆ glq() [2/4]

static void glq ( int  M,
int  N,
int  K,
double *  A,
const int  LDA,
double *  TAU,
double *  WORK,
int  LWORK,
int &  INFO 
)
inlinestatic

Definition at line 1006 of file BLAS.hpp.

References qmcplusplus::Units::distance::A, dorglq(), qmcplusplus::Units::energy::K, and qmcplusplus::Units::force::N.

1007  {
1008  dorglq(M, N, K, A, LDA, TAU, WORK, LWORK, INFO);
1009  }
void dorglq(const int &M, const int &N, const int &K, double *A, const int &LDA, double *TAU, double *WORK, const int &LWORK, int &INFO)

◆ glq() [3/4]

static void glq ( int  M,
int  N,
int  K,
std::complex< float > *  A,
const int  LDA,
std::complex< float > *  TAU,
std::complex< float > *  WORK,
int  LWORK,
int &  INFO 
)
inlinestatic

Definition at line 1011 of file BLAS.hpp.

References qmcplusplus::Units::distance::A, cunglq(), qmcplusplus::Units::energy::K, and qmcplusplus::Units::force::N.

1020  {
1021  cunglq(M, N, K, A, LDA, TAU, WORK, LWORK, INFO);
1022  }
void cunglq(const int &M, const int &N, const int &K, std::complex< float > *A, const int &LDA, std::complex< float > *TAU, std::complex< float > *WORK, const int &LWORK, int &INFO)

◆ glq() [4/4]

static void glq ( int  M,
int  N,
int  K,
float *  A,
const int  LDA,
float *  TAU,
float *  WORK,
int const  LWORK,
int &  INFO 
)
inlinestatic

Definition at line 1024 of file BLAS.hpp.

References qmcplusplus::Units::distance::A, qmcplusplus::Units::energy::K, qmcplusplus::Units::force::N, and sorglq().

1025  {
1026  sorglq(M, N, K, A, LDA, TAU, WORK, LWORK, INFO);
1027  }
void sorglq(const int &M, const int &N, const int &K, float *A, const int &LDA, float *TAU, float *WORK, const int &LWORK, int &INFO)

◆ gqr() [1/4]

static void gqr ( int  M,
int  N,
int  K,
std::complex< double > *  A,
const int  LDA,
std::complex< double > *  TAU,
std::complex< double > *  WORK,
int  LWORK,
int &  INFO 
)
inlinestatic

Definition at line 957 of file BLAS.hpp.

References qmcplusplus::Units::distance::A, qmcplusplus::Units::energy::K, qmcplusplus::Units::force::N, and zungqr().

966  {
967  zungqr(M, N, K, A, LDA, TAU, WORK, LWORK, INFO);
968  }
void zungqr(const int &M, const int &N, const int &K, std::complex< double > *A, const int &LDA, std::complex< double > *TAU, std::complex< double > *WORK, const int &LWORK, int &INFO)

◆ gqr() [2/4]

static void gqr ( int  M,
int  N,
int  K,
double *  A,
const int  LDA,
double *  TAU,
double *  WORK,
int  LWORK,
int &  INFO 
)
inlinestatic

Definition at line 970 of file BLAS.hpp.

References qmcplusplus::Units::distance::A, dorgqr(), qmcplusplus::Units::energy::K, and qmcplusplus::Units::force::N.

971  {
972  dorgqr(M, N, K, A, LDA, TAU, WORK, LWORK, INFO);
973  }
void dorgqr(const int &M, const int &N, const int &K, double *A, const int &LDA, double *TAU, double *WORK, const int &LWORK, int &INFO)

◆ gqr() [3/4]

static void gqr ( int  M,
int  N,
int  K,
std::complex< float > *  A,
const int  LDA,
std::complex< float > *  TAU,
std::complex< float > *  WORK,
int  LWORK,
int &  INFO 
)
inlinestatic

Definition at line 975 of file BLAS.hpp.

References qmcplusplus::Units::distance::A, cungqr(), qmcplusplus::Units::energy::K, and qmcplusplus::Units::force::N.

984  {
985  cungqr(M, N, K, A, LDA, TAU, WORK, LWORK, INFO);
986  }
void cungqr(const int &M, const int &N, const int &K, std::complex< float > *A, const int &LDA, std::complex< float > *TAU, std::complex< float > *WORK, const int &LWORK, int &INFO)

◆ gqr() [4/4]

static void gqr ( int  M,
int  N,
int  K,
float *  A,
const int  LDA,
float *  TAU,
float *  WORK,
int  LWORK,
int &  INFO 
)
inlinestatic

Definition at line 988 of file BLAS.hpp.

References qmcplusplus::Units::distance::A, qmcplusplus::Units::energy::K, qmcplusplus::Units::force::N, and sorgqr().

989  {
990  sorgqr(M, N, K, A, LDA, TAU, WORK, LWORK, INFO);
991  }
void sorgqr(const int &M, const int &N, const int &K, float *A, const int &LDA, float *TAU, float *WORK, const int &LWORK, int &INFO)

◆ heev() [1/2]

static void heev ( char &  jobz,
char &  uplo,
int &  n,
std::complex< float > *  a,
int &  lda,
float *  w,
std::complex< float > *  work,
int &  lwork,
float *  rwork,
int &  info 
)
inlinestatic

Definition at line 492 of file BLAS.hpp.

References cheev(), qmcplusplus::lda, and qmcplusplus::n.

Referenced by RotatedSPOs::exponentiate_antisym_matrix().

502  {
503  cheev(jobz, uplo, n, a, lda, w, work, lwork, rwork, info);
504  }
void cheev(char &JOBZ, char &UPLO, int &N, std::complex< float > *A, int &LDA, float *W, std::complex< float > *WORK, int &LWORK, float *RWORK, int &INFO)

◆ heev() [2/2]

static void heev ( char &  jobz,
char &  uplo,
int &  n,
std::complex< double > *  a,
int &  lda,
double *  w,
std::complex< double > *  work,
int &  lwork,
double *  rwork,
int &  info 
)
inlinestatic

Definition at line 506 of file BLAS.hpp.

References qmcplusplus::lda, qmcplusplus::n, and zheev().

516  {
517  zheev(jobz, uplo, n, a, lda, w, work, lwork, rwork, info);
518  }
void zheev(char &JOBZ, char &UPLO, int &N, std::complex< double > *A, int &LDA, double *W, std::complex< double > *WORK, int &LWORK, double *RWORK, int &INFO)

◆ hevr() [1/4]

static void hevr ( char &  JOBZ,
char &  RANGE,
char &  UPLO,
int &  N,
float *  A,
int &  LDA,
float &  VL,
float &  VU,
int &  IL,
int &  IU,
float &  ABSTOL,
int &  M,
float *  W,
float *  Z,
int &  LDZ,
int *  ISUPPZ,
float *  WORK,
int &  LWORK,
float *  RWORK,
int &  LRWORK,
int *  IWORK,
int &  LIWORK,
int &  INFO 
)
inlinestatic

Definition at line 709 of file BLAS.hpp.

References qmcplusplus::Units::distance::A, qmcplusplus::Units::force::N, ssyevr(), and BLAS::UPLO.

732  {
733  if (WORK)
734  WORK[0] = 0;
735  ssyevr(JOBZ, RANGE, UPLO, N, A, LDA, VL, VU, IL, IU, ABSTOL, M, W, Z, LDZ, ISUPPZ, RWORK, LRWORK, IWORK, LIWORK,
736  INFO);
737  }
constexpr char UPLO
Definition: BLAS.hpp:42
void ssyevr(char &JOBZ, char &RANGE, char &UPLO, int &N, float *A, int &LDA, float &VL, float &VU, int &IL, int &IU, float &ABSTOL, int &M, float *W, float *Z, int &LDZ, int *ISUPPZ, float *WORK, int &LWORK, int *IWORK, int &LIWORK, int &INFO)

◆ hevr() [2/4]

static void hevr ( char &  JOBZ,
char &  RANGE,
char &  UPLO,
int &  N,
double *  A,
int &  LDA,
double &  VL,
double &  VU,
int &  IL,
int &  IU,
double &  ABSTOL,
int &  M,
double *  W,
double *  Z,
int &  LDZ,
int *  ISUPPZ,
double *  WORK,
int &  LWORK,
double *  RWORK,
int &  LRWORK,
int *  IWORK,
int &  LIWORK,
int &  INFO 
)
inlinestatic

Definition at line 739 of file BLAS.hpp.

References qmcplusplus::Units::distance::A, dsyevr(), qmcplusplus::Units::force::N, and BLAS::UPLO.

762  {
763  if (WORK)
764  WORK[0] = 0;
765  dsyevr(JOBZ, RANGE, UPLO, N, A, LDA, VL, VU, IL, IU, ABSTOL, M, W, Z, LDZ, ISUPPZ, RWORK, LRWORK, IWORK, LIWORK,
766  INFO);
767  }
constexpr char UPLO
Definition: BLAS.hpp:42
void dsyevr(char &JOBZ, char &RANGE, char &UPLO, int &N, double *A, int &LDA, double &VL, double &VU, int &IL, int &IU, double &ABSTOL, int &M, double *W, double *Z, int &LDZ, int *ISUPPZ, double *WORK, int &LWORK, int *IWORK, int &LIWORK, int &INFO)

◆ hevr() [3/4]

static void hevr ( char &  JOBZ,
char &  RANGE,
char &  UPLO,
int &  N,
std::complex< float > *  A,
int &  LDA,
float &  VL,
float &  VU,
int &  IL,
int &  IU,
float &  ABSTOL,
int &  M,
float *  W,
std::complex< float > *  Z,
int &  LDZ,
int *  ISUPPZ,
std::complex< float > *  WORK,
int &  LWORK,
float *  RWORK,
int &  LRWORK,
int *  IWORK,
int &  LIWORK,
int &  INFO 
)
inlinestatic

Definition at line 769 of file BLAS.hpp.

References qmcplusplus::Units::distance::A, cheevr(), qmcplusplus::Units::force::N, and BLAS::UPLO.

792  {
793  cheevr(JOBZ, RANGE, UPLO, N, A, LDA, VL, VU, IL, IU, ABSTOL, M, W, Z, LDZ, ISUPPZ, WORK, LWORK, RWORK, LRWORK,
794  IWORK, LIWORK, INFO);
795  }
constexpr char UPLO
Definition: BLAS.hpp:42
void cheevr(char &JOBZ, char &RANGE, char &UPLO, int &N, std::complex< float > *A, int &LDA, float &VL, float &VU, int &IL, int &IU, float &ABSTOL, int &M, float *W, std::complex< float > *Z, int &LDZ, int *ISUPPZ, std::complex< float > *WORK, int &LWORK, float *RWORK, int &LRWORK, int *IWORK, int &LIWORK, int &INFO)

◆ hevr() [4/4]

static void hevr ( char &  JOBZ,
char &  RANGE,
char &  UPLO,
int &  N,
std::complex< double > *  A,
int &  LDA,
double &  VL,
double &  VU,
int &  IL,
int &  IU,
double &  ABSTOL,
int &  M,
double *  W,
std::complex< double > *  Z,
int &  LDZ,
int *  ISUPPZ,
std::complex< double > *  WORK,
int &  LWORK,
double *  RWORK,
int &  LRWORK,
int *  IWORK,
int &  LIWORK,
int &  INFO 
)
inlinestatic

Definition at line 797 of file BLAS.hpp.

References qmcplusplus::Units::distance::A, qmcplusplus::Units::force::N, BLAS::UPLO, and zheevr().

820  {
821  zheevr(JOBZ, RANGE, UPLO, N, A, LDA, VL, VU, IL, IU, ABSTOL, M, W, Z, LDZ, ISUPPZ, WORK, LWORK, RWORK, LRWORK,
822  IWORK, LIWORK, INFO);
823  }
constexpr char UPLO
Definition: BLAS.hpp:42
void zheevr(char &JOBZ, char &RANGE, char &UPLO, int &N, std::complex< double > *A, int &LDA, double &VL, double &VU, int &IL, int &IU, double &ABSTOL, int &M, double *W, std::complex< double > *Z, int &LDZ, int *ISUPPZ, std::complex< double > *WORK, int &LWORK, double *RWORK, int &LRWORK, int *IWORK, int &LIWORK, int &INFO)

◆ potrf() [1/4]

static void potrf ( const char &  UPLO,
const int &  N,
float *  A,
const int &  LDA,
int &  INFO 
)
inlinestatic

Definition at line 1029 of file BLAS.hpp.

References qmcplusplus::Units::distance::A, qmcplusplus::Units::force::N, spotrf(), and BLAS::UPLO.

1030  {
1031  spotrf(UPLO, N, A, LDA, INFO);
1032  }
constexpr char UPLO
Definition: BLAS.hpp:42
void spotrf(const char &UPLO, const int &N, float *A, const int &LDA, int &INFO)

◆ potrf() [2/4]

static void potrf ( const char &  UPLO,
const int &  N,
double *  A,
const int &  LDA,
int &  INFO 
)
inlinestatic

Definition at line 1034 of file BLAS.hpp.

References qmcplusplus::Units::distance::A, dpotrf(), qmcplusplus::Units::force::N, and BLAS::UPLO.

1035  {
1036  dpotrf(UPLO, N, A, LDA, INFO);
1037  }
void dpotrf(const char &UPLO, const int &N, double *A, const int &LDA, int &INFO)
constexpr char UPLO
Definition: BLAS.hpp:42

◆ potrf() [3/4]

static void potrf ( const char &  UPLO,
const int &  N,
std::complex< float > *  A,
const int &  LDA,
int &  INFO 
)
inlinestatic

Definition at line 1039 of file BLAS.hpp.

References qmcplusplus::Units::distance::A, cpotrf(), qmcplusplus::Units::force::N, and BLAS::UPLO.

1040  {
1041  cpotrf(UPLO, N, A, LDA, INFO);
1042  }
constexpr char UPLO
Definition: BLAS.hpp:42
void cpotrf(const char &UPLO, const int &N, std::complex< float > *A, const int &LDA, int &INFO)

◆ potrf() [4/4]

static void potrf ( const char &  UPLO,
const int &  N,
std::complex< double > *  A,
const int &  LDA,
int &  INFO 
)
inlinestatic

Definition at line 1044 of file BLAS.hpp.

References qmcplusplus::Units::distance::A, qmcplusplus::Units::force::N, BLAS::UPLO, and zpotrf().

1045  {
1046  zpotrf(UPLO, N, A, LDA, INFO);
1047  }
constexpr char UPLO
Definition: BLAS.hpp:42
void zpotrf(const char &UPLO, const int &N, std::complex< double > *A, const int &LDA, int &INFO)

The documentation for this struct was generated from the following file: