Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения

Sparse Matrix

Boost , ,

Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

Sparse Matricies

Mapped Matrix

Description

Шаблонный класс mapped_matrix является базовым контейнерным адаптером для редких матриц с использованием карт элементов. >> >>>>>>>1>>>>> >>>>>>> >>>>>>>> >>>>> >>>> >>>>>> >>>>>> >>> >>>>>>>>> >>>>>>> >>>>>> >>>>>>> >>>>>>>>>>> >>>>> >>>>>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >>>>>>>>>> >>>>>>>>>>>>>>> i13> или >>>>1>>>3>>2>>>2>>>>>2>>>>><310>>>>2>>>3>>>>>>>>>>>>>>>>>.

Example

#include <boost/numeric/ublas/matrix_sparse.hpp>
#include <boost/numeric/ublas/io.hpp>
int main () {
    using namespace boost::numeric::ublas;
    mapped_matrix<double> m (3, 3, 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;
}

Definition

Определен в заголовке матрица_sparse.hpp.

Template parameters

Parameter Description Default
T Тип объекта, хранящегося в картированной матрице.
F Функтор описывает организацию хранения. [1] row_major
A Тип адаптированного массива. [2] map_std

Model of

Matrix.

Type requirements

Нет, кроме тех, которые установлены требованиями Matrix.

Public base classes

matrix_container

Members

Member Description
mapped_matrix () Allocates a mapped_matrix, которая удерживает в большинстве нулевых рядов нулевых элементов.
mapped_matrix (size_type1, size_type2, size_type non_zeros = 0) Allocates a mapped_matrix, который содержит по крайней мере size1 строки size2 элементов.
mapped_matrix (const mapped_matrix &m) Копировальный конструктор.
template
mapped_matrix (size_type non_zeros, const Matrix_expression &ae)
Расширенный конструктор копий.
void resize (size_type1, size_type2, bool preserve = true) Перераспределяет mapped_matrix, чтобы удерживать максимум size1 ряды size2 элементов. Существующие элементы mapped_matrix предопределены при указании.
size_type1 () const Возвращает количество рядов.
size_type2 () const Возвращает число столбцов.
const_reference operation () (size_type i, size_type j) const Возвращает значение элемента j в строке i.
ссылочный оператор () (size_type i, size_type j) Description.
mapped_matrix &operator = (const mapped_matrix &m) Оператор назначения.
mapped_matrix &assign_temporary (mapped_matrix &m) Назначает временный. Может изменить отображенную матрицу m.
template
mapped_matrix &operator = (const Matrix_expression &ae)
Оператор расширенного назначения.
template
mapped_matrix &assign (const Matrix_expression &ae)
Назначает матричное выражение на отображенную матрицу. Левая и правая сторона уступки должна быть независимой.
template
mapped_matrix &operator += (const Matrix_expression &ae)
Расчетный оператор назначения. Добавляет выражение матрицы к картированной матрице.
template
mapped_matrix &plus_assign (const Matrix_expression &ae)
Добавляет матричное выражение в отображенную матрицу. Левая и правая сторона уступки должна быть независимой.
template
mapped_matrix &operator -= (const Matrix_expression &ae)
Расчетный оператор назначения. Вычитывает матрицу из картированной матрицы.
template
mapped_matrix &minus_assign (const Matrix_expression &ae)
Вычитывает матричное выражение из картированной матрицы. Левая и правая сторона уступки должна быть независимой.
template
mapped_matrix &operator *= (const AT &at)
Расчетный оператор назначения. Умножает картированную матрицу с скаляром.
template
mapped_matrix &operator /= (const AT &at)
Расчетный оператор назначения. Разделяет на карту матрицу через скаляр.
(mapped_matrix &m) Перекрывает содержимое картированных матриц.
true_refrence entry_element (size_type i, size_type j, const_reference t) Вставляет значение t на j-й элемент i-й ряд. Элементы дубликатов не допускаются.
void delete_element (size_type i, size_type j) Рассказывает значение в элементе j-я в строке i.
прозрачный () Очищает карту.
const_iterator1 start1 () const Description.
const_iterator1 end1 () const Description.
iterator1 start1 () Description.
iterator1 end1 () Description.
const_iterator2 start2 () const Description.
const_iterator2 end2 () const Description.
iterator2 start2 () Description.
iterator2 end2 () Description.
const_reverse_iterator1 rbegin1 () const Description.
const_reverse_iterator1 rend1 () const Description.
reverse_iterator1 rbegin1 () Description.
reverse_iterator1 rend1 () Description.
const_reverse_iterator2 rbegin2 () const Description.
const_reverse_iterator2 rend2 () const Description.
reverse_iterator2 rbegin2 () Description.
reverse_iterator2 rend2 () Description.

Notes

[1] Поддерживаемые параметры для организации хранения являются row_major и column_major.

[2] Поддерживаемые параметры адаптированного массива: map_array и map_std. Последняя эквивалентна std::map.

Compressed Matrix

Description

Шаблонный класс compressed_matrix является базовым контейнерным адаптером для сжатых матриц. > >>>>>>>>>>> >>>>>>>> >>>>>>>>>> >>>>>>>> >>>>>>>> >>>>>>1>>>> >>>>>> >>>>>> >>>> >>>>> >>>>>> >>>>>>>>>>> >>>> >>>>>>>>>>>>>>>>>>>>>>>>> >> >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>>>> >>>>>>>>>>>>>>> i13> или >>>>1>>>3>>2>>>2>>>>>2>>>>><310>>>>2>>>3>>>>>>>>>>>>>>>>>.

Example

#include <boost/numeric/ublas/matrix_sparse.hpp>
#include <boost/numeric/ublas/io.hpp>
int main () {
    using namespace boost::numeric::ublas;
    compressed_matrix<double> m (3, 3, 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;
}

Definition

Определен в заголовке матрица_sparse.hpp.

Template parameters

Parameter Description Default
T Тип объекта, хранящегося в сжатой матрице.
F Функтор описывает организацию хранения. [1] row_major
IB Индексная база сжатого вектора. [2] 0
IA Тип адаптированного массива для индексов. [3] unbounded_array
TA Тип адаптированного массива для значений. [3] unbounded_array

Model of

Matrix.

Type requirements

Нет, кроме тех, которые установлены требованиями Matrix.

Public base classes

matrix_container

Members

Member Description
compressed_matrix () Allocates a compressed_matrix, которая удерживает в большинстве нулевых рядов нулевых элементов.
compressed_matrix (size_type1, size_type2, size_type non_zeros = 0) Аллоцирует compressed_matrix, который удерживает максимум size1 ряды size2 элементов.
compressed_matrix (constpress_matrix &m) Копировальный конструктор.
template
сжатый_matrix (size_type non_zeros, const Matrix_expression &ae)
Расширенный конструктор копий.
void resize (size_type1, size_type2, bool preserve = true) Перераспределяет compressed_matrix, чтобы удерживать максимум size1 ряды size2 элементов. Существующие элементы compressed_matrix предопределены при указании.
size_type1 () const Возвращает количество рядов.
size_type2 () const Возвращает число столбцов.
const_reference operation () (size_type i, size_type j) const Возвращает значение элемента j в строке i.
ссылочный оператор () (size_type i, size_type j) Description.
compressed_matrix &operator = (constpress_matrix &m) Оператор назначения.
compressed_matrix &assign_temporary (compressed_matrix &m) Назначает временный. Может изменить сжатую матрицу m.
template
сжатый_matrix &operator = (const Matrix_expression &ae)
Оператор расширенного назначения.
template
сжатый_matrix &assign (const Matrix_expression &ae)
Назначает матричное выражение на сжатую матрицу. Левая и правая сторона уступки должна быть независимой.
template
сжатый_matrix &operator += (const Matrix_expression &ae)
Расчетный оператор уступки. Добавляет выражение матрицы в сжатую матрицу.
template
сжатый_matrix &plus_assign (const Matrix_expression &ae)
Добавляет матричное выражение в сжатую матрицу. Левая и правая сторона уступки должна быть независимой.
template
сжатый_matrix &operator -= (const Matrix_expression &ae)
Расчетный оператор назначения. Вычитывает выражение матрицы из сжатой матрицы.
template
сжатый_matrix &minus_assign (const Matrix_expression &ae)
Вычитывает матричное выражение из сжатой матрицы. Левая и правая сторона уступки должна быть независимой.
template
сжатый_matrix &operator *= (const AT &at)
Расчетный оператор назначения. Умножает сжатую матрицу с помощью скаляра.
template
сжатый_matrix &operator /= (const AT &at)
Расчетный оператор назначения. Разделяет сжатую матрицу через скаляр.
(compressed_matrix &m) Перекрывает содержимое сжатых матриц.
правда_ссылка_элемент (size_type i, size_type j, const_reference t) Вставляет значение t на j-й элемент i-й ряд. Элементы дубликатов не допускаются.
void delete_element (size_type i, size_type j) Рассказывает значение в элементе j-я в строке i.
прозрачный () Очищает сжатую матрицу.
const_iterator1 start1 () const Description.
const_iterator1 end1 () const Description.
iterator1 start1 () Description.
iterator1 end1 () Description.
const_iterator2 start2 () const Description.
const_iterator2 end2 () const Description.
iterator2 start2 () Description.
iterator2 end2 () Description.
const_reverse_iterator1 rbegin1 () const Description.
const_reverse_iterator1 rend1 () const Description.
reverse_iterator1 rbegin1 () Description.
reverse_iterator1 rend1 () Description.
const_reverse_iterator2 rbegin2 () const Description.
const_reverse_iterator2 rend2 () const Description.
reverse_iterator2 rbegin2 () Description.
reverse_iterator2 rend2 () Description.

Notes

[1] Поддерживаемые параметры для организации хранения являются row_major и column_major.

[2] Поддерживаемые параметры для индексной базы являются 0 и 1 по крайней мере.

[3] Поддерживаемые параметры для адаптированного массива: unbounded_array<>, bounded_array<> и std::vector<>.

Coordinate Matrix

Description

Шаблонный класс coordinate_matrix является базовым контейнерным адаптером для сжатых матриц. > >>>>>> >>>>>>> >>>>>>>> >>>>>>>>> >>>>>> >>>>>>> >>>>> >>>> >>>>>> >>>>>>>> >>>> >>>>> >>> >>>>>>>>>>> >>>>>>>>>>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>>>>>>>>>>>>>>>>>>> >>> >>>>>>>>>>>>>>>>>>>>>>> i13> или >>>1>>3>>2>>>3>>>2>>>>2>>>>>><310>>>2>2>>>>>>>>>>>>>>>>>>>>.

Example

#include <boost/numeric/ublas/matrix_sparse.hpp>
#include <boost/numeric/ublas/io.hpp>
int main () {
    using namespace boost::numeric::ublas;
    coordinate_matrix<double> m (3, 3, 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;
}

Definition

Определен в заголовке матрица_sparse.hpp.

Template parameters

Parameter Description Default
T Тип объекта, хранящегося в матрице координат.
F Функтор описывает организацию хранения. [1] row_major
IB Индексная база вектора координат. [2] 0
IA Тип адаптированного массива для индексов. [3] unbounded_array
TA Тип адаптированного массива для значений. [3] unbounded_array

Model of

Matrix.

Type requirements

Нет, кроме тех, которые установлены требованиями Matrix.

Public base classes

matrix_container

Members

Member Description
координаты_матрицы () Allocates a coordinate_matrix, которая удерживает в большинстве нулевых рядов элементов.
coordinate_matrix (size_type1, size_type2, size_type non_zeros = 0) Аллоцирует coordinate_matrix, которая удерживает максимум size1 ряды size2 элементов.
coordinate_matrix (const coordinate_matrix &m) Копировальный конструктор.
template
coordinate_matrix (size_type non_zeros, const Matrix_expression &ae)
Расширенный конструктор копий.
void resize (size_type1, size_type2, bool preserve = true) Перераспределяет coordinate_matrix, чтобы удерживать максимум size1 ряды size2 элементов. Существующие элементы coordinate_matrix предопределены при указании.
size_type1 () const Возвращает количество рядов.
size_type2 () const Возвращает число столбцов.
const_reference operation () (size_type i, size_type j) const Возвращает значение элемента j в строке i.
ссылочный оператор () (size_type i, size_type j) Description.
coordinate_matrix &operator = (const coordinate_matrix &m) Оператор назначения.
coordinate_matrix &assign_temporary (coordinate_matrix &m) Назначает временный. Может изменить матрицу координат m.
template
coordinate_matrix &operator = (const Matrix_expression &ae)
Оператор расширенного назначения.
template
coordinate_matrix &assign (const Matrix_expression < < < <&ae)
Назначает матрицу матрицы координат. Левая и правая сторона уступки должна быть независимой.
template
coordinate_matrix &operator += (const Matrix_expression &ae)
Расчетный оператор уступки. Добавляет выражение матрицы в матрицу координат.
template
coordinate_matrix &plus_assign (const Matrix_expression &ae)
Добавляет выражение матрицы в матрицу координат. Левая и правая сторона уступки должна быть независимой.
template
coordinate_matrix &operator -= (const Matrix_expression &ae)
Расчетный оператор назначения. Вычитывает выражение матрицы из матрицы координат.
template
coordinate_matrix &minus_assign (const Matrix_expression &ae)
Вычитывает матричное выражение из матрицы координат. Левая и правая сторона уступки должна быть независимой.
template
coordinate_matrix &operator *= (const AT &at)
Расчетный оператор назначения. Умножает матрицу координат с помощью скаляра.
template
coordinate_matrix &operator /= (const AT &at)
Расчетный оператор назначения. Разделяет матрицу координат через скаляр.
замен (coordinate_matrix &m) Перекрывает содержимое матриц координат.
правда_ссылка_элемент (size_type i, size_type j, const_reference t) Вставляет значение t на j-й элемент i-й ряд. Элементы дубликатов не допускаются.
void append_element (size_type i, size_type j, const_reference t) Добавляет значение t на j-й элемент i-й ряд. Дублирующие элементы могут быть добавлены к coordinate_matrix. Они сливаются в один арифметически суммированный элемент функцией sort.
void delete_element (size_type i, size_type j) Рассказывает значение в элементе j-я в строке i.
прозрачный () Вычисляет матрицу координат.
const_iterator1 start1 () const Description.
const_iterator1 end1 () const Description.
iterator1 start1 () Description.
iterator1 end1 () Description.
const_iterator2 start2 () const Description.
const_iterator2 end2 () const Description.
iterator2 start2 () Description.
iterator2 end2 () Description.
const_reverse_iterator1 rbegin1 () const Description.
const_reverse_iterator1 rend1 () const Description.
reverse_iterator1 rbegin1 () Description.
reverse_iterator1 rend1 () Description.
const_reverse_iterator2 rbegin2 () const Description.
const_reverse_iterator2 rend2 () const Description.
reverse_iterator2 rbegin2 () Description.
reverse_iterator2 rend2 () Description.

Notes

[1] Поддерживаемые параметры для организации хранения являются row_major и column_major.

[2] Поддерживаемые параметры для индексной базы являются 0 и 1 по крайней мере.

[3] Поддерживаемые параметры для адаптированного массива: unbounded_array<>, bounded_array<> и std::vector<>.


Copyright (©) 2000-2002 Joerg Walter, Mathias Koch
Использование, модификация и распространение подлежат лицензии Boost Software, Version 1.0. (См. сопроводительный файл LICENSE_1_0.txt или копия на http://www.boost.org/LICENSE_1_0.txt ).

Статья Sparse Matrix раздела может быть полезна для разработчиков на c++ и boost.




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.



:: Главная :: ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-08-30 11:47:00
2025-05-19 21:10:11/0.029973030090332/1