ojAlgo:切片或提取子矩阵

时间:2018-04-27 04:48:21

标签: java slice linear-algebra submatrix 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 个答案:

答案 0 :(得分:1)

"切片"方法总是返回1D的东西。您可以切出索引范围,行,列,对角线......

如果你想要一个矩阵的子视图,你可以这样做:

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

或者你的例子,因为原始矩阵是3x3,它足以做:

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