Cyclops Tensor Framework
parallel arithmetic on multidimensional arrays
sparse_mp3

Third-order Moller-Plesset petrubation theory (MP3) with sparse integrals. Equations adapted from those in Aquarius (credit to Devin Matthews) More...

Collaboration diagram for sparse_mp3:

Namespaces

 CTF
 

Data Structures

struct  dpair
 

Functions

void divide_EaEi (Tensor<> &Ea, Tensor<> &Ei, Tensor<> &T, bool sparse_T)
 
double mp3 (Tensor<> &Ea, Tensor<> &Ei, Tensor<> &Fab, Tensor<> &Fij, Tensor<> &Vabij, Tensor<> &Vijab, Tensor<> &Vabcd, Tensor<> &Vijkl, Tensor<> &Vaibj, bool sparse_T)
 
int sparse_mp3 (int nv, int no, World &dw, double sp=.8, bool test=1, int niter=0, bool bnd=1, bool bns=1, bool sparse_T=1)
 
char * getCmdOption (char **begin, char **end, const std::string &option)
 
int main (int argc, char **argv)
 

Detailed Description

Third-order Moller-Plesset petrubation theory (MP3) with sparse integrals. Equations adapted from those in Aquarius (credit to Devin Matthews)

Function Documentation

void divide_EaEi ( Tensor<> &  Ea,
Tensor<> &  Ei,
Tensor<> &  T,
bool  sparse_T 
)

Definition at line 26 of file sparse_mp3.cxx.

References dpair::a, dpair::b, ctf.core::b, CTF_int::tensor::lens, and CTF_int::tensor::wrld.

Referenced by mp3().

char* getCmdOption ( char **  begin,
char **  end,
const std::string &  option 
)

Definition at line 259 of file sparse_mp3.cxx.

Referenced by main().

int main ( int  argc,
char **  argv 
)

Definition at line 270 of file sparse_mp3.cxx.

References getCmdOption(), ctf.core::np(), ctf.core::rank(), and sparse_mp3().

double mp3 ( Tensor<> &  Ea,
Tensor<> &  Ei,
Tensor<> &  Fab,
Tensor<> &  Fij,
Tensor<> &  Vabij,
Tensor<> &  Vijab,
Tensor<> &  Vabcd,
Tensor<> &  Vijkl,
Tensor<> &  Vaibj,
bool  sparse_T 
)

Definition at line 67 of file sparse_mp3.cxx.

References divide_EaEi(), CTF_int::tensor::lens, and CTF_int::tensor::wrld.

Referenced by sparse_mp3().

int sparse_mp3 ( int  nv,
int  no,
World dw,
double  sp = .8,
bool  test = 1,
int  niter = 0,
bool  bnd = 1,
bool  bns = 1,
bool  sparse_T = 1 
)