Эффективная работа на блочно-диагональных матрицах в MATLAB - PullRequest
0 голосов
/ 22 мая 2018

Я ищу эффективную реализацию следующей операции в MATLAB.

Предположим, что есть A = blkdiag(A_1,...,A_i,...,A_n) и B = blkdiag(B_1,...,B_i,...,B_n).Предположим, что есть некоторая функция из двух блоков f(A_i,B_i) и выходной переменной F = blkdiag(f(A_1,B_1),...,f(A_i,B_i),...,f(A_n,B_n)).Поэтому я прошу вашей помощи о том, как выполнить эту задачу без использования циклов.

В моем случае f(A_i,B_i) = U'*kron(A_i,B_i)*U' для некоторой матрицы U и n составляет около 100. Блоки A_i и B_i имеют одинаковый размер для всех я.Будем благодарны за любую помощь.

...