VM2D 1.14
Vortex methods for 2D flows simulation
Loading...
Searching...
No Matches
VMlib::nummatrix< T, n, m > Class Template Reference

Шаблонный класс, определяющий матрицу фиксированного размера
Фактически представляет собой массив, для которого определено большое количество различных операций.
Для доступа к элементам матрицы используется оператор [][]
Оператор[] имитирует возврат ссылки/константной ссылки на numvector. More...

#include <nummatrix.h>

Inheritance diagram for VMlib::nummatrix< T, n, m >:
Collaboration diagram for VMlib::nummatrix< T, n, m >:

Public Member Functions

numvector< T, m > & operator[] (size_t i)
 Перегрузка оператора "[]" доступа к строке
 
const numvector< T, m > & operator[] (size_t i) const
 Перегрузка оператора "[]" доступа к строке
 
template<typename P >
nummatrix< T, n, m > & operator*= (const P c)
 Перегрузка оператора "*=" домножения матрицы на действительное число
 
template<typename P >
nummatrix< T, n, m > & operator/= (const P c)
 Перегрузка оператора "/=" деления матрицы на действительное число
 
template<typename P >
nummatrix< T, n, m > & operator+= (const nummatrix< P, n, m > &y)
 Перегрузка оператора "+=" прибавления другой матрицы
 
template<typename P >
nummatrix< T, n, m > & operator-= (const nummatrix< P, n, m > &y)
 Перегрузка оператора "-=" вычитания другой матрицы
 
template<typename P >
auto operator+ (const nummatrix< P, n, m > &y) const -> nummatrix< typename std::remove_const< decltype(this->data()[0]+y.data()[0])>::type, n, m >
 Перегрузка оператора "+" сложения двух матриц
 
template<typename P >
auto operator- (const nummatrix< P, n, m > &y) const -> nummatrix< typename std::remove_const< decltype(this->data()[0] - y.data()[0])>::type, n, m >
 Перегрузка оператора "-" вычитания двух матриц
 
template<typename P >
auto operator* (const P c) const -> nummatrix< typename std::remove_const< decltype(this->data()[0] *c)>::type, n, m >
 Перегрузка оператора "*" умножения матрицы справа на число
 
nummatrix< T, n, m > operator- () const
 Перегрузка оператора "-" унарного минуса
 
template<typename P >
bool operator== (const nummatrix< P, n, m > &y) const
 Перегрузка оператора "==" логического равенства
 
template<typename P >
bool operator!= (const nummatrix< P, n, m > &y) const
 Перегрузка оператора "!=" логического неравенства
 
std::pair< size_t, size_t > size () const
 Вычисление размерности матрицы (числа строк и столбцов в ней)
 
auto norm1 () const -> typename std::remove_const< typename std::remove_reference< decltype(this->data()[0])>::type >::type
 Вычисление 1-нормы матрицы
 
auto norminf () const -> typename std::remove_const< typename std::remove_reference< decltype(this->data()[0])>::type >::type
 Вычисление inf-нормы матрицы
 
nummatrix< T, n, m > & toZero (T val=0.0)
 
nummatrix< T, n, n > & toIdentity ()
 
nummatrix< T, m, n > t () const
 
nummatrix< T, n, n > sym () const
 
 nummatrix ()
 Пустой конструктор
 
template<typename P >
 nummatrix (const P z)
 Конструктор, инициализирующий всю матрицу одной и той же константой
 
template<typename P >
 nummatrix (const nummatrix< P, n, m > &mtr)
 Конструктор копирования
 
template<typename P >
 nummatrix (const std::vector< std::vector< P > > &vec)
 Конструктор инициализации с помощью std::vector из std::vector.
 
template<typename P >
 nummatrix (const numvector< numvector< P, m >, n > &mtr)
 Конструктор инициализации при помощи numvector из numvector.
 
 nummatrix (const std::initializer_list< numvector< T, m > > &z)
 Нешаблонный конструктор инициализации списком из numvector.
 
template<typename P >
 nummatrix (const std::initializer_list< numvector< P, m > > &z)
 Шаблонный конструктор инициализации списком из numvector.
 
 operator std::vector< std::vector< T > > () const
 Приведение матрицы к типу std::vector из std::vector.
 
nummatrix< T, m, n > transpose () const
 Транспонирование
 
template<typename P >
auto operator& (const numvector< P, m > &x) -> numvector< typename std::remove_const< decltype(this->data()[0] *x[0])>::type, n >
 Умножение матрицы на вектор
 
template<typename P , size_t p>
auto operator& (const nummatrix< P, m, p > &B) const -> nummatrix< typename std::remove_const< decltype(this->data()[0] *B.data()[0])>::type, n, p >
 Умножение матрицы на матрицу
 

Public Attributes

elements
 STL member.
 

Detailed Description

template<typename T, size_t n, size_t m>
class VMlib::nummatrix< T, n, m >

Шаблонный класс, определяющий матрицу фиксированного размера
Фактически представляет собой массив, для которого определено большое количество различных операций.
Для доступа к элементам матрицы используется оператор [][]
Оператор[] имитирует возврат ссылки/константной ссылки на numvector.

Template Parameters
Tтип элементов матрицы
nчисло строк
mчисло столбцов
Author
Марчевский Илья Константинович \Version 1.14
Date
6 марта 2026 г.

Definition at line 65 of file nummatrix.h.

Constructor & Destructor Documentation

◆ nummatrix() [1/7]

template<typename T , size_t n, size_t m>
VMlib::nummatrix< T, n, m >::nummatrix ( )
inline

Пустой конструктор

Definition at line 347 of file nummatrix.h.

347{ };

◆ nummatrix() [2/7]

template<typename T , size_t n, size_t m>
template<typename P >
VMlib::nummatrix< T, n, m >::nummatrix ( const P  z)
inlineexplicit

Конструктор, инициализирующий всю матрицу одной и той же константой

Template Parameters
Pтип данных инициализирующей константы
Parameters
[in]zзначение, которым инициализируются все компоненты матрицы

Definition at line 355 of file nummatrix.h.

356 {
357 for (size_t i = 0; i < n*m; ++i)
358 this->data()[i] = z;
359 }//nummatrix(...)

◆ nummatrix() [3/7]

template<typename T , size_t n, size_t m>
template<typename P >
VMlib::nummatrix< T, n, m >::nummatrix ( const nummatrix< P, n, m > &  mtr)
inline

Конструктор копирования

Template Parameters
Pтип данных копируемой матрицы
nчисло строк
mчисло столбцов
Parameters
[in]mtrконстантная ссылка на копируемую матрицу

Definition at line 369 of file nummatrix.h.

370 {
371 for (size_t i = 0; i < n*m; ++i)
372 this->data()[i] = mtr.data()[i];
373 }//nummatrix(...)

◆ nummatrix() [4/7]

template<typename T , size_t n, size_t m>
template<typename P >
VMlib::nummatrix< T, n, m >::nummatrix ( const std::vector< std::vector< P > > &  vec)
inline

Конструктор инициализации с помощью std::vector из std::vector.

Template Parameters
Pтип данных инициализирующего std::vector
nчисло строк
mчисло столбцов
Parameters
[in]vecконстантная ссылка на инициализирующий вектор

Definition at line 383 of file nummatrix.h.

384 {
385 if ((vec.size() != n) || (vec[0].size() != m))
386 throw;
387 for (size_t i = 0; i < n; ++i)
388 for (size_t j = 0; j < m; ++j)
389 this->data()[i*m + j] = vec[i][j];
390 }//nummatrix(...)

◆ nummatrix() [5/7]

template<typename T , size_t n, size_t m>
template<typename P >
VMlib::nummatrix< T, n, m >::nummatrix ( const numvector< numvector< P, m >, n > &  mtr)
inline

Конструктор инициализации при помощи numvector из numvector.

Template Parameters
Pтип данных в инициализирующем numvector
nчисло строк
mчисло столбцов
Parameters
[in]mtrконстантная ссылка на numvector из numvector

Definition at line 400 of file nummatrix.h.

401 {
402 for (size_t i = 0; i < n; ++i)
403 for (size_t j = 0; j < m; ++j)
404 this->data()[i*m + j] = mtr[i][j];
405 }//nummatrix(...)

◆ nummatrix() [6/7]

template<typename T , size_t n, size_t m>
VMlib::nummatrix< T, n, m >::nummatrix ( const std::initializer_list< numvector< T, m > > &  z)
inline

Нешаблонный конструктор инициализации списком из numvector.

Template Parameters
Tтип данных
Parameters
[in]zконстантная ссылка на список инициализации
Warning
Длина списка инициализации проверяется, при несовпадении бросается исключение

Definition at line 414 of file nummatrix.h.

415 {
416 if (z.size() != n)
417 throw;
418 for (size_t i = 0; i < n; ++i)
419 {
420 const numvector<T, m>& numv = *(z.begin() + i);
421 for (size_t j = 0; j < m; ++j)
422 this->data()[i*m + j] = numv[j];
423 }
424 }//nummatrix(...)
Шаблонный класс, определяющий вектор фиксированной длины Фактически представляет собой массив,...
Definition numvector.h:99

◆ nummatrix() [7/7]

template<typename T , size_t n, size_t m>
template<typename P >
VMlib::nummatrix< T, n, m >::nummatrix ( const std::initializer_list< numvector< P, m > > &  z)
inline

Шаблонный конструктор инициализации списком из numvector.

Template Parameters
Pтип данных векторов в списке инициализации
Parameters
[in]zконстантная ссылка на список инициализации
Warning
Длина списка инициализации проверяется, при несовпадении бросается исключение

Definition at line 433 of file nummatrix.h.

434 {
435 if (z.size() != n)
436 throw;
437 for (size_t i = 0; i < n; ++i)
438 {
439 const numvector<T, m>& numv = *(z.begin() + i);
440 for (size_t j = 0; j < m; ++j)
441 this->data()[i*m + j] = numv[j];
442 }
443 }//nummatrix(...)

Member Function Documentation

◆ norm1()

template<typename T , size_t n, size_t m>
auto VMlib::nummatrix< T, n, m >::norm1 ( ) const -> typename std::remove_const<typename std::remove_reference<decltype(this->data()[0])>::type>::type
inline

Вычисление 1-нормы матрицы

Returns
1-норма матрицы

Definition at line 271 of file nummatrix.h.

272 {
273 std::vector<typename std::remove_const<typename std::remove_reference<decltype(this->data()[0])>::type>::type> ms(m, 0);
274 for (size_t i = 0; i < m; ++i)
275 for (size_t j = 0; j < n; ++j)
276 ms[i] += abs(this->data()[j*m + i]);
277 return std::max_element(ms.begin(), ms.end());
278 }

◆ norminf()

template<typename T , size_t n, size_t m>
auto VMlib::nummatrix< T, n, m >::norminf ( ) const -> typename std::remove_const<typename std::remove_reference<decltype(this->data()[0])>::type>::type
inline

Вычисление inf-нормы матрицы

Returns
inf-норма матрицы

Definition at line 283 of file nummatrix.h.

284 {
285 std::vector<typename std::remove_const<typename std::remove_reference<decltype(this->data()[0])>::type>::type> ms(n, 0);
286 for (size_t i = 0; i < n; ++i)
287 for (size_t j = 0; j < m; ++j)
288 ms[i] += abs(this->data()[i*m + j]);
289 return std::max_element(ms.begin(), ms.end());
290 }

◆ operator std::vector< std::vector< T > >()

template<typename T , size_t n, size_t m>
VMlib::nummatrix< T, n, m >::operator std::vector< std::vector< T > > ( ) const
inline

Приведение матрицы к типу std::vector из std::vector.

Returns
вектор типа std::vector, состоящий из std::vector, являющихся строками матрицы

Definition at line 450 of file nummatrix.h.

451 {
452 std::vector<std::vector<T>> vec;
453 vec.reserve(n);
454 for (size_t i = 0; i < n; ++i)
455 {
456 vec[i].reserve(m);
457 for (size_t j = 0; j < m; ++j)
458 vec[i].push_back(this->data()[i*m + j]);
459 }
460 return vec;
461 }

◆ operator!=()

template<typename T , size_t n, size_t m>
template<typename P >
bool VMlib::nummatrix< T, n, m >::operator!= ( const nummatrix< P, n, m > &  y) const
inline

Перегрузка оператора "!=" логического неравенства

Template Parameters
Tтип данных
Pтип данных матрицы, с которой производится сравнение
nчисло строк
mчисло столбцов
Parameters
[in]yконстантная ссылка на сравниваемую матрицу
Returns
true, если матрицы различаются, false в противном случае

Definition at line 256 of file nummatrix.h.

257 {
258 return !(*this == y);
259 }//operator!=

◆ operator&() [1/2]

template<typename T , size_t n, size_t m>
template<typename P , size_t p>
auto VMlib::nummatrix< T, n, m >::operator& ( const nummatrix< P, m, p > &  B) const -> nummatrix<typename std::remove_const<decltype(this->data()[0] * B.data()[0])>::type, n, p>
inline

Умножение матрицы на матрицу

Template Parameters
Pтип данных матрицы - второго множителя
mчисло строк матрицы - второго множителя
pчисло столбцов матрицы - второго множителя
Parameters
[in]Bконстантная ссылка на матрицу
Returns
вектор — результат умножения матрицы на вектор
Todo:
напрашивается сразу инициализация нулем, а не последующее зануление всей матрицы

Definition at line 502 of file nummatrix.h.

504 {
506 nummatrix<typename std::remove_const<decltype(this->data()[0] * B.data()[0])>::type, n, p> res;
507
508 for (size_t i = 0; i < n; ++i)
509 for (size_t j = 0; j < p; ++j)
510 res[i][j] = 0;
511
512 for (size_t i = 0; i < n; ++i)
513 for (size_t j = 0; j < p; ++j)
514 for (size_t k = 0; k < m; ++k)
515 res[i][j] += (*this)[i][k] * B[k][j];
516 return res;
517 }//operator&
Шаблонный класс, определяющий матрицу фиксированного размера Фактически представляет собой массив,...
Definition nummatrix.h:66

◆ operator&() [2/2]

template<typename T , size_t n, size_t m>
template<typename P >
auto VMlib::nummatrix< T, n, m >::operator& ( const numvector< P, m > &  x) -> numvector<typename std::remove_const<decltype(this->data()[0] * x[0])>::type, n>
inline

Умножение матрицы на вектор

Template Parameters
Pтип данных вектора
nчисло строк матрицы
mчисло столбцов матрицы и длина вектора
Parameters
[in]xконстантная ссылка на вектор
Returns
вектор — результат умножения матрицы на вектор

Definition at line 483 of file nummatrix.h.

485 {
486 numvector<typename std::remove_const<decltype(this->data()[0] * x[0])>::type, n> res;
487
488 for (size_t i = 0; i < n; ++i)
489 res[i] = (*this)[i] & x;
490
491 return res;
492 }//operator&

◆ operator*()

template<typename T , size_t n, size_t m>
template<typename P >
auto VMlib::nummatrix< T, n, m >::operator* ( const P  c) const -> nummatrix<typename std::remove_const<decltype(this->data()[0] * c)>::type, n, m>
inline

Перегрузка оператора "*" умножения матрицы справа на число

Template Parameters
Pтип данных
Parameters
[in]cчисло-множитель
Returns
результат умножения вектора на число, приведенный к соответствующему типу

Definition at line 204 of file nummatrix.h.

205 {
206 nummatrix<typename std::remove_const<decltype(this->data()[0] * c)>::type, n, m> res;
207 for (size_t i = 0; i < n*m; ++i)
208 res.data()[i] = c * this->data()[i];
209 return res;
210 }//operator*

◆ operator*=()

template<typename T , size_t n, size_t m>
template<typename P >
nummatrix< T, n, m > & VMlib::nummatrix< T, n, m >::operator*= ( const P  c)
inline

Перегрузка оператора "*=" домножения матрицы на действительное число

Template Parameters
Tтип данных
Pтип множителя
nчисло строк
mчисло столбцов
Parameters
[in]cчисловой множитель типа, приводимого к типу компонент матрицы
Returns
ссылка на саму себя после домножения на число

Definition at line 103 of file nummatrix.h.

104 {
105 for (size_t i = 0; i < n*m; ++i)
106 this->data()[i] *= c;
107 return *this;
108 }//operator*=

◆ operator+()

template<typename T , size_t n, size_t m>
template<typename P >
auto VMlib::nummatrix< T, n, m >::operator+ ( const nummatrix< P, n, m > &  y) const -> nummatrix<typename std::remove_const<decltype(this->data()[0] + y.data()[0])>::type, n, m>
inline

Перегрузка оператора "+" сложения двух матриц

Template Parameters
Tтип данных
Pтип данных матрицы - второго слагаемого
nчисло строк
mчисло столбцов
Parameters
[in]yконстантная ссылка на прибавляемую матрицу
Returns
результат сложения двух матриц, приведенный к нужному типу

Definition at line 171 of file nummatrix.h.

172 {
173 nummatrix<typename std::remove_const<decltype(this->data()[0] + y.data()[0])>::type, n, m> res;
174 for (size_t i = 0; i < n*m; ++i)
175 res.data()[i] = this->data()[i] + y.data()[i];
176 return res;
177 }//operator+

◆ operator+=()

template<typename T , size_t n, size_t m>
template<typename P >
nummatrix< T, n, m > & VMlib::nummatrix< T, n, m >::operator+= ( const nummatrix< P, n, m > &  y)
inline

Перегрузка оператора "+=" прибавления другой матрицы

Template Parameters
Tтип данных
Pтип данных прибавляемой матрицы
nчисло строк
mчисло столбцов
Parameters
[in]yконстантная ссылка на прибавляемую матрицу
Returns
ссылка на саму себя после сложения с другой матрицей

Definition at line 137 of file nummatrix.h.

138 {
139 for (size_t i = 0; i < n*m; ++i)
140 this->data()[i] += y.data()[i];
141 return *this;
142 }//operator+=

◆ operator-() [1/2]

template<typename T , size_t n, size_t m>
nummatrix< T, n, m > VMlib::nummatrix< T, n, m >::operator- ( ) const
inline

Перегрузка оператора "-" унарного минуса

Template Parameters
Tтип данных
nчисло строк
mчисло столбцов
Returns
противоположная матрица

Definition at line 220 of file nummatrix.h.

221 {
223 for (size_t i = 0; i < n*m; ++i)
224 res.data()[i] = -this->data()[i];
225 return res;
226 }//operator-

◆ operator-() [2/2]

template<typename T , size_t n, size_t m>
template<typename P >
auto VMlib::nummatrix< T, n, m >::operator- ( const nummatrix< P, n, m > &  y) const -> nummatrix<typename std::remove_const<decltype(this->data()[0] - y.data()[0])>::type, n, m>
inline

Перегрузка оператора "-" вычитания двух матриц

Template Parameters
Tтип данных
Pтип данных матрицы - вычитаемого
nчисло строк
mчисло столбцов
Parameters
[in]yконстантная ссылка на вычитаемую матрицу
Returns
результат вычитания двух матриц, приведенный к нужному типу

Definition at line 189 of file nummatrix.h.

190 {
191 nummatrix<typename std::remove_const<decltype(this->data()[0] - y.data()[0])>::type, n, m> res;
192 for (size_t i = 0; i < n*m; ++i)
193 res.data()[i] = this->data()[i] - y.data()[i];
194 return res;
195 }//operator-

◆ operator-=()

template<typename T , size_t n, size_t m>
template<typename P >
nummatrix< T, n, m > & VMlib::nummatrix< T, n, m >::operator-= ( const nummatrix< P, n, m > &  y)
inline

Перегрузка оператора "-=" вычитания другой матрицы

Template Parameters
Tтип данных
Pтип данных вычитаемой матрицы
nчисло строк
mчисло столбцов
Parameters
[in]yконстантная ссылка на вычитаемую матрицу
Returns
ссылка на саму себя после вычитания другой матрицы

Definition at line 154 of file nummatrix.h.

155 {
156 for (size_t i = 0; i < n*m; ++i)
157 this->data()[i] -= y.data()[i];
158 return *this;
159 }//operator-=

◆ operator/=()

template<typename T , size_t n, size_t m>
template<typename P >
nummatrix< T, n, m > & VMlib::nummatrix< T, n, m >::operator/= ( const P  c)
inline

Перегрузка оператора "/=" деления матрицы на действительное число

Template Parameters
Tтип данных
Pтип множителя
nчисло строк
mчисло столбцов
Parameters
[in]cчисловой делитель типа, приводимого к типу компонент матрицы
Returns
ссылка на саму себя после деления на число

Definition at line 120 of file nummatrix.h.

121 {
122 for (size_t i = 0; i < n*m; ++i)
123 this->data()[i] /= c;
124 return *this;
125 }//operator/=

◆ operator==()

template<typename T , size_t n, size_t m>
template<typename P >
bool VMlib::nummatrix< T, n, m >::operator== ( const nummatrix< P, n, m > &  y) const
inline

Перегрузка оператора "==" логического равенства

Template Parameters
Tтип данных
Pтип данных матрицы, с которой производится сравнение
nчисло строк
mчисло столбцов
Parameters
[in]yконстантная ссылка на сравниваемую матрицу
Returns
true, если матрицы одинаковые, false в противном случае

Definition at line 238 of file nummatrix.h.

239 {
240 for (size_t i = 0; i < n*m; ++i)
241 if (this->data()[i] != y.data()[i])
242 return false;
243 return true;
244 }//operator==

◆ operator[]() [1/2]

template<typename T , size_t n, size_t m>
numvector< T, m > & VMlib::nummatrix< T, n, m >::operator[] ( size_t  i)
inline

Перегрузка оператора "[]" доступа к строке

Template Parameters
Tтип данных
Parameters
[in]iномер строки, к которой происходит обращение
Returns
Ссылка на numvector, соответствующий i-й строке матрицы

Definition at line 77 of file nummatrix.h.

78 {
79 return *(reinterpret_cast<numvector<T, m>*>(this->data() + (i*m)));
80 }

◆ operator[]() [2/2]

template<typename T , size_t n, size_t m>
const numvector< T, m > & VMlib::nummatrix< T, n, m >::operator[] ( size_t  i) const
inline

Перегрузка оператора "[]" доступа к строке

Template Parameters
Tтип данных
Parameters
[in]iномер строки, к которой происходит обращение
Returns
Константная сылка на numvector, соответствующий i-й строке матрицы

Definition at line 87 of file nummatrix.h.

88 {
89 return *(reinterpret_cast<const numvector<T, m>*>(this->data() + (i*m)));
90 }

◆ size()

template<typename T , size_t n, size_t m>
std::pair< size_t, size_t > VMlib::nummatrix< T, n, m >::size ( ) const
inline

Вычисление размерности матрицы (числа строк и столбцов в ней)

Returns
размерность матрицы (в виде пары чисел - число строк, число столбцов)

Definition at line 265 of file nummatrix.h.

265{ return{ n, m }; }

◆ sym()

template<typename T , size_t n, size_t m>
nummatrix< T, n, n > VMlib::nummatrix< T, n, m >::sym ( ) const
inline

Симметрирование матрицы

Template Parameters
Tтип данных
nчисло строк и столбцов
Returns
симметричную часть матрицы

Definition at line 341 of file nummatrix.h.

342 {
343 return (*this + this->t())*0.5;
344 }
nummatrix< T, m, n > t() const
Definition nummatrix.h:327
Here is the call graph for this function:

◆ t()

template<typename T , size_t n, size_t m>
nummatrix< T, m, n > VMlib::nummatrix< T, n, m >::t ( ) const
inline

Транспонирование матрицы

Template Parameters
Tтип данных
nчисло строк
mчисло столбцов
Returns
транспонированную матрицу

Definition at line 327 of file nummatrix.h.

328 {
330 for (size_t i = 0; i < n; ++i)
331 for (size_t j = 0; j < m; ++j)
332 res[j][i] = (*this)[i][j];
333 return res;
334 }
Here is the caller graph for this function:

◆ toIdentity()

template<typename T , size_t n, size_t m>
nummatrix< T, n, n > & VMlib::nummatrix< T, n, m >::toIdentity ( )
inline

Установка матрицы в единичную

Template Parameters
Tтип данных
nчисло строк и столбцов
Returns
ссылка на саму матрицу

Definition at line 313 of file nummatrix.h.

314 {
315 for (size_t i = 0; i < n; ++i)
316 for (size_t j = 0; j < m; ++j)
317 this->data()[i*m + j] = (i == j) ? 1 : 0;
318 return *this;
319 }

◆ toZero()

template<typename T , size_t n, size_t m>
nummatrix< T, n, m > & VMlib::nummatrix< T, n, m >::toZero ( val = 0.0)
inline

Установка всех компонент матрицы в константу (по умолчанию — нуль)

Template Parameters
Tтип данных
nчисло строк
mчисло столбцов
Parameters
[in]valконстанта, значению которой приравниваются все компоненты матрицы (по умолчанию 0.0)
Returns
ссылка на саму матрицу

Definition at line 300 of file nummatrix.h.

301 {
302 for (size_t i = 0; i < n*m; ++i)
303 this->data()[i] = val;
304 return *this;
305 }

◆ transpose()

template<typename T , size_t n, size_t m>
nummatrix< T, m, n > VMlib::nummatrix< T, n, m >::transpose ( ) const
inline

Транспонирование

Definition at line 465 of file nummatrix.h.

466 {
468 for (size_t i = 0; i < n; ++i)
469 for (size_t j = 0; j < m; ++j)
470 res[j][i] = this->data()[i*m + j];
471 return res;
472 }//Transpose(...)

Member Data Documentation

◆ elements

T std::array< T >::elements
inherited

STL member.


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