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

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

Содержание

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 Разложение Холецкого для эрмитовой матрицы

Эрмитовой (или комплексно-самосопряженной) матрицей называют такую квадратную комплексную матрицу 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^Н.

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

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

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

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

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

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

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

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

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

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

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

Эрмитовой (или комплексно-самосопряженной) матрицей называют такую квадратную комплексную матрицу 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^Н.

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

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

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

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

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

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

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

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

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

7.4 Приближенное разложение Холецкого второго порядка IC(tau1,tau2)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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