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

#include <hamiltonian.h>

Inheritance diagram for psi::USTABHamiltonian:
psi::UHamiltonian psi::Hamiltonian

Public Member Functions

 USTABHamiltonian (std::shared_ptr< JK > jk, SharedMatrix Cocca, SharedMatrix Cvira, SharedMatrix Coccb, SharedMatrix Cvirb, std::shared_ptr< Vector > eps_occa, std::shared_ptr< Vector > eps_vira, std::shared_ptr< Vector > eps_occb, std::shared_ptr< Vector > eps_virb, std::shared_ptr< VBase > v=std::shared_ptr< VBase >())
 
virtual ~USTABHamiltonian ()
 
virtual void print_header () const
 
virtual std::pair
< std::shared_ptr< Vector >
, std::shared_ptr< Vector > > 
diagonal ()
 
virtual void product (const std::vector< std::pair< std::shared_ptr< Vector >, std::shared_ptr< Vector > > > &x, std::vector< std::pair< std::shared_ptr< Vector >, std::shared_ptr< Vector > > > &b)
 
virtual std::vector< std::pair
< SharedMatrix, SharedMatrix > > 
unpack (const std::pair< std::shared_ptr< Vector >, std::shared_ptr< Vector > > &x)
 
virtual std::vector< std::pair
< SharedMatrix, SharedMatrix > > 
unpack_paired (const std::shared_ptr< Vector > &x)
 
- Public Member Functions inherited from psi::UHamiltonian
 UHamiltonian (std::shared_ptr< JK > jk)
 
 UHamiltonian (std::shared_ptr< JK > jk, std::shared_ptr< VBase > v)
 
virtual ~UHamiltonian ()
 Destructor. More...
 
std::pair< SharedMatrix,
SharedMatrix
explicit_hamiltonian ()
 
- Public Member Functions inherited from psi::Hamiltonian
 Hamiltonian (std::shared_ptr< JK > jk)
 
 Hamiltonian (std::shared_ptr< JK > jk, std::shared_ptr< VBase > v)
 
virtual ~Hamiltonian ()
 Destructor. More...
 
std::shared_ptr< JKjk () const
 
std::shared_ptr< VBasev () const
 
void set_JK (std::shared_ptr< JK > jk)
 
void set_V (std::shared_ptr< VBase > v)
 
void set_print (int print)
 Print flag (defaults to 1) More...
 
void set_debug (int debug)
 Debug flag (defaults to 0) More...
 
void set_bench (int bench)
 Bench flag (defaults to 0) More...
 
void set_exact_diagonal (bool diag)
 User the exact diagonal, if available? (defaults to false) More...
 

Protected Attributes

SharedMatrix Cocca_
 
SharedMatrix Cvira_
 
SharedMatrix Coccb_
 
SharedMatrix Cvirb_
 
std::shared_ptr< Vectoreps_occa_
 
std::shared_ptr< Vectoreps_vira_
 
std::shared_ptr< Vectoreps_occb_
 
std::shared_ptr< Vectoreps_virb_
 
- Protected Attributes inherited from psi::Hamiltonian
int print_
 Print flag, defaults to 1. More...
 
int debug_
 Debug flag, defaults to 0. More...
 
int bench_
 Bench flag, defaults to 0. More...
 
bool exact_diagonal_
 Use exact diagonal, if available? More...
 
std::shared_ptr< JKjk_
 jk object More...
 
std::shared_ptr< VBasev_
 v object More...
 

Additional Inherited Members

- Protected Member Functions inherited from psi::Hamiltonian
void common_init ()
 

Constructor & Destructor Documentation

psi::USTABHamiltonian::USTABHamiltonian ( std::shared_ptr< JK jk,
SharedMatrix  Cocca,
SharedMatrix  Cvira,
SharedMatrix  Coccb,
SharedMatrix  Cvirb,
std::shared_ptr< Vector eps_occa,
std::shared_ptr< Vector eps_vira,
std::shared_ptr< Vector eps_occb,
std::shared_ptr< Vector eps_virb,
std::shared_ptr< VBase v = std::shared_ptr<VBase>() 
)
psi::USTABHamiltonian::~USTABHamiltonian ( )
virtual

Member Function Documentation

std::pair< std::shared_ptr< Vector >, std::shared_ptr< Vector > > psi::USTABHamiltonian::diagonal ( )
virtual

Return the approximate diagonal of the Hamiltonian (typically orbital energy differences). This is used for vector guess, eigenvector occupation, and preconditioning.

Returns
diagonal approximation, and vectors, blocked by symmetry

Implements psi::UHamiltonian.

void psi::USTABHamiltonian::print_header ( ) const
virtual

Print header information regarding Hamiltonian type on output file

Implements psi::Hamiltonian.

void psi::USTABHamiltonian::product ( const std::vector< std::pair< std::shared_ptr< Vector >, std::shared_ptr< Vector > > > &  x,
std::vector< std::pair< std::shared_ptr< Vector >, std::shared_ptr< Vector > > > &  b 
)
virtual

Form the product Hx for each x found in the argument, placing in second argument

Parameters
xvector of state functions, and , blocked by symmetry
bvector of product functions, and , blocked by symmetry (preallocated)

Implements psi::UHamiltonian.

virtual std::vector<std::pair<SharedMatrix,SharedMatrix > > psi::USTABHamiltonian::unpack ( const std::pair< std::shared_ptr< Vector >, std::shared_ptr< Vector > > &  x)
inlinevirtual
std::vector< std::pair< SharedMatrix, SharedMatrix > > psi::USTABHamiltonian::unpack_paired ( const std::shared_ptr< Vector > &  x)
virtual

Member Data Documentation

SharedMatrix psi::USTABHamiltonian::Cocca_
protected
SharedMatrix psi::USTABHamiltonian::Coccb_
protected
SharedMatrix psi::USTABHamiltonian::Cvira_
protected
SharedMatrix psi::USTABHamiltonian::Cvirb_
protected
std::shared_ptr<Vector> psi::USTABHamiltonian::eps_occa_
protected
std::shared_ptr<Vector> psi::USTABHamiltonian::eps_occb_
protected
std::shared_ptr<Vector> psi::USTABHamiltonian::eps_vira_
protected
std::shared_ptr<Vector> psi::USTABHamiltonian::eps_virb_
protected

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