У меня есть две матрицы, a 2000 на 20000, b тоже 2000 на 20000. Я хочу получить диагональные элементы a'*b
. Я использовал diag(a'*b)
, но он очень медленный (около 20 секунд), так как вычисление недиагональных элементов требует времени. Мне интересно, есть ли более быстрые способы сделать это.
Я заметил, что люди делают что-то вроде sum((T*H).*T',2)
, вот ссылка. Но требуется, чтобы T была квадратной матрицей. Как насчет неквадратной матрицы в моем случае?
Спасибо