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

#include <dftensor.h>

Public Member Functions

 FittingMetric (std::shared_ptr< BasisSet > aux, bool force_C1=false)
 DF Fitting Metric. More...
 
 FittingMetric (std::shared_ptr< BasisSet > aux, double omega, bool force_C1=false)
 DF Fitting Metric. More...
 
 FittingMetric (std::shared_ptr< BasisSet > aux, std::shared_ptr< BasisSet > pois, bool force_C1=false)
 Poisson Fitting Metric. More...
 
 ~FittingMetric ()
 Destructor. More...
 
std::string get_algorithm () const
 What algorithm to use for symmetric inverse? More...
 
bool is_poisson () const
 Are poisson functions used? More...
 
bool is_inverted () const
 Is the metric inverted? More...
 
SharedMatrix get_metric () const
 The fitting metric or symmetric inverse. More...
 
std::shared_ptr< IntVectorget_pivots () const
 The vector of pivots (for stability) (pivoted->global) More...
 
std::shared_ptr< IntVectorget_reverse_pivots () const
 The vector of back pivots (for stability) (global->pivoted) More...
 
std::shared_ptr< BasisSetget_auxiliary_basis () const
 The gaussian fitting basis. More...
 
std::shared_ptr< BasisSetget_poisson_basis () const
 The poisson fitting basis. More...
 
void form_fitting_metric ()
 Build the raw fitting metric (sets up indices to canonical) More...
 
void form_cholesky_inverse ()
 Build the Cholesky half inverse metric (calls form_fitting_metric) More...
 
void form_QR_inverse (double tol=1.0E-10)
 Build the QR half inverse metric (calls form_fitting_metric) More...
 
void form_eig_inverse (double tol=1.0E-10)
 Build the eigendecomposed half inverse metric (calls form_fitting_metric) More...
 
void form_full_inverse ()
 Build the full inverse metric. NOT RECOMMENDED: Numerical stability (calls form_fitting_metric) More...
 
void form_full_eig_inverse (double tol=1.0E-10)
 Build the full inverse metric. More...
 
void form_cholesky_factor ()
 Build the full metric's Cholesky factor. RECOMMENDED: Numerical stability. More...
 

Protected Member Functions

void pivot ()
 Fully pivot the fitting metric. More...
 

Protected Attributes

std::shared_ptr< BasisSetaux_
 Pointer to the auxiliary basis set. More...
 
std::shared_ptr< BasisSetpois_
 Pointer to the poisson basis set. More...
 
bool is_poisson_
 Is the metric poisson? More...
 
bool force_C1_
 Should we force C1? More...
 
double omega_
 Range separation omega (0.0 if not used) More...
 
SharedMatrix metric_
 The fitting metric or symmetric inverse. More...
 
std::shared_ptr< IntVectorpivots_
 The indices (per irrep) of pivots. More...
 
std::shared_ptr< IntVectorrev_pivots_
 The indices (per irrep) of reverse pivots. More...
 
std::string algorithm_
 The fitting algorithm selected. More...
 
bool is_inverted_
 Is the metric inverted or just a J matrix? More...
 

Constructor & Destructor Documentation

psi::FittingMetric::FittingMetric ( std::shared_ptr< BasisSet aux,
bool  force_C1 = false 
)

DF Fitting Metric.

psi::FittingMetric::FittingMetric ( std::shared_ptr< BasisSet aux,
double  omega,
bool  force_C1 = false 
)

DF Fitting Metric.

psi::FittingMetric::FittingMetric ( std::shared_ptr< BasisSet aux,
std::shared_ptr< BasisSet pois,
bool  force_C1 = false 
)

Poisson Fitting Metric.

psi::FittingMetric::~FittingMetric ( )

Destructor.

Member Function Documentation

void psi::FittingMetric::form_cholesky_factor ( )

Build the full metric's Cholesky factor. RECOMMENDED: Numerical stability.

void psi::FittingMetric::form_cholesky_inverse ( )

Build the Cholesky half inverse metric (calls form_fitting_metric)

void psi::FittingMetric::form_eig_inverse ( double  tol = 1.0E-10)

Build the eigendecomposed half inverse metric (calls form_fitting_metric)

void psi::FittingMetric::form_fitting_metric ( )

Build the raw fitting metric (sets up indices to canonical)

void psi::FittingMetric::form_full_eig_inverse ( double  tol = 1.0E-10)

Build the full inverse metric.

void psi::FittingMetric::form_full_inverse ( )

Build the full inverse metric. NOT RECOMMENDED: Numerical stability (calls form_fitting_metric)

void psi::FittingMetric::form_QR_inverse ( double  tol = 1.0E-10)

Build the QR half inverse metric (calls form_fitting_metric)

std::string psi::FittingMetric::get_algorithm ( ) const
inline

What algorithm to use for symmetric inverse?

std::shared_ptr<BasisSet> psi::FittingMetric::get_auxiliary_basis ( ) const
inline

The gaussian fitting basis.

SharedMatrix psi::FittingMetric::get_metric ( ) const
inline

The fitting metric or symmetric inverse.

std::shared_ptr<IntVector> psi::FittingMetric::get_pivots ( ) const
inline

The vector of pivots (for stability) (pivoted->global)

std::shared_ptr<BasisSet> psi::FittingMetric::get_poisson_basis ( ) const
inline

The poisson fitting basis.

std::shared_ptr<IntVector> psi::FittingMetric::get_reverse_pivots ( ) const
inline

The vector of back pivots (for stability) (global->pivoted)

bool psi::FittingMetric::is_inverted ( ) const
inline

Is the metric inverted?

bool psi::FittingMetric::is_poisson ( ) const
inline

Are poisson functions used?

void psi::FittingMetric::pivot ( )
protected

Fully pivot the fitting metric.

Member Data Documentation

std::string psi::FittingMetric::algorithm_
protected

The fitting algorithm selected.

std::shared_ptr<BasisSet> psi::FittingMetric::aux_
protected

Pointer to the auxiliary basis set.

bool psi::FittingMetric::force_C1_
protected

Should we force C1?

bool psi::FittingMetric::is_inverted_
protected

Is the metric inverted or just a J matrix?

bool psi::FittingMetric::is_poisson_
protected

Is the metric poisson?

SharedMatrix psi::FittingMetric::metric_
protected

The fitting metric or symmetric inverse.

double psi::FittingMetric::omega_
protected

Range separation omega (0.0 if not used)

std::shared_ptr<IntVector> psi::FittingMetric::pivots_
protected

The indices (per irrep) of pivots.

std::shared_ptr<BasisSet> psi::FittingMetric::pois_
protected

Pointer to the poisson basis set.

std::shared_ptr<IntVector> psi::FittingMetric::rev_pivots_
protected

The indices (per irrep) of reverse pivots.


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