Psi4
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 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 psi::FittingMetric::get_pivots ( ) const
inline

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

 std::shared_ptr psi::FittingMetric::get_poisson_basis ( ) const
inline

The poisson fitting basis.

 std::shared_ptr 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 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 psi::FittingMetric::pivots_
protected

The indices (per irrep) of pivots.

 std::shared_ptr psi::FittingMetric::pois_
protected

Pointer to the poisson basis set.

 std::shared_ptr psi::FittingMetric::rev_pivots_
protected

The indices (per irrep) of reverse pivots.

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