Psi4
Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
psi::LSTHCERI Class Reference

#include <lreri.h>

Inheritance diagram for psi::LSTHCERI:
psi::LRERI

Public Member Functions

 LSTHCERI (std::shared_ptr< BasisSet > primary, std::shared_ptr< BasisSet > auxiliary, std::shared_ptr< Matrix > X)
 
virtual ~LSTHCERI ()
 
virtual void load_options (Options &options)
 O: Load the usual options objects. More...
 
void add_eri_space (const std::string &name, const std::string &space1, const std::string &space2, const std::string &space3, const std::string &space4)
 
virtual void clear ()
 Clear the C matrix and orbital spaces list. More...
 
virtual void print_header (int level=1)
 Print info. More...
 
virtual void compute ()
 R: Compute the requested LS-LSTHC factors. More...
 
std::map< std::string,
std::vector< std::shared_ptr
< Tensor > > > & 
ints ()
 LS-LSTHC factors [X1,X2,Z,X3,X4,L12,L34,Sinv12,Sinv34]. More...
 
virtual void compute_meth ()
 O: Compute the METH X and Sinv matrices. More...
 
std::map< std::string,
std::vector< std::shared_ptr
< Tensor > > > & 
meths ()
 METH helper factors [X1,X2,Sinv]. More...
 
void set_J_cutoff (double J_cutoff)
 Set the relative eigenvalue cutoff in J^{-1/2}. More...
 
void set_S_cutoff (double S_cutoff)
 Set the relative eigenvalue cutoff in S^{-1}. More...
 
void set_schwarz_cutoff (double schwarz_cutoff)
 Set the schwarz sieve cutoff. More...
 
void set_balance (bool balance)
 Set to balance or not? More...
 
- Public Member Functions inherited from psi::LRERI
 LRERI (std::shared_ptr< BasisSet > primary)
 
virtual ~LRERI ()
 
virtual void load_wavefunction (std::shared_ptr< Wavefunction > ref)
 O: Load the usual orbital spaces for an RHF or UHF wavefunction. More...
 
void set_C (std::shared_ptr< Matrix > C)
 R: Set the overall C matrix (calls clear before starting) More...
 
void add_space (const std::string &key, int start, int end)
 R: Add an orbital subspace to the queue. The subspace will be referred to by key, and ranges from start to end-1. More...
 
void set_print (int print)
 Set the print flag. More...
 
void set_debug (int debug)
 Set the debug flag. More...
 
void set_bench (int bench)
 Set the bench flag. More...
 
void set_memory (unsigned long int memory)
 Set the allowed memory in doubles. More...
 

Static Public Member Functions

static std::shared_ptr< LSTHCERIbuild (std::shared_ptr< BasisSet > primary, std::shared_ptr< BasisSet > auxiliary, std::shared_ptr< Matrix > X, Options &options)
 
static std::shared_ptr< LSTHCERIbuild (std::shared_ptr< BasisSet > primary, std::shared_ptr< BasisSet > auxiliary, std::shared_ptr< Matrix > X, Options &options, std::shared_ptr< Wavefunction > ref)
 

Protected Member Functions

void common_init ()
 Set defaults. More...
 
std::map< std::string,
std::shared_ptr< Tensor > > 
build_X (bool meth=false)
 Build all requred X matrices (np x nP, core) More...
 
std::map< std::string,
std::shared_ptr< Tensor > > 
build_E (std::map< std::string, std::shared_ptr< Tensor > > &Xs)
 Build all required E matrices (nA x nP, disk) [deleted]. More...
 
std::map< std::string,
std::shared_ptr< Tensor > > 
build_S (std::map< std::string, std::shared_ptr< Tensor > > &Xs, bool meth=false)
 Build all required inverse S matrices (nP x nP, core, swapped) More...
 
std::map< std::string,
std::shared_ptr< Tensor > > 
build_L (std::map< std::string, std::shared_ptr< Tensor > > &Es, std::map< std::string, std::shared_ptr< Tensor > > &Ss)
 Build all requred L matrices (nP x nA, core, swapped) More...
 
std::map< std::string,
std::shared_ptr< Tensor > > 
build_Z (std::map< std::string, std::shared_ptr< Tensor > > &Ls)
 Build all required Z matrices (nP x nP, core, swapped) More...
 
void pack (std::map< std::string, std::shared_ptr< Tensor > > &Xs, std::map< std::string, std::shared_ptr< Tensor > > &Zs, std::map< std::string, std::shared_ptr< Tensor > > &Ls, std::map< std::string, std::shared_ptr< Tensor > > &Ss)
 Pack up the integrals. More...
 
void pack_meth (std::map< std::string, std::shared_ptr< Tensor > > &Xs, std::map< std::string, std::shared_ptr< Tensor > > &Ss)
 Pack up the meth intermediates. More...
 
- Protected Member Functions inherited from psi::LRERI
void common_init ()
 Set defaults. More...
 
std::shared_ptr< MatrixJm12 (std::shared_ptr< BasisSet > auxiliary, double condition)
 Inverse fitting metric. More...
 

Protected Attributes

std::shared_ptr< MatrixX_
 Raw AO-basis X matrix (nso x nP, for now) More...
 
std::shared_ptr< BasisSetauxiliary_
 Auxiliary orbital-pair basis. More...
 
double J_cutoff_
 Relative condition number in J^-1/2. More...
 
double S_cutoff_
 Relative condition number in S^-1. More...
 
double schwarz_cutoff_
 Schwarz sieve tolerance. More...
 
bool balance_
 Balance the X matrices? More...
 
std::map< std::string,
std::vector< std::shared_ptr
< Tensor > > > 
ints_
 ERI factors, CoreTensor, swapped out. More...
 
std::map< std::string,
std::vector< std::shared_ptr
< Tensor > > > 
meths_
 METH factors, CoreTensor, swapped out. More...
 
std::map< std::string,
std::vector< std::string > > 
eri_spaces_
 Requested ERI spaces. More...
 
std::vector< std::string > eri_spaces_order_
 Order of ERI spaces, to keep printing nice. More...
 
- Protected Attributes inherited from psi::LRERI
int print_
 Print flag. More...
 
int debug_
 Debug flag. More...
 
int bench_
 Bench flag. More...
 
unsigned long int memory_
 Memory in doubles. More...
 
std::shared_ptr< BasisSetprimary_
 Primary orbital basis (nso) More...
 
std::shared_ptr< MatrixC_
 Occupation matrix coefficients (nso x nmo) More...
 
std::map< std::string,
std::pair< int, int > > 
spaces_
 Orbital spaces, each defined by a keyword and the index range in <start, end+1>. More...
 
std::vector< std::string > spaces_order_
 Orbital spaces order buffer, to keep the printing nice. More...
 

Detailed Description

LSTHCERI

Constructor & Destructor Documentation

psi::LSTHCERI::LSTHCERI ( std::shared_ptr< BasisSet primary,
std::shared_ptr< BasisSet auxiliary,
std::shared_ptr< Matrix X 
)
psi::LSTHCERI::~LSTHCERI ( )
virtual

Member Function Documentation

void psi::LSTHCERI::add_eri_space ( const std::string &  name,
const std::string &  space1,
const std::string &  space2,
const std::string &  space3,
const std::string &  space4 
)
std::shared_ptr< LSTHCERI > psi::LSTHCERI::build ( std::shared_ptr< BasisSet primary,
std::shared_ptr< BasisSet auxiliary,
std::shared_ptr< Matrix X,
Options options 
)
static
std::shared_ptr< LSTHCERI > psi::LSTHCERI::build ( std::shared_ptr< BasisSet primary,
std::shared_ptr< BasisSet auxiliary,
std::shared_ptr< Matrix X,
Options options,
std::shared_ptr< Wavefunction ref 
)
static
std::map< std::string, std::shared_ptr< Tensor > > psi::LSTHCERI::build_E ( std::map< std::string, std::shared_ptr< Tensor > > &  Xs)
protected

Build all required E matrices (nA x nP, disk) [deleted].

std::map< std::string, std::shared_ptr< Tensor > > psi::LSTHCERI::build_L ( std::map< std::string, std::shared_ptr< Tensor > > &  Es,
std::map< std::string, std::shared_ptr< Tensor > > &  Ss 
)
protected

Build all requred L matrices (nP x nA, core, swapped)

std::map< std::string, std::shared_ptr< Tensor > > psi::LSTHCERI::build_S ( std::map< std::string, std::shared_ptr< Tensor > > &  Xs,
bool  meth = false 
)
protected

Build all required inverse S matrices (nP x nP, core, swapped)

std::map< std::string, std::shared_ptr< Tensor > > psi::LSTHCERI::build_X ( bool  meth = false)
protected

Build all requred X matrices (np x nP, core)

std::map< std::string, std::shared_ptr< Tensor > > psi::LSTHCERI::build_Z ( std::map< std::string, std::shared_ptr< Tensor > > &  Ls)
protected

Build all required Z matrices (nP x nP, core, swapped)

void psi::LSTHCERI::clear ( void  )
virtual

Clear the C matrix and orbital spaces list.

Reimplemented from psi::LRERI.

void psi::LSTHCERI::common_init ( void  )
protected

Set defaults.

void psi::LSTHCERI::compute ( )
virtual

R: Compute the requested LS-LSTHC factors.

Implements psi::LRERI.

void psi::LSTHCERI::compute_meth ( )
virtual

O: Compute the METH X and Sinv matrices.

std::map<std::string, std::vector<std::shared_ptr<Tensor> > >& psi::LSTHCERI::ints ( )
inline

LS-LSTHC factors [X1,X2,Z,X3,X4,L12,L34,Sinv12,Sinv34].

void psi::LSTHCERI::load_options ( Options options)
virtual

O: Load the usual options objects.

Reimplemented from psi::LRERI.

std::map<std::string, std::vector<std::shared_ptr<Tensor> > >& psi::LSTHCERI::meths ( )
inline

METH helper factors [X1,X2,Sinv].

void psi::LSTHCERI::pack ( std::map< std::string, std::shared_ptr< Tensor > > &  Xs,
std::map< std::string, std::shared_ptr< Tensor > > &  Zs,
std::map< std::string, std::shared_ptr< Tensor > > &  Ls,
std::map< std::string, std::shared_ptr< Tensor > > &  Ss 
)
protected

Pack up the integrals.

void psi::LSTHCERI::pack_meth ( std::map< std::string, std::shared_ptr< Tensor > > &  Xs,
std::map< std::string, std::shared_ptr< Tensor > > &  Ss 
)
protected

Pack up the meth intermediates.

void psi::LSTHCERI::print_header ( int  level = 1)
virtual

Print info.

Implements psi::LRERI.

void psi::LSTHCERI::set_balance ( bool  balance)
inline

Set to balance or not?

void psi::LSTHCERI::set_J_cutoff ( double  J_cutoff)
inline

Set the relative eigenvalue cutoff in J^{-1/2}.

void psi::LSTHCERI::set_S_cutoff ( double  S_cutoff)
inline

Set the relative eigenvalue cutoff in S^{-1}.

void psi::LSTHCERI::set_schwarz_cutoff ( double  schwarz_cutoff)
inline

Set the schwarz sieve cutoff.

Member Data Documentation

std::shared_ptr<BasisSet> psi::LSTHCERI::auxiliary_
protected

Auxiliary orbital-pair basis.

bool psi::LSTHCERI::balance_
protected

Balance the X matrices?

std::map<std::string, std::vector<std::string> > psi::LSTHCERI::eri_spaces_
protected

Requested ERI spaces.

std::vector<std::string> psi::LSTHCERI::eri_spaces_order_
protected

Order of ERI spaces, to keep printing nice.

std::map<std::string, std::vector<std::shared_ptr<Tensor> > > psi::LSTHCERI::ints_
protected

ERI factors, CoreTensor, swapped out.

double psi::LSTHCERI::J_cutoff_
protected

Relative condition number in J^-1/2.

std::map<std::string, std::vector<std::shared_ptr<Tensor> > > psi::LSTHCERI::meths_
protected

METH factors, CoreTensor, swapped out.

double psi::LSTHCERI::S_cutoff_
protected

Relative condition number in S^-1.

double psi::LSTHCERI::schwarz_cutoff_
protected

Schwarz sieve tolerance.

std::shared_ptr<Matrix> psi::LSTHCERI::X_
protected

Raw AO-basis X matrix (nso x nP, for now)


The documentation for this class was generated from the following files: