Создание nd-матриц в Eigen с использованием массивов или векторов - PullRequest
0 голосов
/ 29 июня 2019

Я столкнулся с проблемой при работе с Eigen в C ++.Eigen не поддерживает n-мерные матрицы (кроме неподдерживаемого класса Tensor, который на самом деле не является опцией).Что мне нужно, так это динамически распределенный тензор 4 ранга.Теперь у меня есть два варианта:

  1. Использование std::vector<std::vector<Eigen::MatrixXd>>>, что кажется плохой идеей, потому что каждый вектор будет выделять свою память (где-то) и, следовательно, он не будет действительно эффективным,

  2. Использование динамически размещаемого 2d-массива внутри std::unique_ptr, потому что я не хочу вручную освобождать указатель.Недостатком этого является то, что в настоящее время обычно не следует использовать массивы, заключенные в std:unique_ptr, потому что для динамически размещаемых массивов у нас есть std::vector.

Может кто-тодать мне подсказку в правильном направлении или предложить другой подход?

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