Иерархическая матрица - Hierarchical matrix

В вычислительная математика, иерархические матрицы (H-матрицы)[1][2][3]используются в качестве приближений нерезких матриц с разреженными данными. разреженная матрица измерения может быть эффективно представлена ​​в единиц хранения, сохраняя только свои ненулевые элементы, неразреженная матрица потребует единиц хранения, поэтому использование этого типа матриц для больших задач было бы чрезмерно дорогим с точки зрения хранения и времени вычислений. Иерархические матрицы обеспечивают приближение, требующее только единиц хранения, где - параметр, контролирующий точность аппроксимации. В типичных приложениях, например, при дискретизации интегральных уравнений[4][5][6][7][8],[9]предварительное кондиционирование полученных систем линейных уравнений,[10]или решение эллиптических уравнений в частных производных[11][12][13][14], ранг, пропорциональный с небольшой постоянной достаточно, чтобы обеспечить точность По сравнению со многими другими представлениями неразреженных матриц с разреженными данными, иерархические матрицы предлагают главное преимущество: результаты матричных арифметических операций, таких как матричное умножение, факторизация или инверсия, могут быть аппроксимированы в операции, где [2]

Основная идея

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

Чтобы аппроксимировать всю матрицу , он разбивается на семейство подматриц. Большие подматрицы хранятся в факторизованном представлении, а маленькие подматрицы хранятся в стандартном представлении для повышения эффективности.

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

Приложение к интегральным операторам

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

В Метод Галеркина приводит к матричным элементам вида

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

куда - семейство точек интерполяции и соответствующее семейство Полиномы Лагранжа.Замена к дает приближение

с коэффициентами

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

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

Особый интерес представляют методы перекрестной аппроксимации.[6][7][15]которые используют только элементы исходной матрицы построить приближение низкого ранга.

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

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

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

Удивительно, но доказать можно[11][12][13][14] что обратная величина может быть аппроксимирована, даже если дифференциальный оператор включает негладкие коэффициенты, и поэтому функция Грина негладкая.

Арифметические операции

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

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

Воспользовавшись блочной структурой, обратное можно вычислить с помощью рекурсии для вычисления обратных иШур дополняет диагональных блоков и комбинируя их с помощью умножения матрицы на матрицу. LU разложение[16][17]могут быть построены с использованием только рекурсии и умножения. Обе операции также требуют операции.

ЧАС2-матрицы

Для решения очень больших задач структура иерархических матриц может быть улучшена: H2-матрицы[18][19]заменить общую низкоранговую структуру блоков иерархическим представлением, тесно связанным сбыстрый мультипольный метод чтобы уменьшить сложность хранения до .

В контексте граничных интегральных операторов замена фиксированного ранга блок-зависимыми рангами приводит к приближениям, которые сохраняют скорость сходимости лежащего в основе метода граничных элементов со сложностью [20][21]

Арифметические операции, такие как умножение, инверсия и факторизация Холецкого или LR H2-матрицы могут быть реализованы на основе двух основных операций: умножения матрицы на вектор на подматрицы и обновления подматриц с низким рангом. Хотя умножение матрицы на вектор является простым, реализация эффективных обновлений с низким рангом с адаптивно оптимизированными базами кластеров представляет собой значительную проблему.[22]

Литература

  1. ^ Хакбуш, Вольфганг (1999). «Арифметика с разреженными матрицами на основе H-матриц. Часть I: Введение в H-матрицы». Вычисление. 62 (2): 89–108. Дои:10.1007 / s006070050015.
  2. ^ а б Grasedyck, Ларс; Хакбуш, Вольфганг (2003). «Построение и арифметика H-матриц». Вычисление. 70 (4): 295–334. Дои:10.1007 / s00607-003-0019-1.
  3. ^ Хакбуш, Вольфганг (2015). Иерархические матрицы: алгоритмы и анализ. Серия Спрингера в вычислительной математике. 49. Springer. Дои:10.1007/978-3-662-47324-5. ISBN  978-3-662-47323-8.
  4. ^ Бебендорф, Марио (2008). Иерархические матрицы: средство для эффективного решения эллиптических краевых задач. Springer.
  5. ^ Хакбуш, Вольфганг; Хоромский, Борис Н. (2000). "Арифметика разреженной H-матрицы. Часть II: Приложение к многомерным задачам". Вычисление. 64: 21–47.
  6. ^ а б Бебендорф, Марио (2000). «Аппроксимация матриц граничных элементов». Нумер. Математика. 86 (4): 565–589. Дои:10.1007 / pl00005410.
  7. ^ а б Бебендорф, Марио; Рясанов, Сергей (2003). «Адаптивная низкоранговая аппроксимация матриц коллокации». Вычисление. 70: 1–24. CiteSeerX  10.1.1.133.182. Дои:10.1007 / s00607-002-1469-6.
  8. ^ Бёрм, Штеффен; Grasedyck, Ларс (2005). «Гибридная кросс-аппроксимация интегральных операторов». Нумер. Математика. 101 (2): 221–249. CiteSeerX  10.1.1.330.8950. Дои:10.1007 / s00211-005-0618-1.
  9. ^ Бёрм, Штеффен; Кристоферсен, Свен (2016). «Аппроксимация интегральных операторов квадратурами Грина и вложенным крестом». Нумер. Математика. 133 (3): 409–442. arXiv:1404.2234. Дои:10.1007 / s00211-015-0757-y.
  10. ^ Фаустманн, Маркус; Меленк, Дж. Маркус; Преториус, Дирк (2016). «Существование H-матричных аппроксимаций обратных матриц БЭМ: Оператор простого слоя». Математика. Comp. 85 (297): 119–152. arXiv:1311.5028. Дои:10.1090 / mcom / 2990.
  11. ^ а б Бебендорф, Марио; Хакбуш, Вольфганг (2003). «Существование H-матричных аппроксимаций обратной FE-матрицы эллиптических операторов с -коэффициенты ». Нумер. Математика. 95: 1–28. Дои:10.1007 / s00211-002-0445-6.
  12. ^ а б Бёрм, Штеффен (2010). «Аппроксимация операторов решений эллиптических уравнений в частных производных H- и H2-матрицы ». Нумер. Математика. 115 (2): 165–193. Дои:10.1007 / s00211-009-0278-7.
  13. ^ а б Фаустманн, Маркус; Меленк, Дж. Маркус; Преториус, Дирк (2015). «H-матричная аппроксимируемость обратных матриц МКЭ». Нумер. Математика. 131 (4): 615–642. arXiv:1308.0499. Дои:10.1007 / s00211-015-0706-9.
  14. ^ а б Шен, Цзе; Ван, Инвэй; Ся, Цзяньлинь (2016). «Быстрые структурированные прямые спектральные методы для дифференциальных уравнений с переменными коэффициентами». Журнал SIAM по научным вычислениям. 38 (1): A28 – A54. Дои:10.1137/140986815.
  15. ^ Тыртышников, Евгений (2000). «Неполная крестовая аппроксимация в мозаично-каркасном методе». Вычисление. 64 (4): 367–380. CiteSeerX  10.1.1.100.6153. Дои:10.1007 / s006070070031.
  16. ^ Бебендорф, Марио (2007). «Почему дискретизации конечных элементов можно разложить на треугольные иерархические матрицы». SIAM J. Numer. Анальный. 45 (4): 1472–1494. Дои:10.1137/060669747.
  17. ^ Grasedyck, Ларс; Криманн, Рональд; Ле Борн, Сабина (2009). "Предобусловливание H-LU на основе декомпозиции домена". Нумер. Математика. 112 (4): 565–600. Дои:10.1007 / s00211-009-0218-6.CS1 maint: несколько имен: список авторов (связь)
  18. ^ Хакбуш, Вольфганг; Хоромский, Борис Н .; Заутер, Стефан (2002). На H2-матрицы. Лекции по прикладной математике. С. 9–29. Дои:10.1007/978-3-642-59709-1_2. ISBN  978-3-642-64094-0.
  19. ^ Бёрм, Штеффен (2010). Эффективные численные методы для нелокальных операторов: H2-Сжатие матриц, алгоритмы и анализ. EMS трактаты по математике. ISBN  9783037190913.
  20. ^ Заутер, Стефан (2000). «Кластеризация панелей переменного порядка». Вычисление. 64 (3): 223–261. Дои:10.1007 / s006070050045.
  21. ^ Бёрм, Штеффен; Заутер, Стефан (2005). «БЭМ с линейной сложностью для классических граничных интегральных операторов». Математика. Comp. 74 (251): 1139–1177. Дои:10.1090 / s0025-5718-04-01733-8.
  22. ^ Бёрм, Штеффен; Реймер, Кнут (2015). «Эффективные арифметические операции для ранговых матриц на основе иерархических обновлений низкого ранга». Комп. Vis. Наука. 16 (6): 247–258. arXiv:1402.5056. Дои:10.1007 / s00791-015-0233-3.

Программного обеспечения

HLib - это программная библиотека на языке C, реализующая наиболее важные алгоритмы иерархических и -матрицы.

АХМЕД - это программная библиотека C ++, которую можно загрузить в образовательных целях.

HLIBpro представляет собой реализацию основных алгоритмов иерархической матрицы для коммерческих приложений.

H2Lib представляет собой реализацию алгоритмов иерархической матрицы с открытым исходным кодом, предназначенную для исследований и обучения.

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

HierarchicalMatrices.jl представляет собой пакет Julia, реализующий иерархические матрицы.