что делает метод rows ()?

В собственной документации, которая в целом довольно хороша, я вижу ссылки на rows() метод MatrixBase. В настоящее время я пытаюсь найти способ получить количество строк в матрице, не зная ориентации (строка / основной столбец) матрицы, поэтому было бы действительно удобно просто вызвать rows().

Но я нигде не могу найти это документально. Что это за метод? Что оно делает? Он просто возвращает Eigen::Dynamic для динамических матриц или знает количество строк?

Глядя на справочную страницу для MatrixBase, я вижу несколько упоминаний MatrixBase::rows(), но без ссылки .. . Любые идеи?


person quant    schedule 30.06.2014    source источник


Ответы (2)


Метод rows() действительно возвращает количество строк. Он определен в классе EigenBase, из которого MatrixBase является подклассом. Документация к нему находится на странице http://eigen.tuxfamily.org/dox/structEigenbdase885d03d03d03d3d3d3d3d3d3d3d3d3d3d3d8dbddddddddddddddddddddddddd3 . Один из способов найти это - ввести «строки» в поле поиска в правом верхнем углу документации Eigen, а затем щелкнуть «строки» во всплывающем окне; который открывает список rows() методов, определенных в библиотеке, включая EigenBase::rows().

В документации это не сказано явно, но метод rows() возвращает фактическое количество строк, определенное во время выполнения. Константа RowsAtCompileTime возвращает Dynamic для матриц динамического размера и количество строк для матриц статического размера.

Упоминания о MatrixBase::rows() в документации - это пережиток прошлого, который необходимо устранить. Спасибо за комплименты по поводу документации, но мы знаем, что ее можно улучшить.

person Jitse Niesen    schedule 30.06.2014

Итак, MatrixBase является производным от DenseBase, который, в свою очередь, является производным от DenseCoeffBase (с параметрами шаблона и т. Д.). Функция row () определена там: http://eigen.tuxfamily.org/dox/ structEigenMatrixBase1EigenBase.html # a5552abd83dbd03c85cea6d61fd8875a5

Doxygen сообщает, что функция возвращает «количество строк».

person hfhc2    schedule 30.06.2014