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

Я ищу эффективную реализацию следующей операции в 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 одинакового размера для всех я. Вся помощь будет оценена.

0 ответов

Другие вопросы по тегам