|
| SNgaussian () |
|
template<class U , unsigned int s> |
| SNgaussian (const SNgeneric< U, s > &A, const m_num &c=0) |
|
SNgaussian< T, tp_size > | inverse () const |
|
void | setColumn (const m_num &col) |
|
m_num | getColumn () const |
|
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 |
|
template<class T , unsigned int tp_size>
template<class U , unsigned int s>
Construct a gaussian matrix from a generic one by
- setting 1 on the diagonal (whatever there is in 'A'),
- keeping what is below the diagonal on column 'c'
- setting 0 everywhere else
Default column is zero. So
will produce the gaussian matrix of E for its first column (first=number zero) provided the type and size of E are compatible with "double" and zero.
template<class T , unsigned int tp_size>
The elements are stored in std::array<T,tp_size> data
while the matrix only contains non fixed values on one column, under the diagonal.
First element of data
stores the first non fixed value. Example for a gaussian matrix on column 1 :
Only the first (tp_size-c-1) elements of 'data' are used.
Implements SNgeneric< T, tp_size >.
template<class T , unsigned int tp_size>
checkForSpecialElements(i,j) checks for element (i,j). If this is a special element (a one whose value is fixed by the fact that we are a gaussian matrix) then it returns a 'SpecialValue<T>' with its boolean part set to true, meaning that this is a special value. In that case :
If this is not a special value, it returns a 'SpecialValue<T>' with boolean part set to false. In that case :
- both _get and _at have to search in the stored values.