Greens-code
A modular quantum transport code
Public Member Functions | List of all members
Matrix Class Referenceabstract

Base Matrix class for access to 2D number grids. More...

#include <matrix.hpp>

Inheritance diagram for Matrix:
Inheritance graph
[legend]

Public Member Functions

void assert_size (row r, column c)
 assert that the Matrix has a minimum number of rows and columns, if not try to resize
 
void assert_size (row r, column c) const
 assert that the Matrix has a minimum number of rows and columns, if not throw an exception
 
void Insert (row r, column c, complex v)
 Insert an element at a given position (overwritten if already there)
 
void Add (row r, column c, complex v)
 Add an element at a given position.
 
complex Get (row r, column c) const
 Obtain an element at a given position.
 
row nrows () const
 Number of rows.
 
size_t num_of_rows () const
 
column ncols () const
 Number of Columns.
 
size_t num_of_cols () const
 
void add_diagonal (complex e)
 Add a number to the entire diagonal of the Matrix.
 
void insert_diagonal (complex e)
 Insert a number to the entire diagonal of the Matrix.
 
void multiply_by_number (complex v)
 multiply whole Matrix by a complex number
 
void print (std::ostream &) const
 Output matrix to the stream.
 
void formatted_print (std::ostream &) const
 
bool check_hermitian () const
 
bool check_realsymmetric () const
 
Matrixoperator+= (Matrix const &rhs)
 

Detailed Description

Base Matrix class for access to 2D number grids.

This abstract base class defines a most general collection of numbers in a 2D grid. It offers adding, erasing or inserting numbers at a specific position in the 2D grid, output, and testing for size of the grid.


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