Re[3]: Решение матричного уравнения
От: denisko http://sdeniskos.blogspot.com/
Дата: 10.08.17 07:16
Оценка:
Здравствуйте, kfmn, Вы писали:

K>Здравствуйте, kov_serg, Вы писали:


_>>Здравствуйте, kfmn, Вы писали:


K>>>Возникла необходимость решения матричного уравнения следующего не вполне обычного вида:

K>>>\sum_{i} A_i*X*A_i^T = \sum_{i} B_i
K>>>Матрицы A_i, B_i — известные, X — искомая, все квадратные NxN. Понятно, что
K>>>1) сумму B_i можно посчитать заранее, но, возможно, эта исходная форма в виде суммы способна чему-то помочь...
K>>>2) матрицу X можно вытянуть в вектор, и тогда получается одна длинная линейная система с размером N^2. Но ее решать, соответственно, намного дольше, да и составлять заколебешься.
_>>И в чем проблемма тут и есть N*N уравнений

K>Ну,я просто подумал, что стандартный метод Гаусса для решения уравнения с матрицей NxN потребует порядка N^3 операций. Соответственно, в моем случае это выльется уже в N^6.

Не используй метод гаусс. В большинстве случае сопряженные градиенты (например https://pdfs.semanticscholar.org/466d/addfb6340c28cb8da548007028c8cc5df687.pdf) сойдутся гораздо быстрее.
K>А вдруг есть способы, скажем, свести это к набору из N (или даже N^2) уравнений с матрицами NxN относительно неких векторов, которые как-то связаны с искомой матрицей X, и восстановить ее по ним... Или еще что-нибудь, чтобы от 6-й степени перейти куда-то пониже...
Если норма одной матрицы сильно больше других можно использовать метод возмущений.
<Подпись удалена модератором>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.