求解Spark中的线性方程组

时间:2016-10-06 05:28:43

标签: scala matrix apache-spark

我有一个Ax = b形式的线性方程组,可以在Spark中解决。

An by n

bn by 1

我以AIndexedRowMatrixRowMatrix的形式代表bDenseMatrixDenseVector

如何解决此系统以计算x向量?

如果建议的解决方案是Cholesky Decomposition,您是否可以指导我完成它,因为它不是公共API的一部分?例如,如果原始矩阵A是:

1,2,3,4
2,1,5,6
3,5,1,7
4,6,7,1

b是:

5,6,7,8

什么作为参数传递给solve方法?

除了反转A之外的任何其他解决方案都会非常有用。

1 个答案:

答案 0 :(得分:0)

我不知道该问题是否仍然与您有关,但是该问题的另一种解决方案是将系数矩阵求逆,然后将求逆的矩阵乘以向量b。矩阵求逆算法有很多。可以在以下论文中找到一种这样的算法

SPIN: A Fast and Scalable Matrix Inversion Method in Apache Spark

您也可以在GitHub link上找到完整的代码。

干杯!