我有一个Ax = b
形式的线性方程组,可以在Spark中解决。
A
是n by n
b
是n by 1
我以A
或IndexedRowMatrix
和RowMatrix
的形式代表b
,DenseMatrix
或DenseVector
。
如何解决此系统以计算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
之外的任何其他解决方案都会非常有用。
答案 0 :(得分:0)
我不知道该问题是否仍然与您有关,但是该问题的另一种解决方案是将系数矩阵求逆,然后将求逆的矩阵乘以向量b。矩阵求逆算法有很多。可以在以下论文中找到一种这样的算法
SPIN: A Fast and Scalable Matrix Inversion Method in Apache Spark
您也可以在GitHub link上找到完整的代码。
干杯!