Решение систем линейных уравнений

Теория

Полученные выше результаты можно распространить на системы линейных уравнений вида

где все элементы aij, 1 ≤ i ≤ n, 1 ≤ j ≤ n, и bi, 1 ≤ i ≤ n, суть элементы некоторого замкнутого полукольца, и речь идет о решении системы (3.16) в этом полукольце.

Для этого введем в рассмотрение множество Mm×n(S) прямоугольных матриц типа тхпс элементами из произвольного идемпотентного полукольца S = (S,+,⋅,0,1). Множество всех квадратных матриц порядка п с элементами из полукольца S обозначим Mn(S). Через Matr(S) обозначим множество всех матриц любого типа с элементами из S.

Операции сложения и умножения матриц определяют точно так же, как и в числовом случае [III], — с учетом того, что сложение и умножение элементов матриц понимаются в смысле данного идемпотентного полукольца S, а именно:

1) суммой матриц А = (аij) и В = (bij) типа m×n называют матрицу С = (cij) того же типа с элементами сij = aij + bij, i = 1, m, j = 1,n, и используют обозначение С = А + В;

2) произведением АВ матриц А = (аij) типа m×n и B = (bij) типа n×p называют матрицу С = (cij) типа m×p с элементами

На множестве Mn(S) всех квадратных матриц фиксированного порядка n можно определить алгебру

Mn(S) = (Mn(S) , +, ⋅, O, E).

Теорема 3.8. Алгебра Mn(S) есть идемпотентное полукольцо. Если полукольцо S замкнуто, то полукольцо Mn(S) тоже замкнуто.

Операции суммы и произведения матриц определены таким образом, что все свойства операций сложения и умножения в полукольце сохраняются и для соответствующих операций над матрицами. Поэтому для суммы и произведения матриц из Mn(S) выполнены аксиомы полукольца, и, кроме того, опера- операция сложения матриц идемпотентна. Следовательно, Mn(S) — идемпотентное полукольцо.

Выясним смысл отношения порядка в этом идемпотентном полукольце. В силу определения естественного порядка идемпотентного полукольца неравенство А ≤ В для матриц А и В означает, что А + В = B, или для всех i, j справедливо aij + bij = bij. Следовательно, А ≤ В тогда и только тогда, когда для всех i, j справедливо aij ≤ bij.

Пусть S — замкнутое полукольцо. Докажем замкнутость идемпотентного полукольца Mn(S) и существование точной верхней грани у любой последовательности матриц в Mn(S).

Пусть {Аm}m∈ℕ — произвольная последовательность квадратных матриц Аm = (аmij) порядка n. Рассмотрим матрицу . Каждый элемент этой матрицы есть точная верхняя грань последовательности элементов аmij. Эти точные верхние грани существуют, поскольку аmij — элементы замкнутого полукольца S. Так как сложение матриц и отноше- отношение порядка в полукольце матриц определяются поэлементно, то матрица В и будет точной верхней гранью последователь- последовательности матриц Аm.

Докажем теперь непрерывность умножения в Mn(S), т.е. что для любой последовательности {Аm}m∈ℕ матриц и произвольной матрицы В имеет место

B ∑ Am = ∑ (B Am ).

Матрица С = (сij) = ∑ Am есть точная верхняя грань последовательности {Аm}m∈ℕ. Тогда имеем

Элемент сkj есть точная верхняя грань последовательности {аmkj}m∈ℕ элементов матриц Аm, т.е.

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

Следовательно,

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

Аналогично доказывается, что (∑ Am) B = ∑ (AmB).▶

Полукольцо Мn(S) будем называть полукольцом матриц над полукольцом S. Доказанная теорема позволяет нам применять к замкнутым полукольцам матриц над некоторым замкнутым полукольцом S теорему 3.7 и решать произвольные уравнения вида

Х = АХ + В    (3.17)

или

Х = ХА + В    (3.18)

относительно неизвестной матрицы X.

Наименьшие решения этих уравнений есть

X = А* В    (3.19)

и

Х = ВА*    (3.20)

соответственно, где А* — итерация матрицы А в Mn(S). Итерация А* матрицы А играет в теории линейных уравнений в замкнутых полукольцах такую же роль, как обратная матрица в классической линейной алгебре.

Основную роль при решении задач теории ориентированных графов и теории формальных языков играют праволиней- ные уравнения вида (3.17), поэтому мы будем, как правило, рассматривать только их. Леволинейное уравнение (3.18) может быть проанализировано аналогично.

Мы доказали существование решений матричных уравнений в матричном полукольце над замкнутым полукольцом. Теперь нам необходимо разработать технику поиска их решений и применить ее к решению систем вида (3.16).

Полагая, что ξj — j-й столбец матрицы X, a βj — j-й столбец матрицы В, уравнение (3.17) можно переписать как систему уравнений относительно неизвестных столбцов матрицы X:

ξj = Aξj + βj, 0 ≤ j ≤ n. (3.21)

Каждая система вида (3.21) есть матричная форма записи указанной выше системы (3.16). Поэтому наименьшее решение этой системы, как следует из (3.19), есть

ξj = А* βj. (3.22)

Для поиска решения системы вида (3.21) можно воспользоваться методом последовательного исключения неизвестных, аналогичным классическому методу Гаусса.

Поскольку система уравнений вида (3.16) имеет решение, мы можем подставить его в систему и работать с уравнениями как с тождествами.

Рассмотрим процедуру решения системы уравнений (3.16). Запишем первое уравнение системы так:

х1 = a11x1 + (a12x2 + ... + a1nxn + b1).

Из первого уравнения системы выразим х1 через остальные неизвестные, воспользовавшись формулой (3.14):

х1 = a*11 (a12x2 + ... + a1nxn + b1).    (3.23)

В формуле (3.23) выражение в скобках не содержит неизвестного х1. Подставляя (3.23) вместо х1 в остальные уравнения, получаем систему из n - 1 уравнений, которая уже не содержит х1:

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

Первое уравнение этой системы перепишем так:

x2 = (a21a*11a12 + a22) x2 + γ2,

где

γ2 = a21a*11  (a13x3 + ... + a1nxn +b1) + a23x3 + a23x3 + ... + a2nxn + b2.

Заметим, что γ2 не содержит x1 и x2. Воспользовавшись соотношением (3.14), будем иметь

x2 = α*2 γ2,   (3.26)

где α2 = a21a*11 a12 + a22 не содержит неизвестных. Используя полученное выражение, исключаем x2 из остальных уравнений.

Действуя подобным образом, на i-м шаге (1 ≤ i ≤ n) получаем

xi = α*i γi,    (3.27)

где выражение α*i  не содержит неизвестных, а выражение γi может содержать только неизвестные, начиная с (i + 1)-го, т.е. xi+1, ..., xn.

При i = n имеем

xn = α*i γn,     (3.28)

где выражения α*i и γn не содержат неизвестных. Таким образом, исходная система (3.16) преобразована к "треугольному" виду: правая часть уравнения (3.28) не содержит неизвестных, уравнение (3.27) при i = n - 1 в правой части содержит только одно неизвестное xn-1 и каждое следующее уравнение при просмотре „снизу вверх" на одно неизвестное больше, чем предыдущее. Первое уравнение системы — уравнение (3.23) — в правой части содержит все неизвестные от x2 до хn. На этом завершается первый этап алгоритма, который называют прямым ходом метода Гаусса.

Второй этап алгоритма, называемый обратным ходом метода Гаусса, состоит в последовательном нахождении значения всех неизвестных х1, ..., xn-1 начиная с xn-1. Подставив в выражение для хn-1 вместо xn правую часть (3.28), найдем xn-1. Затем определим xn-2, подставив полученные значения xn и xn-1 в правую часть выражения (3.27) при i = n - 2, и так далее до тех пор, пока не найдем x1.

Замечание 3.2. Положив В = Е в уравнении (3.17), получим X = А*Е = А*. Таким образом, чтобы вычислить итерацию матрицы А, достаточно решить матричное уравнение (3.21) для всех j = 1, n при βj, равном j-му столбцу единичной матрицы Е.

Пример 3.6. Проиллюстрируем приведенную схему решения системы из двух линейных уравнений. Имеем

Из первого уравнения выразим x1:

x1 = a*11  (a12x2 + b1).

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

x2 = (a21a*11  a12 + a22)*(a21a*11  b1 + b2).

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

x1 = a*11  (a12(a21a*11  a12 + a22)*(a21a*11  b1 + b2) + b1).

Особенно просто решение выглядит в случае тривиальной итерации, т.е. тогда, когда в полукольце итерация любого элемента равна единице полукольца (как в полукольцах В, R+, Sa, S[a,b]). В этом случае для системы из двух уравнений решение равно

x1 = a12 (a21b1 + b2) + b1,

x2 = a21ba1 + b2.

Пример 3.7. Рассмотрим в полукольце S[0,1](см. пример З.З.г) систему линейных уравнений

Решим эту систему уравнений, следуя общему алгоритму. Из первого уравнения получаем

х1 = 0,5* (0,4x2 + 0,2) = 1(0,4x2 + 0,2) = 0,4х2 + 0,2.

Далее,

х2 = 0,3(0,4x2 + 0,2) + 0,9x2 + 0,6 = 0,Зх2 + 0,2 + 0,9х2 + 0,6.

Отсюда х2 = (0,3 + 0,9)х2 + 0,6 = 0,9х2 + 0,6 = 0,9*0,6 = 0,6.

Подётавляя x2 = 0,6 в полученное вьражение для х1, находим, что

х1 = 0,4 ⋅ 0,6 + 0,2 = 0,4 + 0,2 = 0,4. #

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

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

Рассматривая в полукольце с итерацией произвольное линейное уравнение, т.е. уравнение вида (3.12) или (3.13), получаем следующие результаты. Во-первых, это уравнение имеет наименьшее решение, так как полукольцо с итерацией содержится в некотором замкнутом полукольце в качестве кольца. Во-вторых, это наименьшее решение снова окажется в этом же полукольце, поскольку носитель полукольца с итерацией замкнут относительно итерации. Таким образом, носитель полукольца S с итерацией замкнут относительно операции нахождения наименьшей неподвижной точки любого линейного отображения ах + b (или ха + b), где а и b — элементы S.

Не составляет труда распространить этот результат на произвольные матричные уравнения. Можно доказать следующее утверждение.

* Полукольцо Q= (Q, +, ⋅, 0, 1) называют подполукольцом полукольца R= (R, +, ⋅, 0, 1), если множество Q есть подмножество множества R, замкнутое относительно операций сложения и умножения полукольца R, а также содержащее нуль и единицу полукольца R.

Теорема 3.9. Если А — матрица, все элементы которой принадлежат некоторому полукольцу с итерацией, то все элементы ее итерации А* также принадлежат этому полукольцу с итерацией.