Eigen допускает тонкий SVD только для динамического числа столбцов в матрице A - PullRequest
0 голосов
/ 15 мая 2018

Я вычисляю SVD матрицы, используя библиотеку Eigen.

Eigen::Matrix<double, Eigen::Dynamic, 6> A(points*2, 6);
Eigen::Matrix<double, Eigen::Dynamic, 1> b(points*2);
// fill the matrices
// ...
Eigen::Matrix<double, 6, 1> hVec;
hVec = A.bdcSvd(Eigen::ComputeThinU | Eigen::ComputeThinV).solve(b);

Однако, запускаются следующие утверждения:

SVDBase: доступны только тонкие U и Vкогда ваша матрица имеет динамическое число столбцов.

В чем причина запрета известных параметров времени компиляции в этом случае?Разве я не вижу что-то в математике за проблемой SVD?Или это ограничение / ошибка в Eigen?

Конечно, я мог бы преобразовать матрицу, чтобы иметь число столбцов во время выполнения, но это запретило бы возможные оптимизации, достигнутые путем указания констант времени компиляции, когда ониизвестны.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...