ojAlgo: подматрица среза или извлечения - PullRequest
0 голосов
/ 27 апреля 2018

В библиотеке Java ojAlgo, как я могу нарезать матрицу или извлечь субматрицу из существующей?

Например, matrix A = [[1,2,3],[4,5,6],[7,8,9]].

Я ищу метод, который выглядит как slice(a,b,c,d), где a, b - начальный и конечный индексы строк, а c, d - начальный и конечный индексы столбцов.

Например, если я позвоню A.slice(1,3,1,3), он должен вернуть [[5,6],[8,9]].

Я попробовал метод slice в SparseStore, но он не работает, как я ожидал.

1 Ответ

0 голосов
/ 27 апреля 2018

Методы "slice" всегда возвращают что-то 1D. Вы можете вырезать диапазон индекса, строку, столбец, диагональ ...

Если вы хотите получить подматрицу матрицы, вы можете сделать это следующим образом:

matrix.logical().limits(3, 3).offsets(1, 1).get();

или с вашим примером, так как исходная матрица 3x3, достаточно сделать:

matrix.logical().offsets(1, 1).get();
...