Шаблонный класс matrix<T, F, A>
является
базовым контейнерным адаптером для плотных матриц. Для (m x
n)-размерной матрицы и 0 <= i < m, 0 <= j
< n каждый элемент mi, j отображается в
(i x n + j)-й элемент контейнера для главного направления
строки или (i + j x m)-й элемент контейнера для главного
направления колонки.
#include <boost/numeric/ublas/matrix.hpp> #include <boost/numeric/ublas/io.hpp> int main () { using namespace boost::numeric::ublas; matrix<double> m (3, 3); for (unsigned i = 0; i < m.size1 (); ++ i) for (unsigned j = 0; j < m.size2 (); ++ j) m (i, j) = 3 * i + j; std::cout << m << std::endl; }
Будет выведено на экран:
[3,3]((0,1,2),(3,4,5),(6,7,8))
Определено в заголовочном файле matrix.hpp.
Параметр |
Описание |
Значение по умолчанию |
---|---|---|
|
Тип объектов, размещаемых в матрице. |
|
|
Функция, определяющая организацию хранения. [1] |
|
|
Тип массива Storage (хранилища). [2] |
|
Функция-член |
Описание |
---|---|
|
Создает пустую матрицу |
|
Создает пустую матрицу |
|
Конструктор копирования. |
|
Расширенный конструктор копирования. |
|
Переинициализирует объект |
|
Возврящает число строк. |
|
Возвращает число столбцов. |
|
|
|
|
|
Возвращает |
|
Возвращает ссылку на |
|
Оператор присваивания. |
|
Устанавливает временную матрицу. Может изменять матрицу |
|
Расширенный оператор присваивания. |
|
Задает матричное выражение для матрицы. Левая и правая части присваивания должны быть независимыми. |
|
Вычисленный оператор присваивания. Добавляет матричное выражение к матрице. |
|
Добавляет матричное выражение к матрице. Левая и правая части присваивания должны быть независимыми. |
|
Вычисленный оператор присваивания. Вычитает матричное выражение из матрицы. |
|
Вычитает матричное выражение из матрицы. Левая и правая части присваивания должны быть независимыми. |
|
Вычисленный оператор присваивания. Умножает матрицу на число. |
|
Вычисленный оператор присваивания. Делит матрицу на число. |
|
Обменивает содержимое матриц. |
|
Вставляет значение |
|
Удаляет значение |
|
Очищает матрицу. |
|
Возвращает |
|
Возвращает |
|
Возвращает |
|
Возвращает |
|
Возвращает |
|
Возвращает |
|
Возвращает |
|
Возвращает |
|
Возвращает |
|
Возвращает |
|
Возвращает |
|
Возвращает |
|
Возвращает |
|
Возвращает |
|
Возвращает |
|
Возвращает |
[1] Поддерживаемые параметры организации
хранения: row_major
и column_major
.
[2] Основные параметры для массива:
unbounded_array<T>
, bounded_array<T>
и std::vector<T>
.
Шаблонный класс identity_matrix<T>
представляет
единичные матрицы. Для (m x n)-размерной единичной матрицы и
0 <= i < m, 0 <= j < n элементы idi,
j = 0, если i <> j, и idi,
i= 1.
#include <boost/numeric/ublas/matrix.hpp> #include <boost/numeric/ublas/io.hpp> int main () { using namespace boost::numeric::ublas; identity_matrix<double> m (3); std::cout << m << std::endl; }
Будет выведено на экран:
[3,3]((1,0,0),(0,1,0),(0,0,1))
Определена в заголовочном файле matrix.hpp.
Параметр |
Описание |
Значение по умолчанию |
---|---|---|
|
Тип объектов, размещаемых в матрице. |
|
Функции-члены |
Описание |
---|---|
|
Создает объект класса |
|
Создает объект класса |
|
Конструктор копирования. |
|
Изменяет размер |
|
Возвращает число строк. |
|
Возвращает число столбцов. |
|
Возвращает значение элемента в |
|
Оператор присваивания. |
|
Устанавливает временную матрицу. Может изменять единичную
матрицу |
|
Обменивает содержимое единичных матриц. |
|
Вовзвращает |
|
Вовзвращает |
|
Вовзвращает |
|
Вовзвращает |
|
Вовзвращает |
|
Вовзвращает |
|
Вовзвращает |
|
Вовзвращает |
Шаблонный класс zero_matrix<T>
представляет
нулевые матрицы. В (m x n)-размерной нулевой матрице и 0
<= i < m, 0 <= j < n содержатся элементы
zi, j = 0.
#include <boost/numeric/ublas/matrix.hpp> #include <boost/numeric/ublas/io.hpp> int main () { using namespace boost::numeric::ublas; zero_matrix<double> m (3, 3); std::cout << m << std::endl; }
Будет выведено на экран:
[3,3]((0,0,0),(0,0,0),(0,0,0))
Определена в заголовочном файле matrix.hpp.
Параметр |
Описание |
Значение по умолчанию |
---|---|---|
|
Тип объектов, размещаемых в матрице. |
|
Функции-члены |
Описание |
---|---|
|
Создает объект класса |
|
Создает объект класса |
|
Конструктор копирования. |
|
Изменяет размер |
|
Возвращает количество строк. |
|
Возвращает количество столбцов. |
|
Возвращает значение элемента в |
|
Оператор присваивания. |
|
Устанавливает временную матрицу. Может изменять нулевую
матрицу |
|
Обменивает содержимое единичных матриц. |
|
Возвращает |
|
Возвращает |
|
Возвращает |
|
Возвращает |
|
Возвращает |
|
Возвращает |
|
Возвращает |
|
Возвращает |
Шаблонный класс scalar_matrix<T>
представляет
скалярные матрицы. Для (m x n)-размерной скалярной матрицы и
0 <= i < m, 0 <= j < n элементы zi,
j = s.
#include <boost/numeric/ublas/matrix.hpp> #include <boost/numeric/ublas/io.hpp> int main () { using namespace boost::numeric::ublas; scalar_matrix<double> m (3, 3); std::cout << m << std::endl; }
Будет выведено на экран:
[3,3]((1,1,1),(1,1,1),(1,1,1))
Определена в заголовочном файле matrix.hpp.
Параметр |
Описание |
Значение по умолчанию |
---|---|---|
|
Тип объектов, размещаемых в матрице. |
|
Функции-члены |
Описание |
---|---|
|
Создает |
|
Создает |
|
Конструктор копирования. |
|
Изменяет размер |
|
Возвращает число строк. |
|
Возвращает число столбцов. |
|
Возвращает значение элемента в |
|
Оператор присваивания. |
|
Устанавливает временную матрицу. Может изменять скалярную
матрицу |
|
Обменивает содержимое скалярных матриц. |
|
Возвращает |
|
Возвращает |
|
Возвращает |
|
Возвращает |
|
Возвращает |
|
Возвращает |
|
Возвращает |
|
Возвращает |
Copyright (©) 2000-2002 Joerg Walter, Mathias Koch
Permission
to copy, use, modify, sell and distribute this document is granted
provided this copyright notice appears in all copies. This document
is provided ``as is'' without express or implied warranty, and with
no claim as to its suitability for any purpose.
Перевод с оригинала: Кулиш. В. И. 2006 год.