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

Hermitian 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

Hermitian Matrix

Hermitian Matrix

Description

Шаблонный классhermitian_matrixявляется базовым адаптером контейнера для отшельнических матриц. Для(n x n)-мерной отшельнической матрицы и0<= i< n,0<= j< nудерживаетhi, j= hj, i. Хранение отшельнических матриц упаковано.

Example

#include <boost/numeric/ublas/hermitian.hpp>
#include <boost/numeric/ublas/io.hpp>
int main () {
    using namespace boost::numeric::ublas;
    hermitian_matrix<std::complex<double>, lower> ml (3, 3);
    for (unsigned i = 0; i < ml.size1 (); ++ i) {
        for (unsigned j = 0; j < i; ++ j)
            ml (i, j) = std::complex<double> (3 * i + j, 3 * i + j);
        ml (i, i) = std::complex<double> (4 * i, 0);
    }
    std::cout << ml << std::endl;
    hermitian_matrix<std::complex<double>, upper> mu (3, 3);
    for (unsigned i = 0; i < mu.size1 (); ++ i) {
        mu (i, i) = std::complex<double> (4 * i, 0);
        for (unsigned j = i + 1; j < mu.size2 (); ++ j)
            mu (i, j) = std::complex<double> (3 * i + j, 3 * i + j);
    }
    std::cout << mu << std::endl;
}

Definition

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

Template parameters

Parameter Description Default
Т Тип объекта, хранящегося в матрице.
Ф1 Функтор, описывающий тип отшельнической матрицы. ниже
F2 Функтор, описывающий организацию хранения. row_major
А Тип адаптированного массива. unbounded_array

Model of

Матрица.

Type requirements

Нет, кроме тех, которые предписаны Матрицей.

Public base classes

matrix_container>

Members

Member Description
Hermitian_matrix () Выделяет неинициализированнуюотшельническую матрицу, которая содержит нулевые ряды нулевых элементов.
hermitian_matrix (размер_тип) Выделяет неинициализированнуюотшельническую матрицу, которая содержитразмеррядыразмерэлементов.
hermitian_matrix (const hermitian_matrix &m) Конструктор копий.
template
hermitian_matrix (const matrix_expression&ae)
Конструктор расширенной копии.
void resize (size_type size, bool preserve = true) Перемещаетотшельническую матрицу, чтобы удерживатьразмеррядыразмерэлементов. Существующие элементыhermitian_matrixпредвидены, когда указано.
size_type size1 () const Возвращает количество строк.
size_type size2 () const Возвращает количество колонок.
const_reference operator () (size_type i, size_type j) const Возвращаетconstссылкуj-th элемента вi-th ряда.
оператор связи () (размер_тип i, размер_тип j) Возвращает ссылку наj-й элемент вi-й строке.
hermitian_matrix &operator = (const hermitian_matrix &m) Оператор назначения.
hermitian_matrix &assign_temporary (hermitian_matrix &m) Назначает временное. Может изменяться отшельническая матрицам.
template
hermitian_matrix &operator = (const matrix_expression&ae)
Оператор расширенного назначения.
template
hermitian_matrix &assign (const matrix_expression&ae)
Назначает матричную экспрессию отшельнической матрице. Левая и правая стороны задания должны быть независимыми.
template
hermitian_matrix &operator += (const matrix_expression&ae)
Вычисленный оператор назначения. Добавляет выражение матрицы к отшельнической матрице.
template
hermitian_matrix &plus_assign (const matrix_expression&ae)
Добавляет матричную экспрессию к отшельнической матрице. Левая и правая стороны задания должны быть независимыми.
template
hermitian_matrix &operator -= (const matrix_expression&ae)
Вычисленный оператор назначения. Вычитает выражение матрицы из матрицы отшельника.
template
hermitian_matrix &minus_assign (const matrix_expression&ae)
Вычитает выражение матрицы из матрицы отшельника. Левая и правая стороны задания должны быть независимыми.
template
hermitian_matrix &operator *= (const AT &at)
Вычисленный оператор назначения. Умножает отшельническую матрицу скаляром.
template
hermitian_matrix &operator/= (const AT &at)
Вычисленный оператор назначения. Разделяет отшельническую матрицу через скаляр.
void swap (hermitian_matrix &m) Изменяет содержимое отшельнических матриц.
void insert (size_type i, size_type j, const_reference t) Вставляет значениеtвj- элементi- ряд.
void erase (size_type i, size_type j) Уничтожает значение вj— элеменстеi— строке.
Чистая пустота Очистить матрицу.
const_iterator1 start1 () const Возвращаетconst_iterator1, указывающий на началоHermitian_matrix.
const_iterator1 end1 () const Возвращаетconst_iterator1, указывающий на конецHermitian_matrix.
итератор1 start1 () Возвращаетитератор1, указывающий на началоотшельнической матрицы.
итератор1 конец1 () Возвращаетитератор1, указывающий на конецотшельнической матрицы.
const_iterator2 start2 () const Возвращаетconst_iterator2, указывающий на началоHermitian_matrix.
const_iterator2 end2 () const Возвращаетconst_iterator2, указывающий на конецHermitian_matrix.
итератор2 начинают2 () Возвращаетитератор2, указывающий на началоотшельнической матрицы.
итератор2 конец2 () Возвращаетитератор2, указывающий на конецотшельнической матрицы.
const_reverse_iterator1 rbegin1 () const Возвращаетconst_reverse_iterator1, указывающий на начало обратнойHermitian_matrix.
const_reverse_iterator1 rend1 () const Возвращаетconst_reverse_iterator1, указывающий на конец обратнойHermitian_matrix.
reverse_iterator1 rbegin1 () Возвращаетreverse_iterator1, указывающий на начало обратнойhermitian_matrix.
reverse_iterator1 rend1 () Возвращаетreverse_iterator1, указывающий на конец обратнойhermitian_matrix.
const_reverse_iterator2 rbegin2 () const Возвращаетconst_reverse_iterator2, указывающий на начало обратнойHermitian_matrix.
const_reverse_iterator2 rend2 () const Возвращаетconst_reverse_iterator2, указывающий на конец обратнойHermitian_matrix.
reverse_iterator2 rbegin2 () Возвращаетreverse_iterator2, указывающий на начало обратнойhermitian_matrix.
reverse_iterator2 rend2 () Возвращаетreverse_iterator2, указывающий на конец обратнойhermitian_matrix.

Notes

Поддерживаемые параметры для типа отшельнической матрицынижеивыше.

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

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

Hermitian Adaptor

Description

Шаблонный классhermitian_adaptorявляется адаптером отшельнической матрицы для других матриц.

Example

#include <boost/numeric/ublas/hermitian.hpp>
#include <boost/numeric/ublas/io.hpp>
int main () {
    using namespace boost::numeric::ublas;
    matrix<std::complex<double> > m (3, 3);
    hermitian_adaptor<matrix<std::complex<double> >, lower> hal (m);
    for (unsigned i = 0; i < hal.size1 (); ++ i) {
        for (unsigned j = 0; j < i; ++ j)
            hal (i, j) = std::complex<double> (3 * i + j, 3 * i + j);
        hal (i, i) = std::complex<double> (4 * i, 0);
    }
    std::cout << hal << std::endl;
    hermitian_adaptor<matrix<std::complex<double> >, upper> hau (m);
    for (unsigned i = 0; i < hau.size1 (); ++ i) {
        hau (i, i) = std::complex<double> (4 * i, 0);
        for (unsigned j = i + 1; j < hau.size2 (); ++ j)
            hau (i, j) = std::complex<double> (3 * i + j, 3 * i + j);
    }
    std::cout << hau << std::endl;
}

Definition

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

Template parameters

Parameter Description Default
М Тип адаптированной матрицы.
F Функтор, описывающий тип отшельнического адаптера. ниже

Model of

Матричная экспрессия.

Type requirements

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

Public base classes

matrix_expression>

Members

Member Description
hermitian_adaptor (matrix_type &data) Построение матрицыhermitian_adaptor.
hermitian_adaptor (const hermitian_adaptor &m) Конструктор копий.
template
hermitian_adaptor (const matrix_expression&ae)
Конструктор расширенной копии.
size_type size1 () const Возвращает количество строк.
size_type size2 () const Возвращает количество колонок.
const_reference operator () (size_type i, size_type j) const Возвращаетconstссылкуj-th элемента вi-th ряда.
оператор связи () (размер_тип i, размер_тип j) Возвращает ссылку наj-й элемент вi-й строке.
hermitian_adaptor &operator = (const hermitian_adaptor &m) Оператор назначения.
hermitian_adaptor &assign_temporary (hermitian_adaptor &m) Назначает временное. Может измениться отшельнический адаптерм.
template
hermitian_adaptor &operator = (const matrix_expression&ae)
Оператор расширенного назначения.
template
hermitian_adaptor &assign (const matrix_expression&ae)
Назначает матричную экспрессию на отшельнический адаптер. Левая и правая стороны задания должны быть независимыми.
template
hermitian_adaptor &operator += (const matrix_expression&ae)
Вычисленный оператор назначения. Добавляет матричную экспрессию к отшельническому адаптеру.
template
hermitian_adaptor &plus_assign (const matrix_expression&ae)
Добавляет матричную экспрессию к отшельническому адаптеру. Левая и правая стороны задания должны быть независимыми.
template
hermitian_adaptor &operator -= (const matrix_expression&ae)
Вычисленный оператор назначения. Вычитает матричную экспрессию из отшельнического адаптера.
template
hermitian_adaptor &minus_assign (const matrix_expression&ae)
Вычитает матричную экспрессию из отшельнического адаптера. Левая и правая стороны задания должны быть независимыми.
template
hermitian_adaptor &operator *= (const AT &at)
Вычисленный оператор назначения. Умножает отшельнический адаптер скаляром.
template
hermitian_adaptor &operator /= (const AT &at)
Вычисленный оператор назначения. Разделяет отшельнический адаптер через скаляр.
void swap (hermitian_adaptor &m) Изменяет содержимое отшельнических адаптеров.
const_iterator1 start1 () const Возвращаетconst_iterator1, указывающий на началоhermitian_adaptor.
const_iterator1 end1 () const Возвращаетconst_iterator1, указывающий на конецhermitian_adaptor.
итератор1 start1 () Возвращаетитератор1, указывающий на началоотшельника_адаптора.
итератор1 конец1 () Возвращаетитератор1, указывающий на конецотшельника_адаптора.
const_iterator2 start2 () const Возвращаетconst_iterator2, указывающий на началоhermitian_adaptor.
const_iterator2 end2 () const Возвращаетconst_iterator2, указывающий на конецhermitian_adaptor.
итератор2 начинают2 () Возвращаетитератор2, указывающий на началоотшельника_адаптора.
итератор2 конец2 () Возвращаетитератор2, указывающий на конецотшельника_адаптора.
const_reverse_iterator1 rbegin1 () const Возвращаетconst_reverse_iterator1, указывающий на начало обратногоhermitian_adaptor.
const_reverse_iterator1 rend1 () const Возвращаетconst_reverse_iterator1, указывающий на конец обратногоhermitian_adaptor.
reverse_iterator1 rbegin1 () Возвращаетreverse_iterator1, указывающий на начало обратногоhermitian_adaptor.
reverse_iterator1 rend1 () Возвращаетreverse_iterator1, указывающий на конец обратногоhermitian_adaptor.
const_reverse_iterator2 rbegin2 () const Возвращаетconst_reverse_iterator2, указывающий на начало обратногоhermitian_adaptor.
const_reverse_iterator2 rend2 () const Возвращаетconst_reverse_iterator2, указывающий на конец обратногоhermitian_adaptor.
reverse_iterator2 rbegin2 () Возвращаетreverse_iterator2, указывающий на начало обратногоhermitian_adaptor.
reverse_iterator2 rend2 () Возвращаетreverse_iterator2, указывающий на конец обратногоhermitian_adaptor.

Notes

Поддерживаемые параметры для типа отшельнического адаптеранижеивыше.


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

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




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



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


реклама


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

Время компиляции файла: 2024-08-30 11:47:00
2025-05-20 02:57:30/0.0071918964385986/1