Psi4
Namespaces | Macros | Functions
linear_algebra.cc File Reference

linear algebra functions which call lapack and blas are in global namespace and preceded with opt More...

#include "linear_algebra.h"
#include <cstdlib>
#include "mem.h"
#include "print.h"
#include "globals.h"
#include <cmath>

Namespaces

 opt
 

Macros

#define EXTERN
 
#define F_DGEMM   dgemm_
 
#define F_DSYEV   dsyev_
 
#define F_DGEEV   dgeev_
 

Functions

void F_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)
 
int F_DSYEV (char *, char *, int *, double *, int *, double *, double *, int *, int *)
 
int F_DGEEV (char *, char *, int *N1, double *A, int *N2, double *w1, double *w2, double *vl, int *N3, double *vr, int *N4, double *work, int *lwork, int *info)
 
void opt_matrix_mult (double **A, bool tA, double **B, bool tB, double **C, bool tC, int nr, int nl, int nc, bool add)
 
bool opt_symm_matrix_eig (double **A, int dim, double *evals)
 
bool opt_asymm_matrix_eig (double **A, int dim, double *evals)
 
double ** opt::symm_matrix_inv (double **A, int dim, bool redundant)
 
double ** opt::matrix_return_copy (double **A, int nr, int nc)
 
bool ** opt::matrix_return_copy (bool **A, int nr, int nc)
 
void opt::array_copy (double *v_from, double *v_to, int n)
 
void opt::matrix_copy (double **from, double **to, int nr, int nc)
 
double opt::array_dot (double *v1, double *v2, int n)
 
void opt::array_normalize (double *v1, int n)
 
double opt::array_norm (double *v1, int n)
 
void opt::array_scm (double *v1, double a, int n)
 
double opt::array_abs_max (double *v1, int n)
 
double opt::array_max (double *v1, int n)
 
double opt::array_rms (double *v1, int n)
 
void opt::matrix_root (double **A, int dim, bool inverse)
 

Detailed Description

linear algebra functions which call lapack and blas are in global namespace and preceded with opt

Macro Definition Documentation

#define EXTERN
#define F_DGEEV   dgeev_
#define F_DGEMM   dgemm_
#define F_DSYEV   dsyev_

Function Documentation

int F_DGEEV ( char *  ,
char *  ,
int *  N1,
double *  A,
int *  N2,
double *  w1,
double *  w2,
double *  vl,
int *  N3,
double *  vr,
int *  N4,
double *  work,
int *  lwork,
int *  info 
)
void F_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 
)
int F_DSYEV ( char *  ,
char *  ,
int *  ,
double *  ,
int *  ,
double *  ,
double *  ,
int *  ,
int *   
)
bool opt_asymm_matrix_eig ( double **  A,
int  dim,
double *  evals 
)
void opt_matrix_mult ( double **  A,
bool  tA,
double **  B,
bool  tB,
double **  C,
bool  tC,
int  nr,
int  nl,
int  nc,
bool  add 
)
bool opt_symm_matrix_eig ( double **  A,
int  dim,
double *  evals 
)