Как эффективно умножить вектор на транспонированную разреженную матрицу в собственном?C++

Программы на C++. Форум разработчиков
Anonymous
Как эффективно умножить вектор на транспонированную разреженную матрицу в собственном?

Сообщение Anonymous »

Я имею с редкой матрицей a и вектором x в собственном, и мне нужно выполнить следующую транспонированную матрицу × матрица × векторная операция: t ax . Это можно разложить на два умножения матрицы-вектора: y = ax , за которым следует a t y . Первый прост, но я не знаю, как сделать второй без явной конструкции a t . Я могу написать что -то как: < /p>

Код: Выделить всё

y = A.transpose() * A * x;
Однако, похоже, что A.TransPose () явно конструкции a t в памяти, что не будет эффективно для больших матриц. Матрица, чем a сама.
Вопрос: есть ли как умножить вектор на транспонированную разреженную матрицу в собственном.>

Подробнее здесь: https://stackoverflow.com/questions/795 ... x-in-eigen

Вернуться в «C++»