finitediff
Public Member Functions | Private Member Functions | Private Attributes | List of all members
SNlowerTriangular< T, tp_size > Class Template Reference

Represents a lower triangular matrix (the diagonal can be non zero). More...

#include <SNlowerTriangular.h>

Inheritance diagram for SNlowerTriangular< T, tp_size >:
Inheritance graph
[legend]
Collaboration diagram for SNlowerTriangular< T, tp_size >:
Collaboration graph
[legend]

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

_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
 

Detailed Description

template<class T, unsigned int tp_size>
class SNlowerTriangular< T, tp_size >

Represents a lower triangular matrix (the diagonal can be non zero).

Constructor & Destructor Documentation

template<class T , unsigned int tp_size>
SNlowerTriangular< T, tp_size >::SNlowerTriangular ( )
template<class T , unsigned int tp_size>
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.

template<class T , unsigned int tp_size>
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 ...).

template<class T , unsigned int tp_size>
SNlowerTriangular< T, tp_size >::SNlowerTriangular ( const SNgaussian< T, tp_size > &  A)

Construct a lower triangular from a gaussian matrix

Member Function Documentation

template<class T , unsigned int tp_size>
T & SNlowerTriangular< T, tp_size >::_at ( m_num  l,
m_num  c 
)
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 >.

template<class T , unsigned int tp_size>
T SNlowerTriangular< T, tp_size >::_get ( const m_num  ,
const m_num   
) const
overrideprivatevirtual

Return by value the requested element of the matrix

Implements SNgeneric< T, tp_size >.

template<class T , unsigned int tp_size>
std::array< T, tp_size *tp_size > SNlowerTriangular< T, tp_size >::_get_other_data ( const SNmatrix< T, tp_size > &  A) const
template<class T , unsigned int tp_size>
void SNlowerTriangular< T, tp_size >::swap ( SNlowerTriangular< T, tp_size > &  other)

Member Data Documentation

template<class T, unsigned int tp_size>
std::array<T,tp_size*tp_size> SNlowerTriangular< T, tp_size >::data
private

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