java - ojAlgo:切片或提取子矩阵

标签 java slice linear-algebra submatrix ojalgo

在 java 库 ojAlgo 中,如何对矩阵进行切片或从现有矩阵中提取子矩阵?

例如, 矩阵 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]].

我尝试了 SparseStore 中的 slice 方法,但它没有按我的预期工作。

最佳答案

“切片”方法总是返回一维的东西。您可以切出索引范围、行、列、对角线......

如果您想要矩阵的 subview ,可以这样做:

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

或者用你的例子,因为原始矩阵是 3x3,所以就足够了:

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

关于java - ojAlgo:切片或提取子矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50055422/

相关文章:

Java JDBC mysql 连接池

go - 在 Go slice 中,为什么 s[lo :hi] end at element hi-1?

pointers - Go 中的函数返回一个新的 slice 或指向第一个 slice 的底层数组的 slice ?

python - pytorch 广播是如何工作的?

python - tensorflow 中补丁的点积

java - 我做错了什么让我的应用程序在启动时运行?

java - 对于字符类型,方法 isDefined(char) 未定义

JAVA 10+ -XX :MaxRAMPercentage flag in Kubernetes container

go - 嵌套结构中的访问字段

使用 OpenMP 进行 Cholesky 分解