Скачиваний:
34
Добавлен:
02.05.2014
Размер:
13.82 Кб
Скачать

LU-разложение матрицы системы линейных алгебраических уравнений ( СЛАУ ) методом Гаусса.

Входные данные - квадратная матрица коэффициентов, размерность матрицы.

Выходные данные – нижнетругольная ( L ) и верхнетругольная ( U ) матрицы, произведение которых дает исходную матрицу.

LU-разложение матрицы СЛАУ удобно в случае, когда нам необходимо решить несколько СЛАУ с одной матрицей коэффициентов системы, но с разными правыми частями. Для этого один раз ищется LU-разложение исходной матрицы, а затем при подстановке некоторой правой части решается 2N (где N - размерность системы) уравнений с одним неизвестным в каждом. Подробнее смотри в файле с «теорией».

Возможные улучшения - «красивый» форматированный вывод матриц.

Код: SLAUGauss.cpp

Теоретическое обоснование: Gauss.doc

Исполняемый файл: SLAUGauss.exe.

Примеры использования (распечатка листинга):

Gauss'es method of LU.

Enter system dimension: 3

Enter 1 row: 10 1 1

Enter 2 row: 10 2 1

Enter 3 row: 10 2 2

L-matrix is:

1 0 0

1 1 0

1 1 1

U-matrix is:

10 1 1

0 1 0

0 0 1

Press "Enter" to continue...

Gauss'es method of LU.

Enter system dimension: 4

Enter 1 row: 2 6 1 4

Enter 2 row: 8 7 3 7

Enter 3 row: 6 1 2 3

Enter 4 row: 4 7 1 0

LU-decomposition for this matrix not found

Press "Enter" to continue...

// в матрице есть линейнозависимые строки ( сумма 1 и 3 строк равна 2 )

Gauss'es method of LU.

Enter system dimension: 4

Enter 1 row: 9 4 1 7

Enter 2 row: 4 6 3 6

Enter 3 row: 1 6 3 9

Enter 4 row: 7 3 5 0

L-matrix is:

1 0 0 0

0.444444 1 0 0

0.111111 1.31579 1 0

0.777778 -0.0263158 -9.05556 1

U-matrix is:

9 4 1 7

0 4.22222 2.55556 2.88889

0 0 -0.473684 4.42105

0 0 0 34.6667

Press "Enter" to continue...