У меня есть плотный вектор VectorXd b
и разреженная матрица SparseMatrix<double> A
(хранится в сжатом виде). Я знаю, что Eigen позаботится о правильном выравнивании памяти для b
и A
, чтобы использовать инструкции SSE или AVX. Теперь мне нужно использовать карту для b
и A
, то есть:
Map<VectorXd> b_map;
Map<SparseMatrix<double>> A_map;
Я бы хотел получить те же самые исполнения, используя b_map
и A_map
вместо b
и A
, так что я думаю, что я должен указать правильное выравнивание памяти. Для вектора я мог бы использовать:
Map<VectorXd,AlignedXY> b_map( b.data(), n );
, но нет никакого эквивалентного выбора для разреженной матрицы. Почему? Как я могу установить значение AlignedXY
с тем же выравниванием памяти, которое использовалось для b
?