Мне нужно сделать матричное/векторное умножение в Matlab очень больших размеров: «A» - это 655360 на 5 матриц с действительными значениями, которые не обязательно являются разреженными, а «B» - это 655360 на 1 действительный вектор. Мой вопрос заключается в том, как эффективно вычислить: B'*A.
Я заметил небольшое улучшение времени, вычислив вместо этого A'*B, что дает вектор-столбец. Но все равно он довольно медленный (мне нужно несколько раз проделать эту операцию в программе).
Немного поискав, я нашел интересный набор инструментов Matlab MTIMESX Джеймса Турсы, который, как я надеялся, улучшит приведенную выше производительность матричного умножения. После нескольких испытаний я могу получить лишь очень незначительный выигрыш по сравнению с собственным матричным умножением Matlab.
Любые предложения о том, как мне переписать A'*B, чтобы операция была более эффективной? Спасибо.