Я нахожу синтаксис Эйгена более громоздким, чем другие библиотеки числовых линейных алгебр, с которыми я работал: numpy, MATLAB и armadillo. Поэтому я пишу кучу «вспомогательных» функций, расширяя синтаксис Эйгена. (См. an earlier question of mine)Расширение Eigen с лучшим синтаксисом/наименованием
Мой вопрос в том, что еще не сделано?
Я знаю, что libigl have added some MATLAB-esque function s, но мне интересно, есть ли еще?
Я стараюсь не изобретать колесо здесь.
Приведем несколько примеров:
swap_rows(i, j)
, swap_cols(i, j)
, reshape
, коэффициент-накрест функции, такие как abs
, log
и т.д.
Я пытаюсь написать код более читаемым.
Спасибо, но я не говорю, что вещей там нет. Я говорю, что синтаксис непривлекателен. Я не могу быть первым человеком, который не хочет писать 'myvec.array(). Abs()', когда это может быть просто 'abs (myvec)'. То же самое для 'swap': мне гораздо труднее разобрать' A.row (i) .swap (A.row (j)) ', чем' A.swap_rows (i, j) 'или даже' swap_rows (A , i, j). Я ищу тонкий слой приятного синтаксиса, созданного на вершине Эйгена. –
@krey 'myvec.cwiseAbs()' будет лучше. О '.abs()' vs. 'abs (...)', я предпочитаю первый, так как он объектно-ориентирован. 'A.row (i) .swap (...)' также объектно-ориентированный (начиная с объекта 'A', а не из команды' swap'). Он также может заменять любой вектор '...', а не только еще одну строку. В принципе, я думаю, вы не можете сказать, чей синтаксис лучше. Вы можете только сказать, чей синтаксис больше похож на Matlab. – kangshiyin
ОК, так что я ищу что-то, что заставляет его больше походить на MATLAB;) –