ergo
mat::MatrixBase Class Reference

Base class for matrix API. More...

#include <MatrixBase.h>

Inheritance diagram for mat::MatrixBase:
mat::FileWritable

List of all members.

Public Member Functions

void resetSizesAndBlocks (SizesAndBlocks const &newRows, SizesAndBlocks const &newCols)
void getRows (SizesAndBlocks &rowsCopy) const
void getCols (SizesAndBlocks &colsCopy) const
bool is_empty () const
 Check if matrix is empty.
Treal trace () const
void add_identity (Treal alpha)
MatrixBase< Treal, Tmatrix > & operator*= (Treal const alpha)
bool operator== (int k) const
void clear ()
 Release memory for the information written to file.
size_t memory_usage () const
void write_to_buffer_count (int &n_bytes) const
int get_nrows () const
int get_ncols () const
Tmatrix const & getMatrix () const
Tmatrix & getMatrix ()
Treal maxAbsValue () const
 Get largest absolute value of matrix element in the matrix.

Protected Member Functions

 MatrixBase ()
 MatrixBase (const MatrixBase< Treal, Tmatrix > &other)
MatrixBase< Treal, Tmatrix > & operator= (const MatrixBase< Treal, Tmatrix > &other)
MatrixBase< Treal, Tmatrix > & operator= (const Xtrans< MatrixGeneral< Treal, Tmatrix > > &mt)
void write_to_buffer_base (void *buffer, const int n_bytes, const matrix_type mattype) const
void read_from_buffer_base (void *buffer, const int n_bytes, const matrix_type mattype)
void writeToFileBase (std::ofstream &file, matrix_type const mattype) const
void readFromFileBase (std::ifstream &file, matrix_type const mattype)
std::string obj_type_id () const
void inMemorySet (bool inMem)
 Make object invalid (false) via this function when object is written to file and valid (true) when object is read from file.

Static Protected Member Functions

static void getPermutedIndexes (std::vector< int > const &index, std::vector< int > const &permutation, std::vector< int > &newIndex)

Protected Attributes

ValidPtr< Tmatrix > matrixPtr

Friends

class MatrixGeneral< Treal, Tmatrix >
class MatrixSymmetric< Treal, Tmatrix >
class MatrixTriangular< Treal, Tmatrix >

Detailed Description

Base class for matrix API.

This class provides a base for an API to a matrix library built up from three types which are also the template arguments to this class.

Treal: Type for real numbers

Tmatrix: The matrix class


Constructor & Destructor Documentation

mat::MatrixBase::MatrixBase ( ) [inline, protected]
mat::MatrixBase::MatrixBase ( const MatrixBase< Treal, Tmatrix > &  other) [inline, protected]

Member Function Documentation

void mat::MatrixBase::add_identity ( Treal  alpha) [inline]

Referenced by simple_purification(), and mainFun().

int mat::MatrixBase::get_ncols ( ) const [inline]
int mat::MatrixBase::get_nrows ( ) const [inline]

Referenced by mainFun().

void mat::MatrixBase::getCols ( SizesAndBlocks colsCopy) const [inline]
Tmatrix const& mat::MatrixBase::getMatrix ( ) const [inline]
Tmatrix& mat::MatrixBase::getMatrix ( ) [inline]
static void mat::MatrixBase::getPermutedIndexes ( std::vector< int > const &  index,
std::vector< int > const &  permutation,
std::vector< int > &  newIndex 
) [inline, static, protected]
void mat::MatrixBase::getRows ( SizesAndBlocks rowsCopy) const [inline]
void mat::MatrixBase::inMemorySet ( bool  ) [inline, protected, virtual]

Make object invalid (false) via this function when object is written to file and valid (true) when object is read from file.

Implements mat::FileWritable.

bool mat::MatrixBase::is_empty ( ) const [inline]

Check if matrix is empty.

Being empty is not the same as being zero. A matrix being empty means that the data structure has not been set.

Referenced by mat::MatrixBase< Treal, Tmatrix >::clear(), and SCF_restricted::get_2e_part_and_energy().

Treal mat::MatrixBase::maxAbsValue ( ) const [inline]

Get largest absolute value of matrix element in the matrix.

Referenced by compute_J_by_boxes_sparse().

size_t mat::MatrixBase::memory_usage ( ) const [inline]

Referenced by mainFun(), and main().

std::string mat::MatrixBase::obj_type_id ( ) const [inline, protected, virtual]
MatrixBase<Treal, Tmatrix>& mat::MatrixBase::operator*= ( Treal const  alpha) [inline]
MatrixBase<Treal, Tmatrix>& mat::MatrixBase::operator= ( const MatrixBase< Treal, Tmatrix > &  other) [inline, protected]
MatrixBase<Treal, Tmatrix>& mat::MatrixBase::operator= ( const Xtrans< MatrixGeneral< Treal, Tmatrix > > &  mt) [inline, protected]

Reimplemented in mat::MatrixGeneral.

bool mat::MatrixBase::operator== ( int  k) const [inline]
void mat::MatrixBase::read_from_buffer_base ( void *  buffer,
const int  n_bytes,
const matrix_type  mattype 
) [protected]
void mat::MatrixBase::readFromFileBase ( std::ifstream &  file,
matrix_type const  mattype 
) [protected]
Treal mat::MatrixBase::trace ( ) const [inline]
void mat::MatrixBase::write_to_buffer_base ( void *  buffer,
const int  n_bytes,
const matrix_type  mattype 
) const [protected]
void mat::MatrixBase::write_to_buffer_count ( int &  n_bytes) const [inline]

Referenced by write_to_buffer_base().

void mat::MatrixBase::writeToFileBase ( std::ofstream &  file,
matrix_type const  mattype 
) const [protected]

Friends And Related Function Documentation

friend class MatrixGeneral< Treal, Tmatrix > [friend]
friend class MatrixSymmetric< Treal, Tmatrix > [friend]
friend class MatrixTriangular< Treal, Tmatrix > [friend]

Member Data Documentation


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