неявное матричное уравнение в MATLAB - PullRequest
0 голосов
/ 18 августа 2011

У меня есть два матричных уравнения, которые мне нужно решать одновременно. Я использую MATLAB. Они в форме

XAY = С1;

YAX = С2;

где все переменные являются квадратными матрицами (в настоящее время 2x2), A, C1, C2 все известны, и я решаю для X и Y. A является диагональным, X и Y являются ортогональными. Я понятия не имею, как это сделать (численно или иначе). Любая помощь очень ценится.

1 Ответ

0 голосов
/ 18 августа 2011

Не уверен, что это правильное место для вопросов по математике!

В любом случае, я не думаю, что есть решение, поскольку у вас есть уравнения
XAY = C1
YAX = C2
Y.t Y = I
X.t X = I
(где .t - транспонирование, тождество).Последние два уравнения являются ортогональностью X и Y.

Написано в компонентах: первые два соответствуют n ^ 2 уравнениям каждое, вторые два меньше 2 * n ^ 2, но все еще больше 2 *n (поскольку есть некоторые вырожденные компонентные уравнения).Таким образом, у вас есть 2 * n ^ 2 неизвестных, но более 2 * n ^ 2 уравнений, то есть переопределенная система.Но, может быть, я чего-то упускаю.

Если вы отбросите требование ортогональности, обычно должно быть уникальное решение.Однако это система нелинейных уравнений, которую вы можете попытаться решить с помощью функции Matlab fsolve (в панели инструментов оптимизации).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...