Как переопределить столбцы/строки матрицы с помощью Jeigen (по сравнению с EJML)

Я использую Jeigen для представления матриц в Java (Jeigen — это оболочка для Eigen). Библиотека быстрая и простая, но мне не хватает одной интересной функции. Насколько я вижу, Jeigen не поддерживает обмен столбцами или строками (например, операцию над столбцом, а затем замену столбца новыми значениями). Jeigen поддерживает только настройку отдельных записей.

Есть ли у кого-нибудь эффективный обходной путь для этого? Установка каждого значения в столбце неэффективна (особенно если столбец большой).

В качестве альтернативы, возможно, EJML поддерживает это. Но с EJML у меня проблема, что невозможно легко и быстро преобразовать SimpleMatrix в одномерный массив.


person BlackHawk    schedule 13.02.2016    source источник


Ответы (1)


EJML внутренне хранит матрицу в виде одномерного массива. Например:

DenseMatrix64F A = new DenseMatrix64F(10,12);
A.data <-- is a 1D array that stores the 10x12 matrix in row-major format.

Таким образом, получить одномерный массив из EJML тривиально.

person lessthanoptimal    schedule 09.01.2017