PLaSK library

Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | List of all members
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.
double & | operator() (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.
double * | data
| 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

  rank | size 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

  vector | vector to multiply
  result | multiplication 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

  r | index of the element row
  c | index 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

  vector | vector to multiply
  result | multiplication 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

  r | index of the element row
  c | index 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:

- solvers/gain/freecarrier/gauss_matrix.hpp