Тип работы:
Предмет:
Язык работы:


ВЫЧИСЛЕНИЕ ПРОИЗВЕДЕНИЯ ЦИКЛИЧЕСКОЙ МАТРИЦЫ НА ВЕКТОР

Работа №35263

Тип работы

Дипломные работы, ВКР

Предмет

информатика

Объем работы30
Год сдачи2019
Стоимость6500 руб.
ПУБЛИКУЕТСЯ ВПЕРВЫЕ
Просмотрено
159
Не подходит работа?

Узнай цену на написание


ВВЕДЕНИЕ 3
1. Обоснование алгоритма 5
1.1. Прямой алгоритм умножения матрицы на вектор 5
1.2. Комплексные корни V-ной степени из единицы 5
1.3. Принцип “разделяй и властвуй” 7
1.4 ДПФ и БПФ 8
1.5. Вычисление поворачивающих множителей 10
1.6 Обратное ДПФ 12
1.7. Анализ сложности 12
1.8. Итеративная реализация БПФ 13
1.9. Собственные вектора циклической матрицы 17
1.10. Алгоритм умножения циклической матрицы на вектор 18
2. Реализация 20
2.1. Среда разработки 20
2.2. Подключенные библиотеки 20
2.3. Структура данных 20
2.4. Список реализованных функций и их роль 20
3. Тестирование 26
ЗАКЛЮЧЕНИЕ 29
СПИСОК ЛИТЕРАТУРЫ 30


Циклическая матрица - это матрица, у которой каждая строка получена из предыдущей с помощью циклического сдвига на один вправо. Общая форма циклической матрицы Н представлена ниже.
Задача умножения циклической матрицы на вектор эквивалентна задаче вычисления циклической свертки, которая имеет важное значение в цифровой обработке сигналов.
С помощью прямого алгоритма умножения матрицы на вектор это произведение можно вычислить за время О(п 2 ).
В данной работе рассматривается алгоритм вычисления произведения циклической матрицы на вектор за время О (пIодп). Следовательно, данный алгоритм, также, как и сама циклическая матрица, являются объектами исследования. Быстрое преобразование Фурье и дискретное преобразование Фурье (далее БПФ и ДПФ соответственно) являются инструментами, с помощью которых будет производится исследование.
Целью исследования является реализация алгоритма на языке программирования и сравнение с методом произведения по определению.
Для достижений этой цели были поставлены следующие задачи:
— Изучение литературы (ДПФ, алгоритм БПФ).
— Сведение исходной задачи к двукратному вычислению прямого ДПФ и однократному вычислению обратного ДПФ.
— Программная реализация алгоритма БПФ по основанию 2, вычисление с его помощью произведения циклической матрицы на вектор.
— Проведение численных экспериментов, сравнение эффективности полученной программы с естественным алгоритмом умножения матрицы на вектор. 


Возникли сложности?

Нужна помощь преподавателя?

Помощь студентам в написании работ!


В процессе написания работы была изучена литература по теме: дискретное преобразования Фурье, алгоритм быстрого преобразования Фурье, циклическая матрица и ее свойства, диагонализация циклической матрицы и, непосредственно, сам алгоритм быстрого умножения матрицы на вектор. Данные теоретические аспекты также широко используются в множестве других алгоритмов.
Следующим этапом, о котором шла речь - был этап реализации. В процессе реализации удалось выполнить главную задачу - реализацию корректного и эффективного алгоритма, полностью соответствующего ранее изученной и рассмотренной теоретической части. Одним из важных этапов реализации являлось избавление от избыточных действий и реализация алгоритма Синглтона.
В процессе тестирования реализованный алгоритм сравнивался с прямым умножением матрицы на вектор, имеющим квадратичное время выполнения. Тестирование производилось при изменении параметра N, соответствующего размерности вектора и циклической матрицы, от до и показало эффективность и целесообразность применения быстрого умножения над прямым.
Таким образом, можно сделать следующие выводы: существует прямой алгоритм умножения циклической матрицы на вектор, но этот алгоритм крайне дорогостоящий в плане времени выполнения. Для того, чтобы уменьшить время выполнения следует воспользоваться быстрым алгоритмом, рассмотренным в данной работе.
Резюмируя все выше сказанное, можно сказать что все основные цели ВКР достигнуты в полном объеме: изучен теоретический материал, реализован соответствующий алгоритм, проведено сравнение, проанализированы результаты и сделан соответствующий вывод о целесообразности использования рассмотренного алгоритма.



1. Корни из комплексных чисел [Электронный ресурс]. - Электрон. дан. - М:
Файловый архив студентов StudFiles, 2015 - Режим доступа:
https://studfiles.net/preview/3814066/ (дата обращения 11.05.2019).
2. ДПФ [Электронный ресурс]. - Электрон. дан. - М: Википедия, 2019 -
Режим доступа: https://ru.wikipedia.org/wiki/
Дискретное_преобразование_фурье (дата обращения 11.05.2019).
3. Быстрое преобразование Фурье за O (N log N). Применение к умножению двух полиномов или длинных чисел [Электронный ресурс] - Электрон. дан. - М., 2008 - Режим доступа: https://e-maxx.ru/algo/fft_multiply (дата обращения
11.05.2019) .
4. On Circulant Matrices [Электронный ресурс] - Электрон. дан. - М: Article in Notices of the American Mathematical Society, 2004 - Режим доступа: https://www.researchgate.net/publication/238699928_On_Circulant_Matrices (дата обращения 11.05.2019).
5. Toeplitz and Circulant Matrices [Электронный ресурс] - Электрон. дан. - М.,
[2013] - Режим доступа:
https://www.nowpublishers.com/article/DownloadSummary/CIT-006 - (дата обращения 11.05.2019).
6. Circulant matrices [Электронный ресурс] - Электрон. дан. - М., 2017 - Режим доступа: http: //web.mit. edu/18.06/www/Spring 17/Circulant-Matrices. pdf (дата обращения 11.05.2019).
7. GetTickCount [Электронный ресурс] - Электрон. дан. - М., 2013 - Режим доступа:
http: //www.vsokovikov.narod.ru/New_MSDN_API/T ime/fn_gettickcount.htm -
(дата обращения 11.05.2019).


Работу высылаем на протяжении 30 минут после оплаты.



Подобные работы


©2024 Cервис помощи студентам в выполнении работ