Psi4
Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
psi::OverlapOrthog Class Reference

#include <orthog.h>

Public Types

enum  OrthogMethod { Symmetric, Canonical, GramSchmidt }
 An enum for the types of orthogonalization. More...
 

Public Member Functions

 OverlapOrthog (OrthogMethod method, SharedMatrix overlap, double lindep_tolerance, int debug=0)
 
double min_orthog_res () const
 
double max_orthog_res () const
 
OrthogMethod orthog_method () const
 
double lindep_tol () const
 
SharedMatrix basis_to_orthog_basis ()
 
SharedMatrix basis_to_orthog_basis_inverse ()
 
SharedMatrix overlap_inverse ()
 Return an $S^{-1}$. More...
 
Dimension dim ()
 
Dimension orthog_dim ()
 
int nlindep ()
 

Private Member Functions

void compute_overlap_eig (Matrix &overlap_eigvec, Vector &isqrt_eigval, Vector &sqrt_eigval)
 
void compute_symmetric_orthog ()
 
void compute_canonical_orthog ()
 
void compute_gs_orthog ()
 
void compute_orthog_trans ()
 

Private Attributes

int debug_
 
Dimension dim_
 
Dimension orthog_dim_
 
double lindep_tol_
 
int nlindep_
 The number of linearly dependent functions. More...
 
OrthogMethod orthog_method_
 The orthogonalization method. More...
 
SharedMatrix orthog_trans_
 
SharedMatrix orthog_trans_inverse_
 
SharedMatrix overlap_
 
double min_orthog_res_
 
double max_orthog_res_
 

Member Enumeration Documentation

An enum for the types of orthogonalization.

Enumerator
Symmetric 
Canonical 
GramSchmidt 

Constructor & Destructor Documentation

psi::OverlapOrthog::OverlapOrthog ( OrthogMethod  method,
SharedMatrix  overlap,
double  lindep_tolerance,
int  debug = 0 
)

Member Function Documentation

SharedMatrix psi::OverlapOrthog::basis_to_orthog_basis ( )

Returns a matrix which does the requested transform from a basis to an orthogonal basis. This could be either the symmetric or canonical orthogonalization matrix. The row dimension is the basisdimension and the column dimension is orthogonal basis dimension.An operator $O$ in the orthogonal basis is given by $X OX^T$ where $X$ is the return value of this function.

SharedMatrix psi::OverlapOrthog::basis_to_orthog_basis_inverse ( )

Returns the inverse of the transformation returned by basis_to_orthog_basis().

void psi::OverlapOrthog::compute_canonical_orthog ( )
private
void psi::OverlapOrthog::compute_gs_orthog ( )
private
void psi::OverlapOrthog::compute_orthog_trans ( )
private
void psi::OverlapOrthog::compute_overlap_eig ( Matrix overlap_eigvec,
Vector isqrt_eigval,
Vector sqrt_eigval 
)
private
void psi::OverlapOrthog::compute_symmetric_orthog ( )
private
Dimension psi::OverlapOrthog::dim ( )
double psi::OverlapOrthog::lindep_tol ( ) const
inline
double psi::OverlapOrthog::max_orthog_res ( ) const
inline
double psi::OverlapOrthog::min_orthog_res ( ) const
inline
int psi::OverlapOrthog::nlindep ( )
Dimension psi::OverlapOrthog::orthog_dim ( )
OrthogMethod psi::OverlapOrthog::orthog_method ( ) const
inline
SharedMatrix psi::OverlapOrthog::overlap_inverse ( )

Return an $S^{-1}$.

Member Data Documentation

int psi::OverlapOrthog::debug_
private
Dimension psi::OverlapOrthog::dim_
private
double psi::OverlapOrthog::lindep_tol_
private

The tolerance for linearly independent basis functions. The interpretation depends on the orthogonalization method.

double psi::OverlapOrthog::max_orthog_res_
private
double psi::OverlapOrthog::min_orthog_res_
private

The minimum and maximum residual from the orthogonalizationprocedure. The interpretation depends on the method used. For symmetry and canonical, these are the min and max overlap eigenvalues. These are the residuals for the basis functions that actually end up being used.

int psi::OverlapOrthog::nlindep_
private

The number of linearly dependent functions.

Dimension psi::OverlapOrthog::orthog_dim_
private
OrthogMethod psi::OverlapOrthog::orthog_method_
private

The orthogonalization method.

SharedMatrix psi::OverlapOrthog::orthog_trans_
private
SharedMatrix psi::OverlapOrthog::orthog_trans_inverse_
private
SharedMatrix psi::OverlapOrthog::overlap_
private

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