Обсуждение участника:Макарова Алёна

Материал из Алговики
Перейти к навигации Перейти к поиску

--Evgeny Mortikov (обсуждение) 04:32, 3 декабря 2016 (MSK) Хорошее и подробное описание метода GMRES. К сожалению, значительно меньше внимания уделено алгоритмическим особенностям, а исследования масштабируемости в работе нет. Есть несколько замечаний по содержанию, которые отмечены моей подписью.


1 Пункт 2.4

Dan (обсуждение) 14:13, 17 ноября 2016 (MSK) необходимо доработать:

Требования были такие: - Реализация: полностью собственная или обращение к библиотечной функции (Intel MKL, PETSc, FFTW, ScaLAPACK). В любом случае, текст исследуемой программы должен быть представлен в отчете. - Компьютерная платформа может быть любой (Ломоносов, BlueGene или что-то иное). Описание компьютерной платформы должно быть в отчете. - Должен быть представлен график сильной масштабируемости (зависимости производительности от числа процессов; если при этом ещё и зависимость от размера задачи - это только в плюс). График должен выглядеть пристойно и понятно, оси и единицы измерения должны быть подписаны. К графику обязательно должны быть словесные пояснения! Требовалось подобрать такие размеры задачи и числа процессоров, чтобы отразить на графике характерные точки, описывающие свойства алгоритма и программы.


2 Пункт 1.2.3

--Evgeny Mortikov (обсуждение) 04:32, 3 декабря 2016 (MSK)

Но об этом не верно говорить в общем. Согласно теореме (Greenbaum, Pták and Strakoš), для каждой монотонной последовательности [math] a_1,..., a_{m-1}, a_m = 0 [/math], найдётся матрица [math]A[/math] такая что [math]||r_n|| = a_n[/math] для всех [math]n[/math], где [math]r_n[/math] невязка, определенная ранее.

Хорошо бы поставить ссылку на этот результат и указать работу в списке литературы. Чему здесь соответствует индекс [math]n[/math] – номеру итерации?

Опечатка для границ [math]i[/math]: [math] \mathcal{K}_i = span \{ e_n, e_{n-1}, ..., e_{n-i+1}\}, i \le i \le n [/math]


Исправила опечатку, поставила ссылку.

3 Пункт 1.2.3.2

--Evgeny Mortikov (обсуждение) 04:32, 3 декабря 2016 (MSK)

Опечатка: Если матрица [math]A[/math] является симметрично ...

Исправила.

4 Пункт 1.6

--Evgeny Mortikov (обсуждение) 04:32, 3 декабря 2016 (MSK)

Пусть несимметричная матрица [math]A[/math] имеет симметричный портрет и число ненулевых элементов в нижнем(верхнем) треугольнике равно [math]k[/math].

Зачем здесь нужно требование о симметричном потрете матрицы? Можно ли записать оценки для разреженной матрицы без этого условия?

Можно не говорить о симметричном портрете, но ограничивать количество ненулевых внедиагональных элементов числом k. Тогда оценки останутся верными при условии k << n

5 Пункт 1.7

--Evgeny Mortikov (обсуждение) 04:32, 3 декабря 2016 (MSK)

Нужно привести более подробное описание графа, принятых обозначений и т.п. Рассматривается ли здесь разреженная матрица, для которой приведены оценки сложности последовательного алгоритма в пункте 1.6?

Разреженность матрицы не влияет на алгоритм её умножение на вектор, если мы говорим о вычислениях, а не о хранении. Исправила.

6 Пункт 1.8

--Evgeny Mortikov (обсуждение) 04:32, 3 декабря 2016 (MSK)

Опечатка: при вычислении невязок матрича ... Опечатка: вычисления скалярных проихведений ...

В разделе рассматриваются 2 «интенсивных в вычислительном плане этапа», а граф в 1.7 строится только для умножения матрицы на вектор. С чем это связано?

Исправила.

7 Пункт 1.10

--Evgeny Mortikov (обсуждение) 04:32, 3 декабря 2016 (MSK)

Для систем с разряженной матрицей алгоритм требует гораздо меньшей вычислительной мощности.

Хорошо бы привести оценки в работе как для плотной, так и для разреженной матрицы, чтобы проиллюстрировать данное утверждение

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

То, что целесообразно использовать один шаг двух-шагового метода минимальных невязок нужно описать подробнее. Что здесь понимается под двух-шаговым методом GMRES? Почему выполнение только одного шага дает выигрыш – нужны пояснения и/или ссылки.

Это соображение было приведено в литературе, на которую я ссылаюсь. Выигрыш даёт тот факт, что "на первых итерациях метод сходится гораздо быстрее, чем асимптотически". Двухшаговый метод заключается в том, что невязка вычисляется не на на один шаг назад, а на два. А коэффициенты выбираются как решение системы двух соответствующих уравнений.

8 Пункт 2.3.1

--Evgeny Mortikov (обсуждение) 04:32, 3 декабря 2016 (MSK)

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

В чем рациональность такого подхода для тех задач, в которых размерность вектора не помещается в памяти?

Если процессор хранит строку матрицы и одиночные элементы векторов правой части и начального приближения, то общее число сохраняемых элементов имеет порядок . Если же процессор хранит строку матрицы и все элементы векторов, то общее число сохраняемых элементов также порядка .

Величина для "порядка" пропущена.

Таким образом, при дублировании и при разделении векторов требования к объему памяти из одного класса сложности.

Это утверждение нужно переформулировать и пояснить. Что здесь понимается под классом сложности?


9 Пункт 2.3.2

--Evgeny Mortikov (обсуждение) 04:32, 3 декабря 2016 (MSK)

нахождение взвешенной суммы векторов – линейной комбинации векторов?

Да, исправила.

10 Пункт 2.3.3

--Evgeny Mortikov (обсуждение) 04:32, 3 декабря 2016 (MSK)

Требуется ли выполнение объединений на каждой итерации метода?

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

11 Пункт 2.4

--Evgeny Mortikov (обсуждение) 04:32, 3 декабря 2016 (MSK)

Нет исследования масштабируемости


12 Пункт 2.7

--Evgeny Mortikov (обсуждение) 04:32, 3 декабря 2016 (MSK)

Опечатка: Список пакетов, в которых присутствует реализация методА минимизации обобщенной невязки:

исправила