我现在在课程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
。