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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Неполное разложение Холецкого по позициям IC([math]\displaystyle{ k }[/math])

Приближенное разложение Холецкого по значениям IC([math]\displaystyle{ \tau }[/math])

Приближенное разложение Холецкого второго порядка IC([math]\displaystyle{ \tau_1,\tau_2 }[/math])

Комбинация разложений Холецкого IC([math]\displaystyle{ k,\tau }[/math]) и IC([math]\displaystyle{ \tau,m }[/math])

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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