PLaSK library
Loading...
Searching...
No Matches
plask::optical::effective::ZgbMatrix Struct Reference

Oversimple symmetric band matrix structure. More...

#include <solvers/optical/effective/gauss_matrix.hpp>

Collaboration diagram for plask::optical::effective::ZgbMatrix:
[legend]

Public Member Functions

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

Public Attributes

const size_t size
 Order of the matrix, i.e. number of columns or rows.
 
dcomplex * 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 42 of file gauss_matrix.hpp.

Constructor & Destructor Documentation

◆ ZgbMatrix() [1/2]

plask::optical::effective::ZgbMatrix::ZgbMatrix ( size_t  rank)
inline

Create matrix.

Parameters
ranksize of the matrix

Definition at line 51 of file gauss_matrix.hpp.

◆ ZgbMatrix() [2/2]

plask::optical::effective::ZgbMatrix::ZgbMatrix ( const ZgbMatrix )
delete

◆ ~ZgbMatrix()

plask::optical::effective::ZgbMatrix::~ZgbMatrix ( )
inline

Definition at line 55 of file gauss_matrix.hpp.

Member Function Documentation

◆ addmult()

void plask::optical::effective::ZgbMatrix::addmult ( const DataVector< const dcomplex > &  vector,
DataVector< dcomplex > &  result 
)
inline

Multiply matrix by vector adding the result.

Parameters
vectorvector to multiply
resultmultiplication result

Definition at line 97 of file gauss_matrix.hpp.

◆ clear()

void plask::optical::effective::ZgbMatrix::clear ( )
inline

Clear the matrix.

Definition at line 79 of file gauss_matrix.hpp.

◆ determinant()

dcomplex plask::optical::effective::ZgbMatrix::determinant ( )
inline

Compute matrix determinant.

Definition at line 102 of file gauss_matrix.hpp.

◆ index()

size_t plask::optical::effective::ZgbMatrix::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 62 of file gauss_matrix.hpp.

◆ mult()

void plask::optical::effective::ZgbMatrix::mult ( const DataVector< const dcomplex > &  vector,
DataVector< dcomplex > &  result 
)
inline

Multiply matrix by vector.

Parameters
vectorvector to multiply
resultmultiplication result

Definition at line 88 of file gauss_matrix.hpp.

◆ operator()()

dcomplex & plask::optical::effective::ZgbMatrix::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 74 of file gauss_matrix.hpp.

Member Data Documentation

◆ data

dcomplex* plask::optical::effective::ZgbMatrix::data

Pointer to data.

Definition at line 45 of file gauss_matrix.hpp.

◆ size

const size_t plask::optical::effective::ZgbMatrix::size

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

Definition at line 44 of file gauss_matrix.hpp.


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