Как переопределить столбцы / строки матрицы с Jeigen (против EJML)
Я использую Jeigen для представления матриц в Java (Jeigen - оболочка для Eigen). Библиотека быстрая и простая, но мне не хватает одной классной функции. Насколько я вижу, Jeigen не поддерживает обмен столбцами или строками (например, операция над столбцом, а затем замена столбца новыми значениями). Jeigen поддерживает только настройку отдельных записей.
У кого-нибудь есть эффективный обходной путь для этого? Установка каждого значения в столбце неэффективна (особенно, если столбец большой).
В качестве альтернативы, возможно, EJML поддерживает это. Но с EJML у меня проблема в том, что невозможно просто и быстро преобразовать SimpleMatrix в одномерный массив.
1 ответ
EJML хранит матрицу как одномерный массив. Для примера:
DenseMatrix64F A = new DenseMatrix64F(10,12);
A.data <-- is a 1D array that stores the 10x12 matrix in row-major format.
Таким образом, тривиально получить одномерный массив из EJML.