19 #ifndef __SNlowerTriangular_H__103047 20 #define __SNlowerTriangular_H__103047 25 #include "../exceptions/SNexceptions.cpp" 36 template <
class T,
unsigned int tp_size>
41 std::array<T,tp_size*tp_size>
data;
76 template <
class T,
unsigned int tp_size>
79 template <
class T,
unsigned int tp_size>
82 for (
m_num l=0;l<tp_size;++l)
84 for (
m_num c=0;c<l+1;++c)
86 this->
at(l,c)=A.
get(l,c);
93 template <
class T,
unsigned int tp_size>
99 template <
class T,
unsigned int tp_size>
104 template <
class T,
unsigned int tp_size>
107 for (
m_num i=0;i<tp_size;i++)
111 for (
m_num c=0;c<tp_size;++c)
113 for (
m_num l=c+1;l<tp_size;++l)
125 template <
class T,
unsigned int tp_size>
134 template <
class T,
unsigned int tp_size>
141 return data.at(c*tp_size+l);
145 template <
class T,
unsigned int tp_size>
152 return data.at(c*tp_size+l);
std::array< T, tp_size *tp_size > _get_other_data(const SNmatrix< T, tp_size > &) const
Definition: SNlowerTriangular.h:94
virtual T & at(const m_num, const m_num) final
Definition: SNgeneric.h:218
Definition: SNgaussian.h:61
Represent a square numerical matrix.
Definition: SNline.h:29
void swap(SNlowerTriangular< T, tp_size > &other)
Definition: SNlowerTriangular.h:126
This is the base class for the other matrices types.
Definition: MathUtilities.h:32
T _get(const m_num, const m_num) const override
Definition: SNlowerTriangular.h:135
SNlowerTriangular()
Definition: SNlowerTriangular.h:77
virtual T get(const m_num, const m_num) const final
Definition: SNgeneric.h:211
m_num getColumn() const
Definition: SNgaussian.h:144
Represents a lower triangular matrix (the diagonal can be non zero).
Definition: SNlowerTriangular.h:37
std::array< T, tp_size *tp_size > data
Definition: SNlowerTriangular.h:41
T & _at(m_num l, m_num c) override
Return by reference the content of element (l,c) of the matrix.
Definition: SNlowerTriangular.h:146
std::array< T, tp_size *tp_size > data
Definition: SNmatrix.h:95
Definition: SNexceptions.cpp:81