我现在在课程DenseMatrix of Spark上工作。如果将其转换回数组,则可以更改矩阵中的值。一些示例代码:

DenseMatrix TestMatrix = new DenseMatrix(n, m, someInputArray);
...
double[] Test = TestMatrix.toArray();
Test[0] = 5;
DenseMatrix TestMat = new DenseMatrix(n, m, Test);


是否可以替换初始矩阵中的值而无需将其转换回数组?抱歉,如果我忽略了API中的某些内容...

一些补充说明:

TestMatrix.apply(0,0) = 5;


不起作用

最佳答案

在Java中,您可以通过更改矩阵

matrix.update(0, 0, 5);


但是,在Scala中这是不可能的。此处update方法设置为private[mllib],因此无法访问。我假设包private修饰符不能正确转换为Java,因此即使在Scala中它是不可变的,您也可以更改DenseMatrix

08-05 13:35