【发布时间】:2015-11-19 01:31:18
【问题描述】:
我正在尝试使用ojAlgo 来解决Java 中的一些线性代数问题。我在问是否有任何“聪明”的方法来使用现有数组创建矩阵。
这是我幼稚的做法:
final double[][] myArray = {
{ 1.1, 1.2, 1.3, 1.4, 1.5 },
{ 2.1, 2.2, 2.3, 2.4, 2.5 },
{ 3.1, 3.2, 3.3, 3.4, 3.5 }
};
final Builder<PrimitiveMatrix> myBuilder = PrimitiveMatrix.getBuilder(myArray.length, myArray[0].length);
for (int i = 0; i < myArray.length; i++) {
for (int j = 0; j < myArray[0].length; j++) {
myBuilder.set(i, j, myArray[i][j]);
}
}
final PrimitiveMatrix myMatrix = myBuilder.build();
System.out.println(myMatrix);
这行得通,但是每次都做太麻烦了。我可以编写一个这样做的类,并在每次我想这样做时调用它,但我想知道是否有更简单的方法。
有没有更简单的方法?
【问题讨论】:
-
double[][] myArray不是矩阵吗? -
是吗?我可以以某种方式将它与其他矩阵相乘吗?
-
矩阵乘法有一定规律。
-
矩阵乘法和许多其他矩阵运算是线性代数的全部内容。由于这些操作太多,无法自己正确有效地处理,因此我下载了库 ojalgo(还有更多,但这是我最喜欢的一个)。这可能工作正常,但我在创建 ojalgo 认为的矩阵时遇到问题:PrimitiveMatrix。因此我的帖子。