Семинар 3 Матричное уравнение Ляпунова. I
A - матрица размера n x n, неизвестной является матрица H размера n x n. Уравнение (1) является частным случаем уравнения Сильвестра при Матричное уравнение Ляпунова (1)
Предположим, что спектр матрицы A лежит в левой полуплоскости Тогда выполнено условие, при котором уравнение Сильвестра однозначно разрешимо. Действительно, спектры матриц A и (-A*) не пересекаются. Вывод: Можно находить решение уравнения Ляпунова (1), используя вычислительные алгоритмы для решения уравнения Сильвестра. Матричное уравнение Ляпунова (1)
В § 4 был доказан критерий принадлежности матричного спектра левой полуплоскости Теорема. Спектр матрицы A принадлежит левой полуплоскости тогда и только тогда, когда существует эрмитово положительно определенное решение H уравнения (1). Это результат является очень важным с вычислительной точки зрения, поскольку задача об отыскании спектра неэрмитовых матриц является плохо обусловленной. Матричное уравнение Ляпунова (1)
Вывод: Используя уравнение Ляпунова (1), можно исследовать принадлежность спектра матрицы A левой полуплоскости, не вычисляя собственные значения. Более того, для собственных значений матрицы A имеет место оценка Матричное уравнение Ляпунова (1)
Цели: 1.Используя вычислительные алгоритмы для уравнения Сильвестра, найти решение уравнение Ляпунова (1). Провести сравнительный анализ решений, полученных с использованием различных пакетов. 2.На различных примерах убедиться насколько по существу условие на спектр матрицы A, как зависит норма решения уравнения Ляпунова (1) от близости собственных значений матрицы A к мнимой оси, от структуры матрицы A. Матричное уравнение Ляпунова (1)
Упражнение. Пусть A – матрица размера 2 x 2, собственные значения, которой равны 1 и -2. Используя вычислительные алгоритмы для уравнения Сильвестра, рассмотренные на прошлых семинарах, найти решение уравнение Ляпунова. Результат: Решение H посчитано, хотя одно собственное значение лежит в правой полуплоскости. Вопрос: Как полученный результат согласуется с критерием принадлежности матричного спектра левой полуплоскости ? Ответ: Полученное решение H не является положительно определенным, что требуется в критерии. Матричное уравнение Ляпунова (1)
Вывод: Чтобы использовать вычислительные алгоритмы для уравнения Сильвестра, рассмотренные на прошлых семинарах, при исследовании принадлежности спектра матрицы A левой полуплоскости, в алгоритме дополнительно должна быть предусмотрена проверка положительной определенности решения H уравнение Ляпунова (1). Ниже прилагается пример программы для Maple. Матричное уравнение Ляпунова (1)
Пример программы (Maple) Задается матрица A так, чтобы можно было следить за ее спектром: with(LinearAlgebra): DA:=, >;TA:=, >; detTA:=Determinant(TA); condTA:=ConditionNumber(TA); A:=TA.DA.MatrixInverse(TA); B:=HermitianTranspose(-A): Y:=-IdentityMatrix(2):
Нахождение решения уравнения Ляпунова, как частного случая уравнения Сильвестра, проверка найденного решения на положительную определенность, вычисление невязки. H:=Matrix(2,2,symbol=h): Y1:=H. A-B.H: sys:=[Y1[1,1]=Y[1,1],Y1[1,2]=Y[1,2],Y1[2,1]=Y[2,1],Y1[2,2]=Y[2,2]]: var:=[h[1, 1],h[1, 2],h[2, 1],h[2, 2]]: (HH, f) := GenerateMatrix( sys, var ): condHH:=ConditionNumber(HH): h_sol:=Vector(LinearSolve(HH,f)): H_sol:=(, >); if (IsDefinite(H_sol)=false) then printf("H_sol is not positive definite") else Norm_H_sol:=evalf(MatrixNorm(H_sol,2)); MatrixNorm(Y-H_sol. A+B.H_sol,2);end if;