PLaSK library
Loading...
Searching...
No Matches
plask::gain::freecarrier::DgbMatrix Struct Reference

Oversimple symmetric band matrix structure. More...

#include <solvers/gain/freecarrier/gauss_matrix.hpp>

Collaboration diagram for plask::gain::freecarrier::DgbMatrix:
[legend]

Public Member Functions

 DgbMatrix (size_t rank)
 Create matrix.
 
 DgbMatrix (const DgbMatrix &)=delete
 
 ~DgbMatrix ()
 
size_t index (size_t r, size_t c)
 Return index in data array.
 
doubleoperator() (size_t r, size_t c)
 Return reference to array element.
 
void clear ()
 Clear the matrix.
 
void mult (const DataVector< const double > &vector, DataVector< double > &result)
 Multiply matrix by vector.
 
void addmult (const DataVector< const double > &vector, DataVector< double > &result)
 Multiply matrix by vector adding the result.
 
double determinant ()
 Compute matrix determinant.
 

Public Attributes

const size_t size
 Order of the matrix, i.e. number of columns or rows.
 
doubledata
 Pointer to data.
 

Detailed Description

Oversimple symmetric band matrix structure.

It only offers easy access to elements and nothing more. Data is stored in LAPACK format.

Definition at line 41 of file gauss_matrix.hpp.

Constructor & Destructor Documentation

◆ DgbMatrix() [1/2]

plask::gain::freecarrier::DgbMatrix::DgbMatrix ( size_t  rank)
inline

Create matrix.

Parameters
ranksize of the matrix

Definition at line 50 of file gauss_matrix.hpp.

◆ DgbMatrix() [2/2]

plask::gain::freecarrier::DgbMatrix::DgbMatrix ( const DgbMatrix )
delete

◆ ~DgbMatrix()

plask::gain::freecarrier::DgbMatrix::~DgbMatrix ( )
inline

Definition at line 54 of file gauss_matrix.hpp.

Member Function Documentation

◆ addmult()

void plask::gain::freecarrier::DgbMatrix::addmult ( const DataVector< const double > &  vector,
DataVector< double > &  result 
)
inline

Multiply matrix by vector adding the result.

Parameters
vectorvector to multiply
resultmultiplication result

Definition at line 96 of file gauss_matrix.hpp.

◆ clear()

void plask::gain::freecarrier::DgbMatrix::clear ( )
inline

Clear the matrix.

Definition at line 78 of file gauss_matrix.hpp.

◆ determinant()

double plask::gain::freecarrier::DgbMatrix::determinant ( )
inline

Compute matrix determinant.

Definition at line 101 of file gauss_matrix.hpp.

◆ index()

size_t plask::gain::freecarrier::DgbMatrix::index ( size_t  r,
size_t  c 
)
inline

Return index in data array.

Parameters
rindex of the element row
cindex of the element column

Definition at line 61 of file gauss_matrix.hpp.

◆ mult()

void plask::gain::freecarrier::DgbMatrix::mult ( const DataVector< const double > &  vector,
DataVector< double > &  result 
)
inline

Multiply matrix by vector.

Parameters
vectorvector to multiply
resultmultiplication result

Definition at line 87 of file gauss_matrix.hpp.

◆ operator()()

double & plask::gain::freecarrier::DgbMatrix::operator() ( size_t  r,
size_t  c 
)
inline

Return reference to array element.

Parameters
rindex of the element row
cindex of the element column

Definition at line 73 of file gauss_matrix.hpp.

Member Data Documentation

◆ data

double* plask::gain::freecarrier::DgbMatrix::data

Pointer to data.

Definition at line 44 of file gauss_matrix.hpp.

◆ size

const size_t plask::gain::freecarrier::DgbMatrix::size

Order of the matrix, i.e. number of columns or rows.

Definition at line 43 of file gauss_matrix.hpp.


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