[ https://issues.apache.org/jira/browse/SPARK-10875?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14935837#comment-14935837 ]
Apache Spark commented on SPARK-10875: -------------------------------------- User 'pnpritchard' has created a pull request for this issue: https://github.com/apache/spark/pull/8940 > RowMatrix.computeCovariance() result is not exactly symmetric > ------------------------------------------------------------- > > Key: SPARK-10875 > URL: https://issues.apache.org/jira/browse/SPARK-10875 > Project: Spark > Issue Type: Bug > Components: MLlib > Affects Versions: 1.5.0 > Reporter: Nick Pritchard > Priority: Minor > > For some matrices, I have seen that the computed covariance matrix is not > exactly symmetric, most likely due to some numerical rounding errors. This is > problematic when trying to construct an instance of {{MultivariateGaussian}}, > because it requires an exactly symmetric covariance matrix. See reproducible > example below. > I would suggest modifying the implementation so that {{G(i, j)}} and {{G(j, > i)}} are set at the same time, with the same value. > {code} > val rdd = RandomRDDs.normalVectorRDD(sc, 100, 10, 0, 0) > val matrix = new RowMatrix(rdd) > val mean = matrix.computeColumnSummaryStatistics().mean > val cov = matrix.computeCovariance() > val dist = new MultivariateGaussian(mean, cov) //throws > breeze.linalg.MatrixNotSymmetricException > {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332) --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@spark.apache.org For additional commands, e-mail: issues-h...@spark.apache.org