MATLAB: много матричных инверсий быстрее - PullRequest
0 голосов
/ 21 июня 2019

Предположим, у меня есть многомерный массив X, размер которого A x A x B. Здесь я предполагаю, что B равен 100 или 1000, а A мало, например 4 или 8. Затем я хочу вычислить Y, размер которого такой же, как у X, и Y [:,:, b] = inv (X [:,:, b]), быстрее , чем у меня с циклом for. Например, в Python пакет Numpy предоставляет numpy.linalg.inv (), который может вычислять обратную матрицу быстрее, чем наивный цикл for (конечно, это связано с медленностью цикла for в Python).

A = 4;
B = 1000;
X = rand(A, A, B);
Y = zeros(A, A, B);
for b = 1:B
    Y(:,:,b) = inv(X(:,:,b));
end

Z = ...             % somehow I want get this faster

sum(abs(Y(:)-Z(:))) % so that this is small enough
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...