mptensor  v0.3.0
Parallel Library for Tensor Network Methods
matrix_scalapack.cc File Reference

scalapack::Matrix class More...

#include <algorithm>
#include <cassert>
#include <cfloat>
#include <complex>
#include "mptensor/complex.hpp"
#include "mptensor/matrix.hpp"
#include "mptensor/scalapack/matrix_scalapack.hpp"

Namespaces

 mptensor
 
 mptensor::scalapack
 Namespace for the distributed Matrix class with ScaLAPACK, PBLAS, and BLACS.
 

Typedefs

typedef mptensor::complex complex
 

Functions

int numroc_ (int *M, int *MB, int *prow, int *irsrc, int *nprow)
 
void descinit_ (int desca[], int *M, int *N, int *MB, int *NB, int *irsrc, int *icsrc, int *ictxt, int *lld, int *info)
 
void pdgemm_ (char *transa, char *transb, int *m, int *n, int *k, 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 pdgesvd_ (char *jobu, char *jobvt, int *m, int *n, double a[], int *ia, int *ja, int desca[], double s[], double u[], int *iu, int *ju, int descu[], double vt[], int *ivt, int *jvt, int descvt[], double work[], int *lwork, int *info)
 
void pdsyev_ (char *jobz, char *uplo, int *n, double a[], int *ia, int *ja, int desca[], double w[], double z[], int *iz, int *jz, int descz[], double work[], int *lwork, int *info)
 
void pdsygvx_ (int *ibtype, char *jobz, char *range, char *uplo, int *n, double a[], int *ia, int *ja, int desca[], double b[], int *ib, int *jb, int descb[], double *vl, double *vu, int *il, int *iu, double *abstol, int *m, int *nz, double w[], double *orfac, double z[], int *iz, int *jz, int descz[], double work[], int *lwork, int iwork[], int *liwork, int ifail[], int iclustr[], double gap[], int *info)
 
void pdgeqrf_ (int *m, int *n, double a[], int *ia, int *ja, int desca[], double tau[], double work[], int *lwork, int *info)
 
void pdorgqr_ (int *m, int *n, int *k, double a[], int *ia, int *ja, int desca[], double tau[], double work[], int *lwork, int *info)
 
void pdgesv_ (int *n, int *nrhs, double a[], int *ia, int *ja, int desca[], int ipiv[], double b[], int *ib, int *jb, int descb[], int *info)
 
void pzgemm_ (char *transa, char *transb, int *m, int *n, int *k, complex *alpha, complex a[], int *ia, int *ja, int desca[], complex b[], int *ib, int *jb, int descb[], complex *beta, complex c[], int *ic, int *jc, int descc[])
 
void pzgesvd_ (char *jobu, char *jobvt, int *m, int *n, complex a[], int *ia, int *ja, int desca[], double s[], complex u[], int *iu, int *ju, int descu[], complex vt[], int *ivt, int *jvt, int descvt[], complex work[], int *lwork, double rwork[], int *info)
 
void pzheev_ (char *jobz, char *uplo, int *n, complex a[], int *ia, int *ja, int desca[], double w[], complex z[], int *iz, int *jz, int descz[], complex work[], int *lwork, double rwork[], int *lrwork, int *info)
 
void pzhegvx_ (int *ibtype, char *jobz, char *range, char *uplo, int *n, complex a[], int *ia, int *ja, int desca[], complex b[], int *ib, int *jb, int descb[], double *vl, double *vu, int *il, int *iu, double *abstol, int *m, int *nz, double w[], double *orfac, complex z[], int *iz, int *jz, int descz[], complex work[], int *lwork, double rwork[], int *lrwork, int iwork[], int *liwork, int ifail[], int iclustr[], double gap[], int *info)
 
void pzgeqrf_ (int *m, int *n, complex a[], int *ia, int *ja, int desca[], complex tau[], complex work[], int *lwork, int *info)
 
void pzungqr_ (int *m, int *n, int *k, complex a[], int *ia, int *ja, int desca[], complex tau[], complex work[], int *lwork, int *info)
 
void pzgesv_ (int *n, int *nrhs, complex a[], int *ia, int *ja, int desca[], int ipiv[], complex b[], int *ib, int *jb, int descb[], int *info)
 

Detailed Description

scalapack::Matrix class

Author
Satoshi Morita morit.nosp@m.a@is.nosp@m.sp.u-.nosp@m.toky.nosp@m.o.ac..nosp@m.jp
Date
Dec 12 2014

Typedef Documentation

◆ complex

Function Documentation

◆ descinit_()

void descinit_ ( int  desca[],
int *  M,
int *  N,
int *  MB,
int *  NB,
int *  irsrc,
int *  icsrc,
int *  ictxt,
int *  lld,
int *  info 
)

◆ numroc_()

int numroc_ ( int *  M,
int *  MB,
int *  prow,
int *  irsrc,
int *  nprow 
)

◆ pdgemm_()

void pdgemm_ ( char *  transa,
char *  transb,
int *  m,
int *  n,
int *  k,
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[] 
)

◆ pdgeqrf_()

void pdgeqrf_ ( int *  m,
int *  n,
double  a[],
int *  ia,
int *  ja,
int  desca[],
double  tau[],
double  work[],
int *  lwork,
int *  info 
)

◆ pdgesv_()

void pdgesv_ ( int *  n,
int *  nrhs,
double  a[],
int *  ia,
int *  ja,
int  desca[],
int  ipiv[],
double  b[],
int *  ib,
int *  jb,
int  descb[],
int *  info 
)

◆ pdgesvd_()

void pdgesvd_ ( char *  jobu,
char *  jobvt,
int *  m,
int *  n,
double  a[],
int *  ia,
int *  ja,
int  desca[],
double  s[],
double  u[],
int *  iu,
int *  ju,
int  descu[],
double  vt[],
int *  ivt,
int *  jvt,
int  descvt[],
double  work[],
int *  lwork,
int *  info 
)

◆ pdorgqr_()

void pdorgqr_ ( int *  m,
int *  n,
int *  k,
double  a[],
int *  ia,
int *  ja,
int  desca[],
double  tau[],
double  work[],
int *  lwork,
int *  info 
)

◆ pdsyev_()

void pdsyev_ ( char *  jobz,
char *  uplo,
int *  n,
double  a[],
int *  ia,
int *  ja,
int  desca[],
double  w[],
double  z[],
int *  iz,
int *  jz,
int  descz[],
double  work[],
int *  lwork,
int *  info 
)

◆ pdsygvx_()

void pdsygvx_ ( int *  ibtype,
char *  jobz,
char *  range,
char *  uplo,
int *  n,
double  a[],
int *  ia,
int *  ja,
int  desca[],
double  b[],
int *  ib,
int *  jb,
int  descb[],
double *  vl,
double *  vu,
int *  il,
int *  iu,
double *  abstol,
int *  m,
int *  nz,
double  w[],
double *  orfac,
double  z[],
int *  iz,
int *  jz,
int  descz[],
double  work[],
int *  lwork,
int  iwork[],
int *  liwork,
int  ifail[],
int  iclustr[],
double  gap[],
int *  info 
)

◆ pzgemm_()

void pzgemm_ ( char *  transa,
char *  transb,
int *  m,
int *  n,
int *  k,
complex alpha,
complex  a[],
int *  ia,
int *  ja,
int  desca[],
complex  b[],
int *  ib,
int *  jb,
int  descb[],
complex beta,
complex  c[],
int *  ic,
int *  jc,
int  descc[] 
)

◆ pzgeqrf_()

void pzgeqrf_ ( int *  m,
int *  n,
complex  a[],
int *  ia,
int *  ja,
int  desca[],
complex  tau[],
complex  work[],
int *  lwork,
int *  info 
)

◆ pzgesv_()

void pzgesv_ ( int *  n,
int *  nrhs,
complex  a[],
int *  ia,
int *  ja,
int  desca[],
int  ipiv[],
complex  b[],
int *  ib,
int *  jb,
int  descb[],
int *  info 
)

◆ pzgesvd_()

void pzgesvd_ ( char *  jobu,
char *  jobvt,
int *  m,
int *  n,
complex  a[],
int *  ia,
int *  ja,
int  desca[],
double  s[],
complex  u[],
int *  iu,
int *  ju,
int  descu[],
complex  vt[],
int *  ivt,
int *  jvt,
int  descvt[],
complex  work[],
int *  lwork,
double  rwork[],
int *  info 
)

◆ pzheev_()

void pzheev_ ( char *  jobz,
char *  uplo,
int *  n,
complex  a[],
int *  ia,
int *  ja,
int  desca[],
double  w[],
complex  z[],
int *  iz,
int *  jz,
int  descz[],
complex  work[],
int *  lwork,
double  rwork[],
int *  lrwork,
int *  info 
)

◆ pzhegvx_()

void pzhegvx_ ( int *  ibtype,
char *  jobz,
char *  range,
char *  uplo,
int *  n,
complex  a[],
int *  ia,
int *  ja,
int  desca[],
complex  b[],
int *  ib,
int *  jb,
int  descb[],
double *  vl,
double *  vu,
int *  il,
int *  iu,
double *  abstol,
int *  m,
int *  nz,
double  w[],
double *  orfac,
complex  z[],
int *  iz,
int *  jz,
int  descz[],
complex  work[],
int *  lwork,
double  rwork[],
int *  lrwork,
int  iwork[],
int *  liwork,
int  ifail[],
int  iclustr[],
double  gap[],
int *  info 
)

◆ pzungqr_()

void pzungqr_ ( int *  m,
int *  n,
int *  k,
complex  a[],
int *  ia,
int *  ja,
int  desca[],
complex  tau[],
complex  work[],
int *  lwork,
int *  info 
)