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

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

Matrix

Matrix

Description

Шаблонный класс<matrix<T, F, A>>является базовым адаптером контейнера для плотных матриц. Для(m x n)-мерной матрицы и0<= i< m,0<= j< nкаждый элементmi, jотображается на(i x n + j)-элемент контейнера для основной ориентации строки или(i + j x m)-элемент контейнера для основной ориентации колонки.

Example

#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;
}

Definition

Определяется в заголовке matrix.hpp.

Template parameters

Parameter Description Default
<T> Тип объекта, хранящегося в матрице.
<F> Функтор, описывающий организацию хранения. <row_major>
<A> Тип хранилищамассив <unbounded_array<T>>

Model of

Матрица.

Type requirements

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

Public base classes

<matrix_container<matrix<T, F, A> >>

Members

Member Description
<matrix ()> Выделяет неинициализированный<matrix>, который содержит нулевые строки нулевых элементов.
<matrix (size_type size1, size_type size2)> При этом он выделяет неинициализированный<matrix>, который содержит<size1>ряды<size2>элементов.
<matrix (const matrix &m)> Конструктор копий.
<template<class AE>
matrix (const matrix_expression<AE> &ae)
>
Конструктор расширенной копии.
<void resize (size_type size1, size_type size2, bool preserve = true)> <matrix>,<size1>,<size2>,<size2>,<size2>,<size1>,<size2>,<size2>. Существующие элементы<matrix>предвидены, когда указано.
<size_type size1 () const> Возвращает количество строк.
<size_type size2 () const> Возвращает количество колонок.
<const array_type& data () const>
<array_type& data ()>
<const_reference operator () (size_type i, size_type j) const> Возвращает<const>ссылку<j>— элемента в<i>— ряду.
<reference operator () (size_type i, size_type j)> Возвращает ссылку на<j>-й элемент в<i>-й строке.
<matrix &operator = (const matrix &m)> Оператор назначения.
<matrix &assign_temporary (matrix &m)> Назначает временное. Может изменить матрицу<m>.
<template<class AE>
matrix &operator = (const matrix_expression<AE> &ae)
>
Оператор расширенного назначения.
<template<class AE>
matrix &assign (const matrix_expression<AE> &ae)
>
Назначает матричную экспрессию матрице. Левая и правая стороны задания должны быть независимыми.
<template<class AE>
matrix &operator += (const matrix_expression<AE> &ae)
>
Вычисленный оператор назначения. Добавляет выражение матрицы к матрице.
<template<class AE>
matrix &plus_assign (const matrix_expression<AE> &ae)
>
В матрицу добавляется выражение матрицы. Левая и правая стороны задания должны быть независимыми.
<template<class AE>
matrix &operator -= (const matrix_expression<AE> &ae)
>
Вычисленный оператор назначения. Вычитает выражение матрицы из матрицы.
<template<class AE>
matrix &minus_assign (const matrix_expression<AE> &ae)
>
Вычитает выражение матрицы из матрицы. Левая и правая стороны задания должны быть независимыми.
<template<class AT>
matrix &operator *= (const AT &at)
>
Вычисленный оператор назначения. Умножает матрицу на скаляр.
<template<class AT>
matrix &operator /= (const AT &at)
>
Вычисленный оператор назначения. Разделяет матрицу через скаляр.
<void swap (matrix &m)> Изменяет содержимое матриц.
<void insert_element (size_type i, size_type j, const_reference t)> Вставить значение<t>в<j>- элемент<i>- ряд.
<void erase_element (size_type i, size_type j)> Стирает значение в<j>- элементе<i>- строки.
<void clear ()> Очистить матрицу.
<const_iterator1 begin1 () const> <const_iterator1>Возвращается, указывая на начало<matrix>.
<const_iterator1 end1 () const> Вернется<const_iterator1>, указывая на конец<matrix>.
<iterator1 begin1 ()> <iterator1>, что указывает на начало<matrix>.
<iterator1 end1 ()> <iterator1>Возвращается, указывая на конец<matrix>.
<const_iterator2 begin2 () const> <const_iterator2>, что указывает на начало<matrix>.
<const_iterator2 end2 () const> <const_iterator2>Возвращается, указывая на конец<matrix>.
<iterator2 begin2 ()> <iterator2>, что указывает на начало<matrix>.
<iterator2 end2 ()> <iterator2>Возвращается, указывая на конец<matrix>.
<const_reverse_iterator1 rbegin1 () const> Возвращает<const_reverse_iterator1>, указывая на начало обратного<matrix>.
<const_reverse_iterator1 rend1 () const> Возвращает<const_reverse_iterator1>, указывая на конец обратного<matrix>.
<reverse_iterator1 rbegin1 ()> Возвращает<reverse_iterator1>, указывая на начало обратного<matrix>.
<reverse_iterator1 rend1 ()> Возвращает<reverse_iterator1>, указывая на конец обратного<matrix>.
<const_reverse_iterator2 rbegin2 () const> Возвращает<const_reverse_iterator2>, указывая на начало обратного<matrix>.
<const_reverse_iterator2 rend2 () const> <const_reverse_iterator2>возвращает<matrix>указание на конец обратного<const_reverse_iterator2>.
<reverse_iterator2 rbegin2 ()> Возвращает<reverse_iterator2>, указывая на начало обратного<matrix>.
<reverse_iterator2 rend2 ()> Возвращает<reverse_iterator2>, указывая на конец обратного<matrix>.

Notes

Поддерживаемые параметры для организации хранения<row_major>и<column_major>.

Общие параметры для массива хранения<unbounded_array<T>>,<bounded_array<T>>и<std::vector<T>>.

Identity Matrix

Description

Класс шаблонов<identity_matrix<T, ALLOC>>представляет матрицы идентичности. Для(m x n)-мерной матрицы идентичности и0<= i< m,0<= j< nудерживаетidi, j= 0, еслиi<>jиidi, i= 1.

Example

#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;
}

Definition

Определяется в заголовке matrix.hpp.

Template parameters

Parameter Description Default
<T> Тип объекта, хранящегося в матрице. <int>
<ALLOC> Распределитель STL для размера_типа и различия_типа. Источник: Allocator

Model of

Матрица.

Type requirements

Ни один, кроме тех, которые налагаются требованиямиМатрица.

Public base classes

<matrix_container<identity_matrix<T> >>

Members

Member Description
<identity_matrix ()> Конструирует<identity_matrix>, который содержит нулевые строки нулевых элементов.
<identity_matrix (size_type size)> Построено<identity_matrix>, которое содержит<size>ряды<size>элементов.
<identity_matrix (const identity_matrix &m)> Конструктор копий.
<void resize (size_type size, bool preserve = true)> <identity_matrix>, чтобы удерживать<size>ряды<size>элементов. Поэтому существующие элементы<itendity_matrix>всегда предвидены.
<size_type size1 () const> Возвращает количество строк.
<size_type size2 () const> Возвращает количество колонок.
<const_reference operator () (size_type i, size_type j) const> Возвращает значение<j>— элемента в<i>— ряду.
<identity_matrix &operator = (const identity_matrix &m)> Оператор назначения.
<identity_matrix &assign_temporary (identity_matrix &m)> Назначает временное. Может изменить матрицу идентичности<m>.
<void swap (identity_matrix &m)> Обменяет содержимое матриц идентичности.
<const_iterator1 begin1 () const> Возвращает<const_iterator1>, указывая на начало<identity_matrix>.
<const_iterator1 end1 () const> <const_iterator1>, что указывает на конец<identity_matrix>.
<const_iterator2 begin2 () const> <const_iterator2>, что указывает на начало<identity_matrix>.
<const_iterator2 end2 () const> <const_iterator2>, что указывает на конец<identity_matrix>.
<const_reverse_iterator1 rbegin1 () const> Возвращает<const_reverse_iterator1>, указывая на начало обратного<identity_matrix>.
<const_reverse_iterator1 rend1 () const> Возвращает<const_reverse_iterator1>, указывая на конец обратного<identity_matrix>.
<const_reverse_iterator2 rbegin2 () const> Возвращает<const_reverse_iterator2>, указывая на начало обратного<identity_matrix>.
<const_reverse_iterator2 rend2 () const> На обратном пути<const_reverse_iterator2>указывается обратный<identity_matrix>.

Zero Matrix

Description

Класс шаблонов<zero_matrix<T, ALLOC>>представляет нулевые матрицы. Для(m x n)-мерной нулевой матрицы и0<= i< m,0<= j< nудерживаетzi, j= 0.

Example

#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;
}

Definition

Определяется в заголовке matrix.hpp.

Template parameters

Parameter Description Default
<T> Тип объекта, хранящегося в матрице. <int>
<ALLOC> Распределитель STL для размера_типа и различия_типа. Источник: Allocator

Model of

Матрица.

Type requirements

Ни один, кроме тех, которые налагаются требованиямиМатрица.

Public base classes

<matrix_container<zero_matrix<T> >>

Members

Member Description
<zero_matrix ()> Конструирует<zero_matrix>, который содержит нулевые строки нулевых элементов.
<zero_matrix (size_type size1, size_type size2)> Построено<zero_matrix>, которое содержит<size1>ряды<size2>элементов.
<zero_matrix (const zero_matrix &m)> Конструктор копий.
<void resize (size_type size1, size_type size2, bool preserve = true)> <zero_matrix>, чтобы удерживать<size1>ряды<size2>элементов. Поэтому существующие элементы<zero_matrix>всегда предвидены.
<size_type size1 () const> Возвращает количество строк.
<size_type size2 () const> Возвращает количество колонок.
<const_reference operator () (size_type i, size_type j) const> Возвращает значение<j>— элемента в<i>— ряду.
<zero_matrix &operator = (const zero_matrix &m)> Оператор назначения.
<zero_matrix &assign_temporary (zero_matrix &m)> Назначает временное. Может изменять нулевую матрицу<m>.
<void swap (zero_matrix &m)> Изменяет содержимое нулевых матриц.
<const_iterator1 begin1 () const> <const_iterator1>, что указывает на начало<zero_matrix>.
<const_iterator1 end1 () const> Возвращает<const_iterator1>, указывая на конец<zero_matrix>.
<const_iterator2 begin2 () const> Возвращает<const_iterator2>, указывая на начало<zero_matrix>.
<const_iterator2 end2 () const> Возвращает<const_iterator2>, указывая на конец<zero_matrix>.
<const_reverse_iterator1 rbegin1 () const> Возвращает<const_reverse_iterator1>, указывая на начало обратного<zero_matrix>.
<const_reverse_iterator1 rend1 () const> <const_reverse_iterator1>возвращает<zero_matrix>, указывая на конец обратного<zero_matrix>.
<const_reverse_iterator2 rbegin2 () const> Возвращает<const_reverse_iterator2>, указывая на начало обратного<zero_matrix>.
<const_reverse_iterator2 rend2 () const> <const_reverse_iterator2>возвращает<zero_matrix>, указывая на конец обратного.

Scalar Matrix

Description

Класс шаблонов<scalar_matrix<T, ALLOC>>представляет скалярные матрицы. Для(m x n)-мерной скалярной матрицы и0<= i< m,0<= j< nудерживаетzi, j= s.

Example

#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;
}

Definition

Определяется в заголовке matrix.hpp.

Template parameters

Parameter Description Default
<T> Тип объекта, хранящегося в матрице. <int>
<ALLOC> Распределитель STL для размера_типа и различия_типа. Источник: Allocator

Model of

Матрица.

Type requirements

Ни один, кроме тех, которые налагаются требованиямиМатрица.

Public base classes

<matrix_container<scalar_matrix<T> >>

Members

Member Description
<scalar_matrix ()> Конструирует<scalar_matrix>, который содержит скалярные ряды нулевых элементов.
<scalar_matrix (size_type size1, size_type size2, const value_type &value)> Конструирует<scalar_matrix>, который содержит<size1>ряды<size2>элементов каждого из указанных значений.
<scalar_matrix (const scalar_matrix &m)> Конструктор копий.
<void resize (size_type size1, size_type size2, bool preserve = true)> <scalar_matrix>, чтобы удерживать<size1>ряды<size2>элементов. Поэтому существующие элементы<scalar_matrix>всегда предвидены.
<size_type size1 () const> Возвращает количество строк.
<size_type size2 () const> Возвращает количество колонок.
<const_reference operator () (size_type i, size_type j) const> Возвращает значение<j>— элемента в<i>— ряду.
<scalar_matrix &operator = (const scalar_matrix &m)> Оператор назначения.
<scalar_matrix &assign_temporary (scalar_matrix &m)> Назначает временное. Может изменять скалярную матрицу<m>.
<void swap (scalar_matrix &m)> Изменяет содержимое скалярных матриц.
<const_iterator1 begin1 () const> Возвращает<const_iterator1>, указывая на начало<scalar_matrix>.
<const_iterator1 end1 () const> <const_iterator1>, указывающий на конец<scalar_matrix>.
<const_iterator2 begin2 () const> Вернется<const_iterator2>, указывая на начало<scalar_matrix>.
<const_iterator2 end2 () const> Возвращает<const_iterator2>, указывая на конец<scalar_matrix>.
<const_reverse_iterator1 rbegin1 () const> Возвращает<const_reverse_iterator1>, указывая на начало обратного<scalar_matrix>.
<const_reverse_iterator1 rend1 () const> Возвращает<const_reverse_iterator1>, указывая на конец обратного<scalar_matrix>.
<const_reverse_iterator2 rbegin2 () const> <const_reverse_iterator2>указывает на начало обратного<scalar_matrix>.
<const_reverse_iterator2 rend2 () const> Возвращает<const_reverse_iterator2>, указывая на конец обратного<scalar_matrix>.

Авторское право (©) 2000-2002 Йорг Уолтер, Матиас Кох
На использование, модификацию и распространение распространяется лицензия Boost Software License, Version 1.0. (См. сопроводительный файл LICENSE_1_0.txt или копию по адресу) http://www.boost.org/LICENSE_1_0.txt.

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




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



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


реклама


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

Время компиляции файла: 2024-08-30 11:47:00
2025-07-05 06:39:47/0.0054421424865723/0