Добавить в корзинуПозвонить
Найти в Дзене
Андрей Куликов

Решение трёхдиагональных СЛАУ методом прогонки Томаса

............................................."Даром дадено, даром давайте", - Исус Христос. Версия 2026.05.04, исправленная и дополненная. При вычислении глобальных кубических сплайнов [3] и в других задачах возникает необходимость решения систем линейных алгебраических уравнений (СЛАУ) с трёхдиагональной матрицей. СЛАУ с трёхдиагональной матрицей выгоднее решать не традиционным методом Гаусса, а его разновидностью для СЛАУ с трёхдиагональной матрицей - методом прогонки ("shattle"), который в англоязычной литературе называется алгоритмом Томаса [1][2] (1949г. [3]). Метод Гаусса требует O(n^3) арифметических операций, а алгоритм Томаса - O(n). Программы с алгоритмом Томаса имеют две разновидности: с сохранением и без сохранения исходных значений СЛАУ. Сам же алгоритм Томаса в обоих случаях одинаковый. Обе разновидности программ подробно описаны в статье [1]. В данной статье рассматривается разновидность программы с алгоритмом Томаса без сохранения исходных значений СЛАУ (an algorithm
Оглавление

............................................."Даром дадено, даром давайте", - Исус Христос.

Версия 2026.05.04, исправленная и дополненная.

При вычислении глобальных кубических сплайнов [3] и в других задачах возникает необходимость решения систем линейных алгебраических уравнений (СЛАУ) с трёхдиагональной матрицей.

СЛАУ с трёхдиагональной матрицей выгоднее решать не традиционным методом Гаусса, а его разновидностью для СЛАУ с трёхдиагональной матрицей - методом прогонки ("shattle"), который в англоязычной литературе называется алгоритмом Томаса [1][2] (1949г. [3]). Метод Гаусса требует O(n^3) арифметических операций, а алгоритм Томаса - O(n).

Программы с алгоритмом Томаса имеют две разновидности: с сохранением и без сохранения исходных значений СЛАУ. Сам же алгоритм Томаса в обоих случаях одинаковый. Обе разновидности программ подробно описаны в статье [1]. В данной статье рассматривается разновидность программы с алгоритмом Томаса без сохранения исходных значений СЛАУ (an algorithm with less bookkeeping [1]).

Так как Basic знают почти все, программа, реализующая алгоритм прогонки Томаса, была написана на Borland Turbo Basic'е, которого вполне достаточно для изучения, исследования и разработки усовершенствований многих числовых методов.

Преобразование входных векторов в исходную присоединённую матрицу СЛАУ (AM|f), её преобразование в правую верхнюю (Right-Upper) треугольную присоединённую матрицу СЛАУ (AM'|f') и их вывод на экран сделаны только для иллюстрации, а все вычисления в методе прогонки Томаса производятся только с векторами.

Программа имеет две версии: с индексацией векторов от 1 до N (THOMASRU.BAS) и с индексацией векторов от 0 до N-1 (THOMRUZ.BAS).

1. Программа THOMASRU.BAS на Borland TurboBasic'е

с индексацией векторов от 1 до N:

-2
-3

Рис.1. Снимок с экрана результата прогонки программы THOMASRU.BAS в компиляторе Borland TurboBasic.

Учебное наглядное пособие THOMRUDE.EXE (исходник: THOMRUDE.BAS) для изучающих решение трёхдиагональных СЛАУ методом прогонки Томаса Right-Upper, показывающее последовательность вычислений:

-4

2. Программа THOMRUZ.BAS на Borland TurboBasic'е

с индексацией векторов от 0 до N-1:

-5
-6
-7

Рис.2. Снимок с экрана результата прогонки программы THOMRUZ.BAS в компиляторе Borland TurboBasic.

Учебное наглядное пособие THOMRUZD.EXE (исходник: THOMRUZD.BAS) для изучающих решение трёхдиагональных СЛАУ методом прогонки Томаса Right-Upper, показывающее последовательность вычислений:

-8

Литература:

1. Tridiagonal matrix algorithm. Wikipedia.

2. Метод прогонки. Википедия.

3. Глобальный кубический сплайн, программа на Borland TurboBasic'е. Куликов А. С. - М.: Дзен.

4. Численные методы решения краевых задач. Максютов М.С. - М.:МГГЭУ, 2014.

5. Метод прогонки: решение СЛАУ с трёхдиагональной матрицей.

6. Решение трёхдиагональных СЛАУ упрощённым методом прогонки Томаса. Куликов А. С. - М.: Дзен, 2026.

Приложения:

1. Скачать файл с текстом программы THOMASRU.BAS

2. Скачать файл с текстом пограммы THOMRUZ.BAS

3. Скачать файл с Borland Turbo Basic'ом TB.EXE

4. Скачать файл с руководством по Borland Turbo Basic'у BASIC.TXT

5. Скачать файл с архивом Power Basic'а pb.zip