Psi4
Public Member Functions | Public Attributes | Private Member Functions | Private Attributes | Friends | List of all members
psi::mcscf::BlockMatrix Class Reference

#include <block_matrix.h>

Public Member Functions

 BlockMatrix ()
 
 BlockMatrix (std::string label, int nirreps, size_t *&rows_size, size_t *&cols_size)
 
 BlockMatrix (std::string label, int nirreps, int *&rows_size, int *&cols_size)
 
 BlockMatrix (std::string label, int nirreps, vecint &rows_size, vecint &cols_size)
 
 ~BlockMatrix ()
 
void set (int h, int i, int j, double value)
 
void add (int h, int i, int j, double value)
 
double get (int h, int i, int j)
 
size_t get_rows (int h)
 
size_t get_cols (int h)
 
size_t get_abs_row (int h, int i)
 
size_t get_abs_col (int h, int i)
 
BlockMatrixoperator= (BlockMatrix &rhs)
 
BlockMatrixoperator+= (const BlockMatrix &rhs)
 
BlockMatrixoperator-= (const BlockMatrix &rhs)
 
void print ()
 
void zero ()
 
void zero_diagonal ()
 
void scale (double factor)
 
void transpose ()
 
void multiply (bool transpose_A, bool transpose_B, BlockMatrix *A, BlockMatrix *B)
 
void diagonalize (BlockMatrix *eigenvectors, BlockVector *eigenvalues)
 
MatrixBasegetMatrixBase (int h)
 
size_t ref () const
 
void add_reference ()
 
bool subtract_reference ()
 

Public Attributes

size_t ref_
 

Private Member Functions

void startup (std::string label, int nirreps, size_t *&rows_size, size_t *&cols_size)
 
void startup (std::string label, int nirreps, int *&rows_size, int *&cols_size)
 
void startup (std::string label, int nirreps, vecint &rows_size, vecint &cols_size)
 
void cleanup ()
 

Private Attributes

std::string label_
 
MatrixBase ** matrix_base_
 
size_t * rows_size_
 
size_t * cols_size_
 
size_t * rows_offset_
 
size_t * cols_offset_
 
int nirreps_
 

Friends

double dot (BlockMatrix *A, BlockMatrix *B)
 

Constructor & Destructor Documentation

psi::mcscf::BlockMatrix::BlockMatrix ( )
psi::mcscf::BlockMatrix::BlockMatrix ( std::string  label,
int  nirreps,
size_t *&  rows_size,
size_t *&  cols_size 
)
psi::mcscf::BlockMatrix::BlockMatrix ( std::string  label,
int  nirreps,
int *&  rows_size,
int *&  cols_size 
)
psi::mcscf::BlockMatrix::BlockMatrix ( std::string  label,
int  nirreps,
vecint rows_size,
vecint cols_size 
)
psi::mcscf::BlockMatrix::~BlockMatrix ( )

Member Function Documentation

void psi::mcscf::BlockMatrix::add ( int  h,
int  i,
int  j,
double  value 
)
inline
void psi::mcscf::BlockMatrix::add_reference ( )
inline
void psi::mcscf::BlockMatrix::cleanup ( void  )
private
void psi::mcscf::BlockMatrix::diagonalize ( BlockMatrix eigenvectors,
BlockVector eigenvalues 
)
double psi::mcscf::BlockMatrix::get ( int  h,
int  i,
int  j 
)
inline
size_t psi::mcscf::BlockMatrix::get_abs_col ( int  h,
int  i 
)
inline
size_t psi::mcscf::BlockMatrix::get_abs_row ( int  h,
int  i 
)
inline
size_t psi::mcscf::BlockMatrix::get_cols ( int  h)
inline
size_t psi::mcscf::BlockMatrix::get_rows ( int  h)
inline
MatrixBase* psi::mcscf::BlockMatrix::getMatrixBase ( int  h)
inline
void psi::mcscf::BlockMatrix::multiply ( bool  transpose_A,
bool  transpose_B,
BlockMatrix A,
BlockMatrix B 
)
BlockMatrix & psi::mcscf::BlockMatrix::operator+= ( const BlockMatrix rhs)
BlockMatrix & psi::mcscf::BlockMatrix::operator-= ( const BlockMatrix rhs)
BlockMatrix & psi::mcscf::BlockMatrix::operator= ( BlockMatrix rhs)
void psi::mcscf::BlockMatrix::print ( void  )
size_t psi::mcscf::BlockMatrix::ref ( ) const
inline
void psi::mcscf::BlockMatrix::scale ( double  factor)
void psi::mcscf::BlockMatrix::set ( int  h,
int  i,
int  j,
double  value 
)
inline
void psi::mcscf::BlockMatrix::startup ( std::string  label,
int  nirreps,
size_t *&  rows_size,
size_t *&  cols_size 
)
private
void psi::mcscf::BlockMatrix::startup ( std::string  label,
int  nirreps,
int *&  rows_size,
int *&  cols_size 
)
private
void psi::mcscf::BlockMatrix::startup ( std::string  label,
int  nirreps,
vecint rows_size,
vecint cols_size 
)
private
bool psi::mcscf::BlockMatrix::subtract_reference ( )
inline
void psi::mcscf::BlockMatrix::transpose ( )
void psi::mcscf::BlockMatrix::zero ( void  )
void psi::mcscf::BlockMatrix::zero_diagonal ( )

Friends And Related Function Documentation

double dot ( BlockMatrix A,
BlockMatrix B 
)
friend

Member Data Documentation

size_t* psi::mcscf::BlockMatrix::cols_offset_
private
size_t* psi::mcscf::BlockMatrix::cols_size_
private
std::string psi::mcscf::BlockMatrix::label_
private
MatrixBase** psi::mcscf::BlockMatrix::matrix_base_
private
int psi::mcscf::BlockMatrix::nirreps_
private
size_t psi::mcscf::BlockMatrix::ref_
size_t* psi::mcscf::BlockMatrix::rows_offset_
private
size_t* psi::mcscf::BlockMatrix::rows_size_
private

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