finitediff
|
Represents a lower triangular matrix (the diagonal can be non zero). More...
#include <SNlowerTriangular.h>
Public Member Functions | |
std::array< T, tp_size *tp_size > | _get_other_data (const SNmatrix< T, tp_size > &) const |
SNlowerTriangular () | |
SNlowerTriangular (const SNmatrix< T, tp_size > &A) | |
Construct a lower diagonal matrix from a SNmatrix. More... | |
SNlowerTriangular (const SNgeneric< T, tp_size > &A) | |
Construct a lower diagonal matrix from a generic matrix. More... | |
SNlowerTriangular (const SNgaussian< T, tp_size > &A) | |
void | swap (SNlowerTriangular< T, tp_size > &other) |
Public Member Functions inherited from SNgeneric< T, tp_size > | |
virtual unsigned int | getSize () const final |
virtual T & | at (const m_num, const m_num) final |
virtual T | get (const m_num, const m_num) const final |
virtual SNline< T, tp_size > | getSNline (m_num l) const |
template<class V , unsigned int s> | |
void | subtract (const SNgeneric< V, s > &) |
template<class V , unsigned int s> | |
void | subtract (const SNgaussian< V, s > &) |
SNgaussian< T, tp_size > | getGaussian (const m_num c) const |
template<class V , unsigned int s> | |
bool | isNumericallyEqual (const SNgeneric< V, s > &A, const double &epsilon) const |
Private Member Functions | |
T | _get (const m_num, const m_num) const override |
T & | _at (m_num l, m_num c) override |
Return by reference the content of element (l ,c ) of the matrix. More... | |
Private Attributes | |
std::array< T, tp_size *tp_size > | data |
Represents a lower triangular matrix (the diagonal can be non zero).
SNlowerTriangular< T, tp_size >::SNlowerTriangular | ( | ) |
SNlowerTriangular< T, tp_size >::SNlowerTriangular | ( | const SNmatrix< T, tp_size > & | A | ) |
Construct a lower diagonal matrix from a SNmatrix.
Whatever was over the diagonal is forgotten.
SNlowerTriangular< T, tp_size >::SNlowerTriangular | ( | const SNgeneric< T, tp_size > & | A | ) |
Construct a lower diagonal matrix from a generic matrix.
Due to the way the data is recorded in SNmatrix
and SNlowerTriangular
, it could be faster to initialize from a SNmatrix
than from a generic one (if you have the choice ...).
SNlowerTriangular< T, tp_size >::SNlowerTriangular | ( | const SNgaussian< T, tp_size > & | A | ) |
Construct a lower triangular from a gaussian matrix
|
overrideprivatevirtual |
Return by reference the content of element (l
,c
) of the matrix.
If l<c
, throws SNnonAllowedChange
because _at
is destinated to populate the matrix.
Implements SNgeneric< T, tp_size >.
|
overrideprivatevirtual |
Return by value the requested element of the matrix
Implements SNgeneric< T, tp_size >.
std::array< T, tp_size *tp_size > SNlowerTriangular< T, tp_size >::_get_other_data | ( | const SNmatrix< T, tp_size > & | A | ) | const |
void SNlowerTriangular< T, tp_size >::swap | ( | SNlowerTriangular< T, tp_size > & | other | ) |
|
private |