скачать (96.2 kb.)
- Смотрите также:
- Руководство пользователя Программирование открытым текстом HEIDENHAIN iTNC 530 [ стандарт ]
- Руководство пользователя Программирование циклов HEIDENHAIN iTNC 530 [ стандарт ]
- Руководство пользователя - Переносная радиостанция Voxtel MR 550 [ стандарт ]
- FreePascal. Руководство пользователя [ документ ]
- Руководство пользователя STATISTICA [ стандарт ]
- Руководство. Справочник пользователя Sinumerik 840D Universal [ стандарт ]
- Руководство пользователя Руководство администратора Руководство разработчика Игра Подсчет статистики игры Заключение Список литературы [ документ ]
- Руководство пользователя. Пожалуйста, внимательно прочитайте это руководство перед использованием. Товарная накладная [ документ ]
- Руководство пользователя (User's Guide) по работе с инженерными калькуляторами Casio [ стандарт ]
- Проектирование и создание сайта "Электронная библиотека" [ документ ]
- Руководство пользователя. Конфигурирование области ввода/вывода ПЛК [ стандарт ]
- Schneider Electric. Altivar 312 2009 №08 [ документ ]
Министерство образования и науки Российской Федерации
Федеральное государственное автономное образовательное учреждение
высшего образования «Национальный исследовательский Нижегородский государственный университет им. Н.И. Лобачевского»
Институт информационных технологий, математики и механики
Умножение разреженных матриц (координатный способ хранения)
Выполнил: студент группы 0833-2
Нижний Новгород
2015 г.
Содержание
Постановка задачи3
Метод решения4
Схема распараллеливания5
Описание программной реализации6
Руководство пользователя6
Руководство программиста66
Подтверждение корректности99
Результаты экспериментов по оценке масштабируемости1010
Заключение 12
Постановка задачи
Необходимо реализовать умножение разреженных матриц, хранящихся в координатном формате.
Разреженная матрица характеризуется тем, что число ненулевых элементов в ней значительно меньше общего числа элементов. В координатном формате для каждого ненулевого элемента хранится номер строки, номер столбца и значение.
Метод решения
В данной реализации ненулевые элементы матрицы хранятся отсортированными по номеру строки, внутри строки – по номеру столбца.
Пусть необходимо умножить матрицу (размера ) на матрицу (размера ). Обозначим результат . По определению, .
Для выполнения умножения будем идти по ненулевым элементам матрицы , для каждого из них выбирая в матрице элементы (т. е. такие, у которых номер строки совпадает с номером столбца элемента из матрицы ), и умножая их, сохраняя результат в структуру хранения результирующей матрицы . Каждый раз, умножая элементы, будем проверять, есть ли в текущей строке матрицы ненулевой элемент с тем же номером столбца. Если да, то результат умножения нужно прибавить к нему, если нет, добавить новый ненулевой элемент. Переходя на новую строку матрицы (и , соответственно), будем сортировать предыдущую строку матрицы для поддержания заявленной структуры хранения.
Скачать файл (96.2 kb.)