Psi4
Public Member Functions | List of all members
psi::UHamiltonian Class Referenceabstract

#include <hamiltonian.h>

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

Public Member Functions

 UHamiltonian (std::shared_ptr< JK > jk)
 
 UHamiltonian (std::shared_ptr< JK > jk, std::shared_ptr< VBase > v)
 
virtual ~UHamiltonian ()
 Destructor. More...
 
virtual std::pair
< std::shared_ptr< Vector >
, std::shared_ptr< Vector > > 
diagonal ()=0
 
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)=0
 
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
 
virtual void print_header () const =0
 
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...
 

Additional Inherited Members

- Protected Member Functions inherited from psi::Hamiltonian
void common_init ()
 
- 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...
 

Constructor & Destructor Documentation

psi::UHamiltonian::UHamiltonian ( std::shared_ptr< JK jk)
psi::UHamiltonian::UHamiltonian ( std::shared_ptr< JK jk,
std::shared_ptr< VBase v 
)
psi::UHamiltonian::~UHamiltonian ( )
virtual

Destructor.

Member Function Documentation

virtual std::pair<std::shared_ptr<Vector>, std::shared_ptr<Vector> > psi::UHamiltonian::diagonal ( )
pure 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

Implemented in psi::USTABHamiltonian, and psi::MatrixUHamiltonian.

std::pair<SharedMatrix, SharedMatrix > psi::UHamiltonian::explicit_hamiltonian ( )

Form the explicit hamiltonian for debugging purposes

virtual void psi::UHamiltonian::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 
)
pure 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)

Implemented in psi::USTABHamiltonian, and psi::MatrixUHamiltonian.


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