Шаблон:Main page/Featured: различия между версиями
| [досмотренная версия] | [досмотренная версия] |
Algoman (обсуждение | вклад) Новая страница: «Читать полностью Разложение_Холецкого_(метод_квадратного_корня) {{:Разложение_Холецко…» |
ASA (обсуждение | вклад) |
||
| (не показано 17 промежуточных версий 3 участников) | |||
| Строка 1: | Строка 1: | ||
<div style="font-size: 160%; font-weight: bold; text-align: center;"> | |||
Разложение Холецкого (метод квадратного корня) | |||
</div> | |||
{{: | {| style="float:{{{float|right}}}; clear:right;margin-left: 1em; width:{{{width|40%}}};" cellpadding=8 cellspacing=1 border=0 | ||
|- | |||
|align=left width=100% style="background-color:#f3f3ff; border:1px solid"| | |||
'''Свойства алгоритма:''' | |||
* Последовательная сложность алгоритма:<nowiki/> <math>O(n^3)</math> | |||
* Высота ярусно-параллельной формы:<nowiki/> <math>O(n)</math> | |||
* Ширина ярусно-параллельной формы:<nowiki/> <math>O(n^2)</math> | |||
* Объём входных данных:<nowiki/> <math>\frac{n (n + 1)}{2}</math> | |||
* Объём выходных данных:<nowiki/> <math>\frac{n (n + 1)}{2}</math> | |||
|} | |||
== Свойства и структура алгоритма == | |||
=== Общее описание алгоритма === | |||
'''Разложение Холецкого''' впервые предложено французским офицером и математиком Андре-Луи Холецким в конце Первой Мировой войны, незадолго до его гибели в бою в августе 1918 г. Идея этого разложения была опубликована в 1924 г. его сослуживцем. Потом оно было использовано поляком Т. Банашевичем в 1938 г. В советской математической литературе называется также методом квадратного корня [1-3]; название связано с характерными операциями, отсутствующими в родственном разложении Гаусса. | |||
Первоначально разложение Холецкого использовалось исключительно для плотных симметричных положительно определенных матриц. В настоящее время его использование гораздо шире. Оно может быть применено также, например, к эрмитовым матрицам. Для повышения производительности вычислений часто применяется блочная версия разложения. | |||
Для разреженных матриц разложение Холецкого также широко применяется в качестве основного этапа прямого метода решения линейных систем. В этом случае используют специальные упорядочивания для уменьшения ширины профиля исключения, а следовательно и уменьшения количества арифметических операций. Другие упорядочивания используются для выделения независимых блоков вычислений при работе на системах с параллельной организацией. | |||
=== Математическое описание алгоритма === | |||
Исходные данные: положительно определённая симметрическая матрица <math>A</math> (элементы <math>a_{ij}</math>). | |||
Вычисляемые данные: нижняя треугольная матрица <math>L</math> (элементы <math>l_{ij}</math>). | |||
Формулы метода: | |||
:<math> | |||
\begin{align} | |||
l_{11} & = \sqrt{a_{11}}, \\ | |||
l_{j1} & = \frac{a_{j1}}{l_{11}}, \quad j \in [2, n], \\ | |||
l_{ii} & = \sqrt{a_{ii} - \sum_{p = 1}^{i - 1} l_{ip}^2}, \quad i \in [2, n], \\ | |||
l_{ji} & = \left (a_{ji} - \sum_{p = 1}^{i - 1} l_{ip} l_{jp} \right ) / l_{ii}, \quad i \in [2, n - 1], j \in [i + 1, n]. | |||
\end{align} | |||
</math> | |||
Существует также блочная версия метода, однако в данном описании разобран только точечный метод. | |||
В ряде реализаций деление на диагональный элемент выполняется в два этапа: вычисление <math>1/l_{ii}</math> и затем умножение на него всех (видоизменённых) <math>a_{ji}</math> . Здесь мы этот вариант алгоритма не рассматриваем. Заметим только, что он имеет худшие параллельные характеристики, чем представленный. | |||
:''[[Разложение Холецкого (метод квадратного корня)|Читать полностью…]]'' | |||
Текущая версия от 14:01, 29 июля 2015
Разложение Холецкого (метод квадратного корня)
|
Свойства алгоритма:
|
Свойства и структура алгоритма
Общее описание алгоритма
Разложение Холецкого впервые предложено французским офицером и математиком Андре-Луи Холецким в конце Первой Мировой войны, незадолго до его гибели в бою в августе 1918 г. Идея этого разложения была опубликована в 1924 г. его сослуживцем. Потом оно было использовано поляком Т. Банашевичем в 1938 г. В советской математической литературе называется также методом квадратного корня [1-3]; название связано с характерными операциями, отсутствующими в родственном разложении Гаусса.
Первоначально разложение Холецкого использовалось исключительно для плотных симметричных положительно определенных матриц. В настоящее время его использование гораздо шире. Оно может быть применено также, например, к эрмитовым матрицам. Для повышения производительности вычислений часто применяется блочная версия разложения.
Для разреженных матриц разложение Холецкого также широко применяется в качестве основного этапа прямого метода решения линейных систем. В этом случае используют специальные упорядочивания для уменьшения ширины профиля исключения, а следовательно и уменьшения количества арифметических операций. Другие упорядочивания используются для выделения независимых блоков вычислений при работе на системах с параллельной организацией.
Математическое описание алгоритма
Исходные данные: положительно определённая симметрическая матрица [math]\displaystyle{ A }[/math] (элементы [math]\displaystyle{ a_{ij} }[/math]).
Вычисляемые данные: нижняя треугольная матрица [math]\displaystyle{ L }[/math] (элементы [math]\displaystyle{ l_{ij} }[/math]).
Формулы метода:
- [math]\displaystyle{ \begin{align} l_{11} & = \sqrt{a_{11}}, \\ l_{j1} & = \frac{a_{j1}}{l_{11}}, \quad j \in [2, n], \\ l_{ii} & = \sqrt{a_{ii} - \sum_{p = 1}^{i - 1} l_{ip}^2}, \quad i \in [2, n], \\ l_{ji} & = \left (a_{ji} - \sum_{p = 1}^{i - 1} l_{ip} l_{jp} \right ) / l_{ii}, \quad i \in [2, n - 1], j \in [i + 1, n]. \end{align} }[/math]
Существует также блочная версия метода, однако в данном описании разобран только точечный метод.
В ряде реализаций деление на диагональный элемент выполняется в два этапа: вычисление [math]\displaystyle{ 1/l_{ii} }[/math] и затем умножение на него всех (видоизменённых) [math]\displaystyle{ a_{ji} }[/math] . Здесь мы этот вариант алгоритма не рассматриваем. Заметим только, что он имеет худшие параллельные характеристики, чем представленный.