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

#include <laplace.h>

Public Member Functions

 LaplaceDenom (std::shared_ptr< Vector > eps_occ, std::shared_ptr< Vector > eps_vir, double delta=1.0E-6, double omega=0.0, int rank=2)
 Master constructor. More...
 
virtual ~LaplaceDenom ()
 Master destructor. More...
 
void compute (const std::string &occ_name="U", const std::string &vir_name="V", double power=1.0)
 Compute the Laplace factors, assigning tensor names by occ_name and vir_name. More...
 
int npoints () const
 Number of Laplace points. More...
 
std::shared_ptr< Tensortau_occ () const
 Laplace factor for occupied space, N_w x N_i. More...
 
std::shared_ptr< Tensortau_vir () const
 Laplace factor for virtual space, N_w x N_a. More...
 

Protected Attributes

std::shared_ptr< Vectoreps_occ_
 Active occupied orbital eigenvalues. More...
 
std::shared_ptr< Vectoreps_vir_
 Active virtual orbital eigenvalues. More...
 
double delta_
 Allowed maximum error. More...
 
double omega_
 Bias (careful if negative) More...
 
int rank_
 Number of times the occupied or virtual indices occur (e.g., 2 for MP2) More...
 
int npoints_
 Number of Laplace points selected. More...
 
std::shared_ptr< Tensortau_occ_
 Laplace factor for occupied space, N_w x N_i. More...
 
std::shared_ptr< Tensortau_vir_
 Laplace factor for virtual space, N_w x N_a. More...
 

Detailed Description

LaplaceDenom is the second-generation Laplace Denominator class, specifically developed for THC applications in arbitrary-order PT.

The decomposition has the topology

[(e_a + e_b + ...)_o - (e_i + e_j + ...)_r + ]^{-1} ^i ^j ... ^a ^b ...

e_i - occupied eigenvalues e_a - virtual eigenvalues - bias, e.g., in EOM-CC2 applications r - rank, e.g., 2 in MP2

delta is the maximum infinity norm in the rescaled problem 1/r in [1, R]

Constructor & Destructor Documentation

psi::LaplaceDenom::LaplaceDenom ( std::shared_ptr< Vector eps_occ,
std::shared_ptr< Vector eps_vir,
double  delta = 1.0E-6,
double  omega = 0.0,
int  rank = 2 
)

Master constructor.

psi::LaplaceDenom::~LaplaceDenom ( )
virtual

Master destructor.

Member Function Documentation

void psi::LaplaceDenom::compute ( const std::string &  occ_name = "U",
const std::string &  vir_name = "V",
double  power = 1.0 
)

Compute the Laplace factors, assigning tensor names by occ_name and vir_name.

int psi::LaplaceDenom::npoints ( ) const
inline

Number of Laplace points.

std::shared_ptr<Tensor> psi::LaplaceDenom::tau_occ ( ) const
inline

Laplace factor for occupied space, N_w x N_i.

std::shared_ptr<Tensor> psi::LaplaceDenom::tau_vir ( ) const
inline

Laplace factor for virtual space, N_w x N_a.

Member Data Documentation

double psi::LaplaceDenom::delta_
protected

Allowed maximum error.

std::shared_ptr<Vector> psi::LaplaceDenom::eps_occ_
protected

Active occupied orbital eigenvalues.

std::shared_ptr<Vector> psi::LaplaceDenom::eps_vir_
protected

Active virtual orbital eigenvalues.

int psi::LaplaceDenom::npoints_
protected

Number of Laplace points selected.

double psi::LaplaceDenom::omega_
protected

Bias (careful if negative)

int psi::LaplaceDenom::rank_
protected

Number of times the occupied or virtual indices occur (e.g., 2 for MP2)

std::shared_ptr<Tensor> psi::LaplaceDenom::tau_occ_
protected

Laplace factor for occupied space, N_w x N_i.

std::shared_ptr<Tensor> psi::LaplaceDenom::tau_vir_
protected

Laplace factor for virtual space, N_w x N_a.


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