Уровень алгоритма

Прогонка, точечный вариант: различия между версиями

Материал из Алговики
Перейти к навигации Перейти к поиску
[непроверенная версия][непроверенная версия]
Строка 36: Строка 36:
</math>
</math>


Часто, однако, при изложении сути метода прогонки<ref>Самарский А.А., Николаев Е.С. Методы решения сеточных уравнений. М.: Наука, 1978.</ref> элементы правой части и матрицы системы обозначают по-другому, например СЛАУ может иметь вид
Часто, однако, при изложении сути метода прогонки<ref>Самарский А.А., Николаев Е.С. Методы решения сеточных уравнений. М.: Наука, 1978.</ref> элементы правой части и матрицы системы обозначают и нумеруют по-другому, например СЛАУ может иметь вид


:<math>
:<math>
Строка 44: Строка 44:
  0      &  -a_{2} & c_{2} &  \cdots & \cdots & 0 \\
  0      &  -a_{2} & c_{2} &  \cdots & \cdots & 0 \\
  \vdots & \vdots & \ddots & \ddots & \ddots & 0 \\
  \vdots & \vdots & \ddots & \ddots & \ddots & 0 \\
  0 & \cdots & \cdots & -a_{n-2} & c_{n-2}  & -b_{n-2} \\
  0 & \cdots & \cdots & -a_{N-1} & c_{N-1}  & -b_{N-1} \\
  0 & \cdots & \cdots & 0 & -a_{n-1}  & c_{n-1} \\
  0 & \cdots & \cdots & 0 & -a_{N}  & c_{N} \\
\end{bmatrix}\begin{bmatrix}
\end{bmatrix}\begin{bmatrix}
x_{0} \\
x_{0} \\
x_{1} \\
x_{1} \\
\vdots \\
\vdots \\
x_{n-1} \\
x_{N} \\
\end{bmatrix} = \begin{bmatrix}
\end{bmatrix} = \begin{bmatrix}
f_{0} \\
f_{0} \\
f_{1} \\
f_{1} \\
\vdots \\
\vdots \\
f_{n-1} \\
f_{N} \\
\end{bmatrix}
\end{bmatrix}
</math>
</math>
или, если записывать отдельно по уравнениям, то


=== Математическое описание ===
=== Математическое описание ===

Версия от 13:54, 10 июля 2015


Прогонка для трёхдиагональной матрицы, точечный вариант
Последовательный алгоритм
Последовательная сложность [math]\displaystyle{ O(n) }[/math]
Объём входных данных [math]\displaystyle{ 4n-2 }[/math]
Объём выходных данных [math]\displaystyle{ n }[/math]
Параллельный алгоритм
Высота ярусно-параллельной формы [math]\displaystyle{ O(n) }[/math]
Ширина ярусно-параллельной формы [math]\displaystyle{ 2 }[/math]


Основные авторы описания: А.В.Фролов


Свойства и структура алгоритмов

Общее описание алгоритма

Прогонка - один из вариантов метода исключения неизвестных в приложении к решению СЛАУ[1][2] вида [math]\displaystyle{ Ax = b }[/math], где

[math]\displaystyle{ A = \begin{bmatrix} a_{11} & a_{12} & 0 & \cdots & \cdots & 0 \\ a_{21} & a_{22} & a_{23}& \cdots & \cdots & 0 \\ 0 & a_{32} & a_{33} & \cdots & \cdots & 0 \\ \vdots & \vdots & \ddots & \ddots & \ddots & 0 \\ 0 & \cdots & \cdots & a_{n-1 n-2} & a_{n-1 n-1} & a_{n-1 n} \\ 0 & \cdots & \cdots & 0 & a_{n n-1} & a_{n n} \\ \end{bmatrix}, x = \begin{bmatrix} x_{1} \\ x_{2} \\ \vdots \\ x_{n} \\ \end{bmatrix}, b = \begin{bmatrix} b_{1} \\ b_{2} \\ \vdots \\ b_{n} \\ \end{bmatrix} }[/math]

Часто, однако, при изложении сути метода прогонки[3] элементы правой части и матрицы системы обозначают и нумеруют по-другому, например СЛАУ может иметь вид

[math]\displaystyle{ A = \begin{bmatrix} c_{0} & -b_{0} & 0 & \cdots & \cdots & 0 \\ -a_{1} & c_{1} & -b_{1} & \cdots & \cdots & 0 \\ 0 & -a_{2} & c_{2} & \cdots & \cdots & 0 \\ \vdots & \vdots & \ddots & \ddots & \ddots & 0 \\ 0 & \cdots & \cdots & -a_{N-1} & c_{N-1} & -b_{N-1} \\ 0 & \cdots & \cdots & 0 & -a_{N} & c_{N} \\ \end{bmatrix}\begin{bmatrix} x_{0} \\ x_{1} \\ \vdots \\ x_{N} \\ \end{bmatrix} = \begin{bmatrix} f_{0} \\ f_{1} \\ \vdots \\ f_{N} \\ \end{bmatrix} }[/math]

или, если записывать отдельно по уравнениям, то

Математическое описание

Вычислительное ядро алгоритма

Макроструктура алгоритма

Описание схемы реализации последовательного алгоритма

Последовательная сложность алгоритма

Информационный граф

Описание ресурса параллелизма алгоритма

Описание входных и выходных данных

Свойства алгоритма

Программная реализация алгоритмов

Особенности реализации последовательного алгоритма

Описание локальности данных и вычислений

Возможные способы и особенности реализации параллельного алгоритма

Масштабируемость алгоритма и его реализации

Динамические характеристики и эффективность реализации алгоритма

Выводы для классов архитектур

Существующие реализации алгоритма

Литература

  1. ↑ Воеводин В.В. Вычислительные основы линейной алгебры. М.: Наука, 1977.
  2. ↑ Воеводин В.В., Кузнецов Ю.А. Матрицы и вычисления. М.: Наука, 1984.
  3. ↑ Самарский А.А., Николаев Е.С. Методы решения сеточных уравнений. М.: Наука, 1978.