Для студентов СПбГУ по предмету ДругиеСложение разреженных матриц с использованием Brahma.FSharpСложение разреженных матриц с использованием Brahma.FSharp
2024-08-112024-08-11СтудИзба
Курсовая работа: Сложение разреженных матриц с использованием Brahma.FSharp
Описание
Оглавление
2
Введение
Одной из самых известных структур данных информатики является граф. Графам находится применение в многих естественных науках, таких как биология [10], физика [6] и химия [2]. Помимо естествен-ных наук, графы пользуются в различных областях математики — тео-рии групп [1], топологии [12], теории вероятностей [3]. Алгоритмы над графами получили широкое распространение в анализе социальных се-тей. [8].
Классическое представление графа в виде множеств вершин и дуг не всегда удобно для программирования алгоритмов на графах, поэтому граф часто представляется иным образом. Один из способов предста-вить граф в памяти машины — матрица смежности. Матрица смежно-сти графа это квадратная матрица размера N ×N, где N — количество вершин графа. Ячейка (i, j) матрицы отвечает за наличие дуги между вершинами i и j. Такой способ представления графа используется на протяжении всей истории теории графов [7]. Алгоритмы обработки гра-фов с матрицами
Введение | 3 | ||
1. | Постановка задачи | 6 | |
2. | Обзор | 7 | |
2.1. | Существующие реализации GraphBLAS . . . . . . . . . . | 7 | |
2.2. | Математические библиотеки с поддержкой операций ли- | ||
нейнойалгебры ........................ | 8 | ||
2.3. | Используемая библиотека Brahma.FSharp . . . . . . . . . | 8 | |
2.4. | Предыдущиерезультаты................... | 9 | |
3. | Поэлементное сложение матриц | 10 | |
3.1. | Реализациясложения..................... | 10 | |
4. Option и сложение матриц разных типов | 12 | ||
4.1. | Реализация поддержки сложения матриц разных типов и | ||
option . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . | 13 | ||
5. | Сравнительные эксперименты | 14 | |
5.1. | Постановка эксперимента . . . . . . . . . . . . . . . . . . | 14 | |
5.2. | Результаты сравнения с SuiteSparse и CUSP . . . . . . . . | 15 | |
5.3. | Результаты сравнения с Math.NET Numerics . . . . . . . | 16 | |
5.4. | Результаты сравнения CSR и COO сложения до и после | ||
внедрения option и сложения матриц разных типов . . . | 16 | ||
5.5. | Результаты сравнения координатного и CSR форматов . | 17 | |
5.6. | Результаты сравнения на разных устройствах . . . . . . | 18 | |
5.7. | Результаты сравнения поэлементного умножения в GraphBLAS- | ||
sharp и CUSP . . . . . . . . . . . . . . . . . . . . . . . . . | 19 | ||
5.8. | Вывод.............................. | 20 | |
Заключение | 21 | ||
Список литературы | 22 |
2
Введение
Одной из самых известных структур данных информатики является граф. Графам находится применение в многих естественных науках, таких как биология [10], физика [6] и химия [2]. Помимо естествен-ных наук, графы пользуются в различных областях математики — тео-рии групп [1], топологии [12], теории вероятностей [3]. Алгоритмы над графами получили широкое распространение в анализе социальных се-тей. [8].
Классическое представление графа в виде множеств вершин и дуг не всегда удобно для программирования алгоритмов на графах, поэтому граф часто представляется иным образом. Один из способов предста-вить граф в памяти машины — матрица смежности. Матрица смежно-сти графа это квадратная матрица размера N ×N, где N — количество вершин графа. Ячейка (i, j) матрицы отвечает за наличие дуги между вершинами i и j. Такой способ представления графа используется на протяжении всей истории теории графов [7]. Алгоритмы обработки гра-фов с матрицами
Характеристики курсовой работы
Список файлов
Сложение разреженных матриц с использованием Brahma.FSharp.doc