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

Definition of functions which call LAPACK and BLAS routines. More...

#include <algorithm>
#include <cassert>
#include <complex>
#include "mptensor/complex.hpp"
#include "mptensor/matrix.hpp"
#include "mptensor/lapack/matrix_lapack.hpp"

Namespaces

 mptensor
 
 mptensor::lapack
 Namespace for the non-distributed Matrix class with LAPACK.
 

Typedefs

typedef mptensor::complex complex
 

Functions

void dgemm_ (char *transa, char *transb, int *m, int *n, int *k, double *alpha, double a[], int *lda, double b[], int *ldb, double *beta, double c[], int *ldc)
 
void dgesvd_ (char *jobu, char *jobvt, int *m, int *n, double a[], int *lda, double s[], double u[], int *ldu, double vt[], int *ldvt, double work[], int *lwork, int *info)
 
void dgeqrf_ (int *m, int *n, double a[], int *lda, double tau[], double work[], int *lwork, int *info)
 
void dorgqr_ (int *m, int *n, int *k, double a[], int *lda, double tau[], double work[], int *lwork, int *info)
 
void dsyevd_ (char *jobz, char *uplo, int *n, double a[], int *lda, double w[], double work[], int *lwork, int iwork[], int *liwork, int *info)
 
void dsygvd_ (int *itype, char *jobz, char *uplo, int *n, double a[], int *lda, double b[], int *ldb, double w[], double work[], int *lwork, int iwork[], int *liwork, int *info)
 
void dgesv_ (int *n, int *nrhs, double a[], int *lda, int ipiv[], double b[], int *ldb, int *info)
 
void dgeev_ (char *jobvl, char *jobvr, int *n, double a[], int *lda, double wr[], double wi[], double vl[], int *ldvl, double vr[], int *ldvr, double work[], int *lwork, int *info)
 
void zgemm_ (char *transa, char *transb, int *m, int *n, int *k, complex *alpha, complex a[], int *lda, complex b[], int *ldb, complex *beta, complex c[], int *ldc)
 
void zgesvd_ (char *jobu, char *jobvt, int *m, int *n, complex a[], int *lda, double s[], complex u[], int *ldu, complex vt[], int *ldvt, complex work[], int *lwork, double rwork[], int *info)
 
void zgeqrf_ (int *m, int *n, complex a[], int *lda, complex tau[], complex work[], int *lwork, int *info)
 
void zungqr_ (int *m, int *n, int *k, complex a[], int *lda, complex tau[], complex work[], int *lwork, int *info)
 
void zheevd_ (char *jobz, char *uplo, int *n, complex a[], int *lda, double w[], complex work[], int *lwork, double rwork[], int *lrwork, int iwork[], int *liwork, int *info)
 
void zhegvd_ (int *itype, char *jobz, char *uplo, int *n, complex a[], int *lda, complex b[], int *ldb, double w[], complex work[], int *lwork, double rwork[], int *lrwork, int iwork[], int *liwork, int *info)
 
void zgesv_ (int *n, int *nrhs, complex a[], int *lda, int ipiv[], complex b[], int *ldb, int *info)
 
void zgeev_ (char *jobvl, char *jobvr, int *n, complex a[], int *lda, complex w[], complex vl[], int *ldvl, complex vr[], int *ldvr, complex work[], int *lwork, double rwork[], int *info)
 

Detailed Description

Definition of functions which call LAPACK and BLAS routines.

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

Typedef Documentation

◆ complex

Function Documentation

◆ dgeev_()

void dgeev_ ( char *  jobvl,
char *  jobvr,
int *  n,
double  a[],
int *  lda,
double  wr[],
double  wi[],
double  vl[],
int *  ldvl,
double  vr[],
int *  ldvr,
double  work[],
int *  lwork,
int *  info 
)

◆ dgemm_()

void dgemm_ ( char *  transa,
char *  transb,
int *  m,
int *  n,
int *  k,
double *  alpha,
double  a[],
int *  lda,
double  b[],
int *  ldb,
double *  beta,
double  c[],
int *  ldc 
)

◆ dgeqrf_()

void dgeqrf_ ( int *  m,
int *  n,
double  a[],
int *  lda,
double  tau[],
double  work[],
int *  lwork,
int *  info 
)

◆ dgesv_()

void dgesv_ ( int *  n,
int *  nrhs,
double  a[],
int *  lda,
int  ipiv[],
double  b[],
int *  ldb,
int *  info 
)

◆ dgesvd_()

void dgesvd_ ( char *  jobu,
char *  jobvt,
int *  m,
int *  n,
double  a[],
int *  lda,
double  s[],
double  u[],
int *  ldu,
double  vt[],
int *  ldvt,
double  work[],
int *  lwork,
int *  info 
)

◆ dorgqr_()

void dorgqr_ ( int *  m,
int *  n,
int *  k,
double  a[],
int *  lda,
double  tau[],
double  work[],
int *  lwork,
int *  info 
)

◆ dsyevd_()

void dsyevd_ ( char *  jobz,
char *  uplo,
int *  n,
double  a[],
int *  lda,
double  w[],
double  work[],
int *  lwork,
int  iwork[],
int *  liwork,
int *  info 
)

◆ dsygvd_()

void dsygvd_ ( int *  itype,
char *  jobz,
char *  uplo,
int *  n,
double  a[],
int *  lda,
double  b[],
int *  ldb,
double  w[],
double  work[],
int *  lwork,
int  iwork[],
int *  liwork,
int *  info 
)

◆ zgeev_()

void zgeev_ ( char *  jobvl,
char *  jobvr,
int *  n,
complex  a[],
int *  lda,
complex  w[],
complex  vl[],
int *  ldvl,
complex  vr[],
int *  ldvr,
complex  work[],
int *  lwork,
double  rwork[],
int *  info 
)

◆ zgemm_()

void zgemm_ ( char *  transa,
char *  transb,
int *  m,
int *  n,
int *  k,
complex alpha,
complex  a[],
int *  lda,
complex  b[],
int *  ldb,
complex beta,
complex  c[],
int *  ldc 
)

◆ zgeqrf_()

void zgeqrf_ ( int *  m,
int *  n,
complex  a[],
int *  lda,
complex  tau[],
complex  work[],
int *  lwork,
int *  info 
)

◆ zgesv_()

void zgesv_ ( int *  n,
int *  nrhs,
complex  a[],
int *  lda,
int  ipiv[],
complex  b[],
int *  ldb,
int *  info 
)

◆ zgesvd_()

void zgesvd_ ( char *  jobu,
char *  jobvt,
int *  m,
int *  n,
complex  a[],
int *  lda,
double  s[],
complex  u[],
int *  ldu,
complex  vt[],
int *  ldvt,
complex  work[],
int *  lwork,
double  rwork[],
int *  info 
)

◆ zheevd_()

void zheevd_ ( char *  jobz,
char *  uplo,
int *  n,
complex  a[],
int *  lda,
double  w[],
complex  work[],
int *  lwork,
double  rwork[],
int *  lrwork,
int  iwork[],
int *  liwork,
int *  info 
)

◆ zhegvd_()

void zhegvd_ ( int *  itype,
char *  jobz,
char *  uplo,
int *  n,
complex  a[],
int *  lda,
complex  b[],
int *  ldb,
double  w[],
complex  work[],
int *  lwork,
double  rwork[],
int *  lrwork,
int  iwork[],
int *  liwork,
int *  info 
)

◆ zungqr_()

void zungqr_ ( int *  m,
int *  n,
int *  k,
complex  a[],
int *  lda,
complex  tau[],
complex  work[],
int *  lwork,
int *  info 
)