Метод Холецкого (нахождение симметричного треугольного разложения): различия между версиями

Материал из Алговики
Перейти к навигации Перейти к поиску
[непроверенная версия][непроверенная версия]
Строка 50: Строка 50:
 
=== Приближенное разложение Холецкого второго порядка IC(<math>\tau_1,\tau_2</math>) ===
 
=== Приближенное разложение Холецкого второго порядка IC(<math>\tau_1,\tau_2</math>) ===
  
=== Комбинация разложений Холецкого IC(k,tau) и IC(tau,m) ===
+
=== Комбинация разложений Холецкого IC(<math>k,\tau</math>) и IC(<math>\tau,m</math>) ===
  
 
== Использование разложения Холецкого в параллельных итерационных алгоритмах ==
 
== Использование разложения Холецкого в параллельных итерационных алгоритмах ==

Версия 12:25, 18 марта 2015

Содержание

1 Разложение Холецкого (метод квадратного корня), базовый точечный вещественный вариант для плотной симметричной положительно-определённой матрицы

Разложение Холецкого (метод квадратного корня), базовый точечный вещественный вариант для плотной симметричной положительно-определённой матрицы.

2 Разложение Холецкого, блочный вещественный вариант для плотной симметричной положительно-определённой матрицы

Можно также рассмотреть блочный вариант разложения Холецкого. Предположим, что n=MN, тогда исходную матрицу A размера n\times n можно представить как блочную матрицу размера N\times N с блоками размера M\times M. Все формулы, используемые для получения точечного разложения Холецкого, для блочной матрицы А останутся практически без изменений. Вместо явного обращения диагональных блоков, эффективнее будет хранить их в факторизованном виде D_{ii}=L_{ii}L^T_{ii}, а вместо точечной операции деления использовать операции решения треугольных систем. Общее количество арифметических операций при этом останется практически неизменным, но зато существенно возрастет локальность вычислений. Размер блока M выбирают таким образом, чтобы все блоки, участвующие в операции исключения, помещались в кэш первого или второго уровня. В этом случае подкачки данных в память будут минимальными.

Аналогичный прием понадобится также и для эффективной реализации параллельной версии разложения Холецкого, что позволит минимизировать как общее количество обменов, так и количество пересылаемой между процессорами информации. Полезным побочным эффектом использования блочной версии разложения Холецкого может стать повышение скалярной эффективности алгоритма за счет явного использования размера блока M во внутренних циклах (прием "разворачивания цикла" или "loop unrolling").

3 Разложение Холецкого, точечный вещественный вариант для разреженной симметричной положительно-определённой матрицы

3.1 Основные отличия от случая плотной матрицы

3.2 Переупорядочивания для уменьшения количества новых ненулевых элементов

4 Разложение Холецкого, блочный вещественный вариант для разреженной симметричной положительно-определённой матрицы

(плотные блоки небольшого размера, равного количеству неизвестных функций на узел, или выбираемому искуственно)

5 Разложение Холецкого для эрмитовой матрицы

Эрмитовой (или комплексно-самосопряженной) матрицей называют такую квадратную комплексную матрицу A, для элементов которой выполняется соотношение a_{ij}=\overline{a_{ji}} (здесь, если z=a+{\rm i}b и {\rm i}^2=-1, то \overline z=a-{\rm i}b). В матричном виде это можно записать как A=\overline{A^T} или A=A^Н.

5.1 Точечный вариант

Как естественное обобщение разложения Холецкого для точечной симметричной положительно-определеной матрицы может быть рассмотрено разложение Холецкого для эрмитовой матрицы. Все формулы для вычисления разложения остаются прежними, только теперь вместо операций над вещественными числами выполняются аналогичные комплексные операции.

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

5.2 Блочный вариант

Реализация блочного варианта разложения Холецкого для эрмитовых матриц будет аналогична рассмотрему выше блочному варианту для вещественных матриц.

6 Использование разложения Холецкого в итерационных методах

6.1 Ограничивание заполнения в разложении Холецкого

6.2 Неполное разложение Холецкого по позициям IC(k)

6.3 Приближенное разложение Холецкого по значениям IC(\tau)

6.4 Приближенное разложение Холецкого второго порядка IC(\tau_1,\tau_2)

6.5 Комбинация разложений Холецкого IC(k,\tau) и IC(\tau,m)

7 Использование разложения Холецкого в параллельных итерационных алгоритмах

7.1 Переупорядочивания для выделения блочности

7.1.1 Метод минимальных сепараторов

7.1.2 Метод минимальной степени (Minimum Degree - MD)

7.1.3 Метод вложенных сечений (Nested Dissection - ND)

7.2 Разложение в независимых блоках

7.3 Разложение в сепараторах

7.4 Иерархические и вложенные алгоритмы

7.5 Блочный метод Якоби (без перекрытия блоков, Block Jacobi - BJ)

7.6 Адитивный метод Шварца (Additive Schwarz - AS)

7.7 Блочный метод неполного обратного разложения Холецкого (BIIC)

8 Решение линейной системы с треугольной матрицей

8.1 Решение системы с плотной верхнетреугольной матрицей

8.2 Решение системы с плотной нижнетреугольной матрицей

8.3 Решение системы с разреженной верхнетреугольной матрицей

8.4 Решение системы с разреженной нижнетреугольной матрицей

8.5 Решение системы с комплексной треугольной матрицей

8.6 Решение систем с блочноокаймленными треугольными матрицами