ojAlgo: подматрица среза или извлечения

В библиотеке 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 ответ

Решение

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

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

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

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

matrix.logical().offsets(1, 1).get();
Другие вопросы по тегам