scala - 在 Spark 中求解线性方程组

标签 scala matrix apache-spark

我有一个 Ax = b 形式的线性方程组要在 Spark 中求解。

An 乘 n

bn 乘以 1

我以IndexedRowMatrixRowMatrix的形式表示A,以的形式表示b DenseMatrixDenseVector

如何解决这个系统来计算 x 向量?

如果建议的解决方案是Cholesky Decomposition ,请您指导我完成它,因为它不是公共(public) 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 之外的任何其他解决方案都会非常有帮助。

最佳答案

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

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

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

干杯!

关于scala - 在 Spark 中求解线性方程组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39888170/

相关文章:

Matlab:将向量添加到矩阵

r - 从较小的矩阵创建一个更大的矩阵

scala - Spark Scala 代码读取 DSX 中的 aws s3 存储

scala - 驱逐 sbt 中的特定传递依赖

algorithm - 避免矩阵算法中的位置冲突

python - 如何在 Spark 的 RDD 中跳过一行以上的标题

apache-spark - 如果后缀出现在 DataFrame 的字符串列上,则删除后缀

python - Pyspark 中的向量汇编器正在创建多个向量的元组而不是单个向量,如何解决这个问题?

scala - 如何展平 Try[Option[T]]

Scala、gremlin-scala、HLists、Poly2、RightFold 和缺失的隐式 Prepend