Psi4
Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | List of all members
psi::OrbitalSpace Class Reference

The OrbitalSpace class. More...

#include <orbitalspace.h>

Public Member Functions

 OrbitalSpace (const std::string &id, const std::string &name, const SharedMatrix &full_C, const std::shared_ptr< Vector > &evals, const std::shared_ptr< BasisSet > &basis, const std::shared_ptr< IntegralFactory > &ints)
 
 OrbitalSpace (const std::string &id, const std::string &name, const SharedMatrix &full_C, const std::shared_ptr< BasisSet > &basis, const std::shared_ptr< IntegralFactory > &ints)
 
 OrbitalSpace (const std::string &id, const std::string &name, const std::shared_ptr< Wavefunction > &wave)
 
int nirrep () const
 
const std::string & id () const
 
const std::string & name () const
 
const SharedMatrixC () const
 C - transformation matrix (AO x MO) More...
 
const std::shared_ptr< Vector > & evals () const
 "Eigenvalues" of the C matrix More...
 
const std::shared_ptr< BasisSet > & basisset () const
 The AO basis set used to create C. More...
 
const std::shared_ptr
< IntegralFactory > & 
integral () const
 Integral factory used to create C. More...
 
const Dimensiondim () const
 MO dimensionality. More...
 
void print () const
 Print information about the orbital space. More...
 

Static Public Member Functions

static OrbitalSpace transform (const OrbitalSpace &from, const std::shared_ptr< BasisSet > &to)
 
static SharedMatrix overlap (const OrbitalSpace &space1, const OrbitalSpace &space2)
 
static SharedMatrix overlap (const std::shared_ptr< BasisSet > &basis1, const std::shared_ptr< BasisSet > &basis2)
 
static OrbitalSpace build_cabs_space (const OrbitalSpace &orb_space, const OrbitalSpace &ri_space, double linear_tol)
 
static OrbitalSpace build_ri_space (const std::shared_ptr< Molecule > &molecule, const std::string &obs_key, const std::string &aux_key, double lindep_tol)
 
static OrbitalSpace build_abs_space (std::shared_ptr< BasisSet > aux_bs, std::shared_ptr< IntegralFactory > ints, double lindep_tol)
 

Private Member Functions

 OrbitalSpace ()
 No default constructor. More...
 

Private Attributes

std::string id_
 Unique identifier. More...
 
std::string name_
 Name of the orbital space. More...
 
SharedMatrix C_
 AO->MO transformation matrix (ao x mo) or SO->MO transformation matrix. More...
 
std::shared_ptr< Vectorevals_
 MO "eigenvalues". More...
 
std::shared_ptr< BasisSetbasis_
 AO basis set. More...
 
std::shared_ptr< IntegralFactoryints_
 Integral factory that as. More...
 
Dimension dim_
 MO Dimensionality. More...
 

Detailed Description

The OrbitalSpace class.

Describes an orbital space. Contains a unique identifier that can be used to describe the space. Also contains shared_ptr references to AO->MO transformation matrix and possible orbital energies. Relavent basis set and integral factory are also contained.

Constructor & Destructor Documentation

psi::OrbitalSpace::OrbitalSpace ( )
private

No default constructor.

psi::OrbitalSpace::OrbitalSpace ( const std::string &  id,
const std::string &  name,
const SharedMatrix full_C,
const std::shared_ptr< Vector > &  evals,
const std::shared_ptr< BasisSet > &  basis,
const std::shared_ptr< IntegralFactory > &  ints 
)
psi::OrbitalSpace::OrbitalSpace ( const std::string &  id,
const std::string &  name,
const SharedMatrix full_C,
const std::shared_ptr< BasisSet > &  basis,
const std::shared_ptr< IntegralFactory > &  ints 
)
psi::OrbitalSpace::OrbitalSpace ( const std::string &  id,
const std::string &  name,
const std::shared_ptr< Wavefunction > &  wave 
)

Member Function Documentation

const std::shared_ptr< BasisSet > & psi::OrbitalSpace::basisset ( ) const

The AO basis set used to create C.

static OrbitalSpace psi::OrbitalSpace::build_abs_space ( std::shared_ptr< BasisSet aux_bs,
std::shared_ptr< IntegralFactory ints,
double  lindep_tol 
)
static

Given a basis set, it orthogonalizes the orbitals and returns a space with the same span but orthogonal orbitals. Also, linear dependent orbitals are projected out.

Parameters
aux_bsThe basis to orthogonalize
lindep_tolThe tolerance for linear dependencies
OrbitalSpace psi::OrbitalSpace::build_cabs_space ( const OrbitalSpace orb_space,
const OrbitalSpace ri_space,
double  linear_tol 
)
static

Given two spaces, it projects out one space from the other and returns the new spaces.

Parameters
orb_spaceThe space to project out. The returned space will be orthogonal to this.
ri_spaceThe space being projected on. The returned space will be this space minus orb_space.
linear_tolThe tolerance for linear dependencies.
OrbitalSpace psi::OrbitalSpace::build_ri_space ( const std::shared_ptr< Molecule > &  molecule,
const std::string &  obs_key,
const std::string &  aux_key,
double  lindep_tol 
)
static

Given two basis sets, it merges the basis sets and then constructs an orthogonalized space with the same span. Linearly dependent orbitals are thrown out.

Parameters
moleculemolecule to construct the basis for
obs_keyoption keyword for orbital basis set "BASIS"
aux_keyoption keyword for auxiliery basis set "DF_BASIS_MP2"
lindep_tolThe tolerance for linear dependencies
const SharedMatrix & psi::OrbitalSpace::C ( ) const

C - transformation matrix (AO x MO)

const Dimension & psi::OrbitalSpace::dim ( ) const

MO dimensionality.

const std::shared_ptr< Vector > & psi::OrbitalSpace::evals ( ) const

"Eigenvalues" of the C matrix

const std::string & psi::OrbitalSpace::id ( ) const
const std::shared_ptr< IntegralFactory > & psi::OrbitalSpace::integral ( ) const

Integral factory used to create C.

const std::string & psi::OrbitalSpace::name ( ) const
int psi::OrbitalSpace::nirrep ( void  ) const
SharedMatrix psi::OrbitalSpace::overlap ( const OrbitalSpace space1,
const OrbitalSpace space2 
)
static

Returns the overlap matrix between space1 and space2. The matrix has dimensions of space2.C().coldim() and space1.C().coldim(). Throws if the overlap cannot be computed.

SharedMatrix psi::OrbitalSpace::overlap ( const std::shared_ptr< BasisSet > &  basis1,
const std::shared_ptr< BasisSet > &  basis2 
)
static

Returns the overlap matrix between basis1 and basis2. Throws if the overlap cannot be computed.

void psi::OrbitalSpace::print ( void  ) const

Print information about the orbital space.

OrbitalSpace psi::OrbitalSpace::transform ( const OrbitalSpace from,
const std::shared_ptr< BasisSet > &  to 
)
static

Creates an OrbitalSpace from 'from' to the given basis set 'to'

Member Data Documentation

std::shared_ptr<BasisSet> psi::OrbitalSpace::basis_
private

AO basis set.

SharedMatrix psi::OrbitalSpace::C_
private

AO->MO transformation matrix (ao x mo) or SO->MO transformation matrix.

Dimension psi::OrbitalSpace::dim_
private

MO Dimensionality.

std::shared_ptr<Vector> psi::OrbitalSpace::evals_
private

MO "eigenvalues".

std::string psi::OrbitalSpace::id_
private

Unique identifier.

std::shared_ptr<IntegralFactory> psi::OrbitalSpace::ints_
private

Integral factory that as.

std::string psi::OrbitalSpace::name_
private

Name of the orbital space.


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